2006-07-12 11:03:00 +00:00
|
|
|
/*
|
|
|
|
|
|
|
|
Checks for Windows version
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
Function CheckWindows
|
|
|
|
|
|
|
|
Push $R0
|
|
|
|
Push $R1
|
|
|
|
|
|
|
|
;Check for Windows NT 5.0 or later (2000, XP, 2003 etc.)
|
|
|
|
|
|
|
|
ReadRegStr $R0 HKLM "Software\Microsoft\Windows NT\CurrentVersion" "CurrentVersion"
|
|
|
|
${VersionCompare} $R0 "5.0" $R1
|
|
|
|
|
|
|
|
${if} $R1 == "2"
|
|
|
|
MessageBox MB_OK|MB_ICONSTOP "${APP_NAME} ${APP_VERSION} only supports Windows 2000, XP, 2003 and later."
|
|
|
|
Quit
|
|
|
|
${endif}
|
|
|
|
|
|
|
|
Pop $R1
|
|
|
|
Pop $R0
|
|
|
|
|
|
|
|
FunctionEnd
|
|
|
|
|
|
|
|
Function CheckPriviledges
|
|
|
|
|
|
|
|
Push $R0
|
|
|
|
|
|
|
|
UserInfo::GetAccountType
|
|
|
|
Pop $R0
|
|
|
|
|
|
|
|
${if} $R0 == "Admin"
|
|
|
|
StrCpy $AdminOrPowerUser ${TRUE}
|
|
|
|
${elseif} $R0 == "Power"
|
|
|
|
StrCpy $AdminOrPowerUser ${TRUE}
|
|
|
|
${else}
|
|
|
|
StrCpy $AdminOrPowerUser ${FALSE}
|
|
|
|
${endif}
|
|
|
|
|
|
|
|
${if} $AdminOrPowerUser != ${TRUE}
|
|
|
|
MessageBox MB_OK|MB_ICONEXCLAMATION $(TEXT_NO_PRIVILEDGES)
|
|
|
|
${endif}
|
|
|
|
|
|
|
|
Pop $R0
|
|
|
|
|
|
|
|
FunctionEnd
|
|
|
|
|
2006-09-22 22:30:06 +00:00
|
|
|
Function UpdatePathEnvironment
|
|
|
|
|
|
|
|
Push $R0
|
|
|
|
Push $R1
|
|
|
|
|
|
|
|
;Updates the path environment variable of the instaler process to the latest system value
|
|
|
|
|
|
|
|
ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" Path
|
|
|
|
ReadRegStr $R1 HKCU "Environment" Path
|
|
|
|
|
|
|
|
System::Call 'kernel32::SetEnvironmentVariableA(t, t) i("Path", "$R0;$R1").r0'
|
|
|
|
|
|
|
|
Pop $R1
|
|
|
|
Pop $R0
|
|
|
|
|
|
|
|
FunctionEnd
|
|
|
|
|
2006-07-12 11:03:00 +00:00
|
|
|
Function un.SetShellContext
|
|
|
|
|
|
|
|
Push $R0
|
|
|
|
|
|
|
|
;Set the correct shell context depending on whether LyX has been installed for the current user or all users
|
|
|
|
|
|
|
|
UserInfo::GetAccountType
|
|
|
|
Pop $R0
|
|
|
|
|
|
|
|
${if} $R0 == "Admin"
|
|
|
|
StrCpy $AdminOrPowerUser ${TRUE}
|
|
|
|
${endif}
|
|
|
|
|
|
|
|
${if} $R0 == "Power"
|
|
|
|
StrCpy $AdminOrPowerUser ${TRUE}
|
|
|
|
${endif}
|
|
|
|
|
|
|
|
ReadRegStr $R0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SETUP_UNINSTALLER_KEY}" "UninstallString"
|
|
|
|
|
|
|
|
${if} $R0 != ""
|
2006-09-19 23:07:00 +00:00
|
|
|
|
|
|
|
ReadRegStr $R0 HKCU "Software\Microsoft\Windows\CurrentVersion\Uninstall\${SETUP_UNINSTALLER_KEY}" "UninstallString"
|
|
|
|
|
|
|
|
${if} $R0 != ""
|
|
|
|
|
|
|
|
${if} $AdminOrPowerUser == ${FALSE}
|
|
|
|
MessageBox MB_OK|MB_ICONSTOP "${APP_NAME} has been installed for all users. Therefore you need Administrator or Power User Priviledges to uninstall."
|
|
|
|
Quit
|
|
|
|
${else}
|
|
|
|
SetShellVarContext all
|
|
|
|
${endif}
|
|
|
|
|
2006-07-12 11:03:00 +00:00
|
|
|
${endif}
|
2006-09-19 23:07:00 +00:00
|
|
|
|
2006-07-12 11:03:00 +00:00
|
|
|
${else}
|
2006-09-19 23:07:00 +00:00
|
|
|
|
2006-07-12 11:03:00 +00:00
|
|
|
SetShellVarContext current
|
2006-09-19 23:07:00 +00:00
|
|
|
|
2006-07-12 11:03:00 +00:00
|
|
|
${endif}
|
|
|
|
|
|
|
|
Pop $R0
|
|
|
|
|
|
|
|
FunctionEnd
|