Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Operating Systems


1 reply to this topic

mnocom

mnocom
  • Members
  • 6 posts

Posted 04 January 2002 - 04:01

GetSystemInfo(OS, iResult, szResult) returns the Operating System. If iResult returns WIN95, I use GetSystemInfo(WINMINOR, iOSMinor, szOSMinor) to differentiate WIN95 (iOSMinor<10) and WIN98 (otherwise). If it returns WINNT, I use GetSystemInfo (WINMAJOR, iOSMajor, szOSMajor)  to differentiate NT4 (iOSMajor=4) and 2000 (iOSMajor>4).

Here's the question, does InstallShield 5.53 recognize WIN98 ME and WIN XP? How will I differentiate WIN95, WIN98, and WIN98 ME? Also, how will I differentiate NT, 2000, XP?

Thanks in advance!


Perotin

Perotin
  • Full Members
  • 407 posts

Posted 04 January 2002 - 14:17

Why don't you use the IS5/6 Samples section ???

Have a look at
http://www.installsi...s/en/isp_os.htm
http://www.installsi...011/default.htm

InstallShield knowledge base has info too!

btw: XP is Windows NT 5.1

and some code piece

Code Sample
GetSystemInfo( OS, nOS, sOS ); // Win9x or NT-Family?
GetSystemInfo( WINMAJOR, nWinMajor, svWinMajor );  //Windows 3.x, 4.x oder 5.x ???
GetSystemInfo( WINMINOR, nWinMinor, svWinMinor );

if( nOS = IS_WINDOWSNT ) then
 switch( nWinMajor )
   case 3:  bIsWindowsNT351 = TRUE;
   case 4:  bIsWindowsNT4 = TRUE;
            bIsShellExplorer = TRUE;
          GetNTServicePack();
   case 5:  if( nWinMinor = 0 ) then bIsWindows2000 = TRUE;
          elseif( nWinMinor = 1 ) then bIsWindowsXP = TRUE;
            endif;
          bIsShellExplorer = TRUE;
          GetNTServicePack(); // find at IS5/6 Samples ...
   default:  MessageBox( szNoOS, SEVERE );
            return -1;
 endswitch;
elseif( nOS = IS_WINDOWS9X ) then
 bIsShellExplorer = TRUE;
 if( nWinMinor >= 90 ) then
   bIsWindowsME = TRUE;
 elseif( nWinMinor >= 10 ) then
   VerGetFileVersion( WINSYSDIR ^ "kernel32.dll", svResult );
   if( VerCompare( svResult, "4.90.0.0", VERSION ) = LESS_THAN ) then
     bIsWindows98 = TRUE;
   else
     bIsWindowsME = TRUE;
   endif;
 else
   bIsWindows95 = TRUE;
 endif;
else
 MessageBox( szNoOS, SEVERE ); // no supportes OS found ...
 return -1;
endif;