;--------------------------------

Function GetWindowsVersion
 
   Push $R0
   Push $R1
 
   ReadRegStr $R0 HKLM \
   "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion

   IfErrors 0 lbl_winnt
   
   ; we are not NT
   ReadRegStr $R0 HKLM \
   "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
 
   StrCpy $R1 $R0 1
   StrCmp $R1 '4' 0 lbl_error
 
   StrCpy $R1 $R0 3
 
   StrCmp $R1 '4.0' lbl_win32_95
   StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
 
   lbl_win32_95:
     StrCpy $R0 '95'
	MessageBox MB_OK '95'
   Goto lbl_done
 
   lbl_win32_98:
     StrCpy $R0 '98'
	MessageBox MB_OK '98'
   Goto lbl_done
 
   lbl_win32_ME:
     StrCpy $R0 'ME'
	MessageBox MB_OK 'me'
   Goto lbl_done
 
   lbl_winnt:
 	MessageBox MB_OK 'winnt' ;this message is never popped up on win2k ;*****
   StrCpy $R1 $R0 1
 
   StrCmp $R1 '3' lbl_winnt_x
   StrCmp $R1 '4' lbl_winnt_x
 
   StrCpy $R1 $R0 3
 
   StrCmp $R1 '5.0' lbl_winnt_2000
   StrCmp $R1 '5.1' lbl_winnt_XP
   StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
 
   lbl_winnt_x:
     StrCpy $R0 "NT $R0" 6
	MessageBox MB_OK 'winnt_x'	 ;pops up on nt as expected ;*****
   Goto lbl_done
 
   lbl_winnt_2000:
     Strcpy $R0 '2000'
     MessageBox MB_OK '2000' ; this message is never popped up on win2k ;*****
   Goto lbl_done
 
   lbl_winnt_XP:
     Strcpy $R0 'XP'
	MessageBox MB_OK 'xp' ;pops up on XP as expected ;*****
   Goto lbl_done
 
   lbl_winnt_2003:
     Strcpy $R0 '2003'
	MessageBox MB_OK '2003'
   Goto lbl_done
 
   lbl_error:
     Strcpy $R0 ''
	MessageBox MB_OK '$R1 error' ; popped up as " error" on win2k ;*****
   lbl_done:
 
   Pop $R1
   Exch $R0
 
 FunctionEnd

;--------------------------------
;Driver Installation Section
;loads driver to 2000/xp,2003,nt4

Section "InstallDriver"

  StrCpy $INSTALLABLE 'yes'
  Call GetWindowsVersion  
  Pop $R0

  StrCmp $R0 'NT 4.0' NT_driver
  StrCmp $R0 '2000' Win2K_XP_2003_driver
  StrCmp $R0 'XP' Win2K_XP_2003_driver
  StrCmp $R0 '2003' Win2K_XP_2003_driver  
  Goto unsupported_OS

    
  Win2K_XP_2003_driver:
 
    ;install the 2k/xp/2003 driver	
    Goto driver_done
  
  NT_driver:

    ;install the nt driver
    Goto driver_done

  unsupported_OS:
    StrCpy $INSTALLABLE 'no'
    MessageBox MB_OK 'Windows $R0 is not supported' ;popped up as "Windows  is not supported" on win2k ;*****

  driver_done:

SectionEnd