!include "MUI2.nsh" !define APPNAME "Transit Driver XP" !define COMPANYNAME "Transit Project" !define VERSION "2.0.0" Name "${APPNAME}" OutFile "TransitDriverXPSetup.exe" InstallDir "$PROGRAMFILES\TransitDriverXP" InstallDirRegKey HKCU "Software\TransitDriverXP" "InstallDir" RequestExecutionLevel admin VIProductVersion "2.0.0.0" VIAddVersionKey "ProductName" "${APPNAME}" VIAddVersionKey "CompanyName" "${COMPANYNAME}" VIAddVersionKey "FileDescription" "Native Windows XP driver client" VIAddVersionKey "FileVersion" "${VERSION}" VIAddVersionKey "ProductVersion" "${VERSION}" VIAddVersionKey "LegalCopyright" "Transit Project" Function .onInit ReadRegStr $0 HKCU "Software\TransitDriverXP" "InstallDir" StrCmp $0 "" done IfFileExists "$0\driver_xp.exe" 0 done StrCpy $INSTDIR $0 MessageBox MB_OK|MB_ICONINFORMATION "An existing Transit Driver XP installation was found. It will be updated." ExecWait '"$SYSDIR\taskkill.exe" /F /IM driver_xp.exe' done: FunctionEnd !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE "English" Section "Install" SetOutPath "$INSTDIR" SetOverwrite on File "driver_xp.exe" WriteRegStr HKCU "Software\TransitDriverXP" "InstallDir" "$INSTDIR" WriteRegStr HKCU "Software\TransitDriverXP" "DisplayName" "${APPNAME}" WriteRegStr HKCU "Software\TransitDriverXP" "Version" "${VERSION}" CreateDirectory "$SMPROGRAMS\TransitDriverXP" CreateShortCut "$SMPROGRAMS\TransitDriverXP\Transit Driver XP.lnk" "$INSTDIR\driver_xp.exe" CreateShortCut "$DESKTOP\Transit Driver XP.lnk" "$INSTDIR\driver_xp.exe" WriteUninstaller "$INSTDIR\Uninstall.exe" CreateShortCut "$SMPROGRAMS\TransitDriverXP\Uninstall Transit Driver XP.lnk" "$INSTDIR\Uninstall.exe" SectionEnd Section "Uninstall" Delete "$DESKTOP\Transit Driver XP.lnk" Delete "$SMPROGRAMS\TransitDriverXP\Transit Driver XP.lnk" Delete "$SMPROGRAMS\TransitDriverXP\Uninstall Transit Driver XP.lnk" RMDir "$SMPROGRAMS\TransitDriverXP" Delete "$INSTDIR\driver_xp.exe" Delete "$INSTDIR\Uninstall.exe" RMDir "$INSTDIR" DeleteRegKey HKCU "Software\TransitDriverXP" SectionEnd