Author: dreimer Date: Wed Sep 17 09:03:48 2008 New Revision: 36286
URL: http://svn.reactos.org/svn/reactos?rev=36286&view=rev Log: Start of a seperate Installer for 32 bit only and 32 bit plus the other arches.
Added: trunk/tools/RosBE/RosBE-Windows/RosBE64.nsi (with props) Modified: trunk/tools/RosBE/RosBE-Windows/RosBE.nsi
Modified: trunk/tools/RosBE/RosBE-Windows/RosBE.nsi URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Windows/RosBE.nsi... ============================================================================== --- trunk/tools/RosBE/RosBE-Windows/RosBE.nsi [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Windows/RosBE.nsi [iso-8859-1] Wed Sep 17 09:03:48 2008 @@ -33,7 +33,6 @@ !include "MUI2.nsh" !include "InstallOptions.nsh" !include "RosSourceDir.nsh" -!include "RosSourceDir64.nsh" !include "LogicLib.nsh" !include "x64.nsh"
@@ -54,7 +53,6 @@ ${Endif} Call UninstallPrevious !insertmacro INSTALLOPTIONS_EXTRACT "RosSourceDir.ini" - !insertmacro INSTALLOPTIONS_EXTRACT "RosSourceDir64.ini" FunctionEnd
;; @@ -75,8 +73,6 @@ ;; var REACTOS_SOURCE_DIRECTORY !insertmacro CUSTOM_PAGE_ROSDIRECTORY -var REACTOS_SOURCE_DIRECTORY64 -!insertmacro CUSTOM_PAGE_ROSDIRECTORY64
;; ;; Start menu page @@ -120,7 +116,6 @@ File /r Root\changelog.txt File /r Root\LICENSE.txt File /r Root\MinGW.cmd - File /r Root\charch.cmd File /r Root\MinGW.mac File /r Root\Build.cmd File /r Root\chdefgcc.cmd @@ -273,8 +268,6 @@ CreateDirectory "$SMPROGRAMS$ICONS_GROUP" SetOutPath $REACTOS_SOURCE_DIRECTORY CreateShortCut "$SMPROGRAMS$ICONS_GROUP\ReactOS Build Environment.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\RosBE.cmd"' "$INSTDIR\rosbe.ico" - SetOutPath $REACTOS_SOURCE_DIRECTORY64 - CreateShortCut "$SMPROGRAMS$ICONS_GROUP\ReactOS Build Environment 64-bit.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\RosBE.cmd" amd64' "$INSTDIR\rosbe.ico" SetOutPath $PROFILE CreateShortCut "$SMPROGRAMS$ICONS_GROUP\Standard MinGW Build Environment.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\MinGW.cmd"' "$INSTDIR\mingw.ico" SetOutPath $INSTDIR @@ -293,8 +286,6 @@ ;; SetOutPath $REACTOS_SOURCE_DIRECTORY CreateShortCut "$DESKTOP\ReactOS Build Environment.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\RosBE.cmd"' "$INSTDIR\rosbe.ico" - SetOutPath $REACTOS_SOURCE_DIRECTORY64 - CreateShortCut "$DESKTOP\ReactOS Build Environment 64-bit.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\RosBE.cmd" amd64' "$INSTDIR\rosbe.ico" SetOutPath $PROFILE CreateShortCut "$DESKTOP\Standard MinGW Build Environment.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\MinGW.cmd"' "$INSTDIR\mingw.ico" SectionEnd @@ -307,8 +298,6 @@ ;; SetOutPath $REACTOS_SOURCE_DIRECTORY CreateShortCut "$QUICKLAUNCH\ReactOS Build Environment.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\RosBE.cmd"' "$INSTDIR\rosbe.ico" - SetOutPath $REACTOS_SOURCE_DIRECTORY64 - CreateShortCut "$QUICKLAUNCH\ReactOS Build Environment 64-bit.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\RosBE.cmd" amd64' "$INSTDIR\rosbe.ico" SetOutPath $PROFILE CreateShortCut "$QUICKLAUNCH\Standard MinGW Build Environment.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\MinGW.cmd"' "$INSTDIR\mingw.ico" SectionEnd @@ -385,12 +374,8 @@ RMDir /REBOOTOK "$INSTDIR" IfFileExists "$DESKTOP\ReactOS Build Environment.lnk" 0 +2 Delete /REBOOTOK "$DESKTOP\ReactOS Build Environment.lnk" - IfFileExists "$DESKTOP\ReactOS Build Environment 64-bit.lnk" 0 +2 - Delete /REBOOTOK "$DESKTOP\ReactOS Build Environment 64-bit.lnk" IfFileExists "$QUICKLAUNCH\ReactOS Build Environment.lnk" 0 +2 Delete /REBOOTOK "$QUICKLAUNCH\ReactOS Build Environment.lnk" - IfFileExists "$QUICKLAUNCH\ReactOS Build Environment 64-bit.lnk" 0 +2 - Delete /REBOOTOK "$QUICKLAUNCH\ReactOS Build Environment 64-bit.lnk" IfFileExists "$DESKTOP\Standard MinGW Build Environment.lnk" 0 +2 Delete /REBOOTOK "$DESKTOP\Standard MinGW Build Environment.lnk" IfFileExists "$QUICKLAUNCH\Standard MinGW Build Environment.lnk" 0 +2
Added: trunk/tools/RosBE/RosBE-Windows/RosBE64.nsi URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Windows/RosBE64.n... ============================================================================== --- trunk/tools/RosBE/RosBE-Windows/RosBE64.nsi (added) +++ trunk/tools/RosBE/RosBE-Windows/RosBE64.nsi [iso-8859-1] Wed Sep 17 09:03:48 2008 @@ -1,0 +1,468 @@ +!define PRODUCT_NAME "ReactOS Build Environment for Windows" +!define PRODUCT_VERSION "1.3" +!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\RosBE.cmd" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall${PRODUCT_NAME}" +!define PRODUCT_UNINST_ROOT_KEY "HKCU" +!define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir" + +;; +;; Basic installer options +;; +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" +OutFile "RosBE-${PRODUCT_VERSION}.exe" +InstallDirRegKey HKCU "${PRODUCT_DIR_REGKEY}" "" +ShowInstDetails show +ShowUnInstDetails show + +;; +;; Add version/product information metadata to the installation file. +;; +VIAddVersionKey /LANG=1033 "FileVersion" "1.3.0.0" +VIAddVersionKey /LANG=1033 "ProductVersion" "${PRODUCT_VERSION}" +VIAddVersionKey /LANG=1033 "ProductName" "${PRODUCT_NAME}" +VIAddVersionKey /LANG=1033 "Comments" "This installer was written by Peter Ward and Daniel Reimer using Nullsoft Scriptable Install System (http://nsis.sourceforge.net/)" +VIAddVersionKey /LANG=1033 "CompanyName" "ReactOS Team" +VIAddVersionKey /LANG=1033 "LegalTrademarks" "Copyright © 2008 ReactOS Team" +VIAddVersionKey /LANG=1033 "LegalCopyright" "Copyright © 2008 ReactOS Team" +VIAddVersionKey /LANG=1033 "FileDescription" "${PRODUCT_NAME} Setup" +VIProductVersion "1.2.0.0" + +CRCCheck force +SetCompressor /FINAL /SOLID lzma + +!include "MUI2.nsh" +!include "InstallOptions.nsh" +!include "RosSourceDir.nsh" +!include "RosSourceDir64.nsh" +!include "LogicLib.nsh" +!include "x64.nsh" + +;; +;; Read our custom page ini, remove previous version and make sure only +;; one instance of the installer is running. +;; +Function .onInit + System::Call 'kernel32::CreateMutexA(i 0, i 0, t "RosBE-v${PRODUCT_VERSION}-Installer") i .r1 ?e' + Pop $R0 + StrCmp $R0 0 +3 + MessageBox MB_OK|MB_ICONEXCLAMATION "The ${PRODUCT_NAME} v${PRODUCT_VERSION} installer is already running." + Abort + ${If} ${RunningX64} + StrCpy $INSTDIR "$PROGRAMFILES64\RosBE" + ${Else} + StrCpy $INSTDIR "$PROGRAMFILES\RosBE" + ${Endif} + Call UninstallPrevious + !insertmacro INSTALLOPTIONS_EXTRACT "RosSourceDir.ini" + !insertmacro INSTALLOPTIONS_EXTRACT "RosSourceDir64.ini" +FunctionEnd + +;; +;; MUI Settings +;; +!define MUI_ABORTWARNING +!define MUI_ICON "Icons\rosbe.ico" +!define MUI_UNICON "Icons\uninstall.ico" +!define MUI_COMPONENTSPAGE_NODESC + +!define MUI_WELCOMEPAGE_TITLE_3LINES +!insertmacro MUI_PAGE_WELCOME +;!insertmacro MUI_PAGE_LICENSE "Root\License.txt" +!insertmacro MUI_PAGE_DIRECTORY + +;; +;; ReactOS Source Directory Pages +;; +var REACTOS_SOURCE_DIRECTORY +!insertmacro CUSTOM_PAGE_ROSDIRECTORY +var REACTOS_SOURCE_DIRECTORY64 +!insertmacro CUSTOM_PAGE_ROSDIRECTORY64 + +;; +;; Start menu page +;; +var ICONS_GROUP +!define MUI_STARTMENUPAGE_NODISABLE +!define MUI_STARTMENUPAGE_DEFAULTFOLDER "ReactOS Build Environment" +!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" +!define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" +!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}" +!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP + +!insertmacro MUI_PAGE_COMPONENTS + +!insertmacro MUI_PAGE_INSTFILES + +!define MUI_FINISHPAGE_TITLE_3LINES +!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\README.pdf" +!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED +!insertmacro MUI_PAGE_FINISH + +;; +;; Uninstaller pages +;; +!insertmacro MUI_UNPAGE_INSTFILES + +;; +;; Language and reserve files +;; +ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll" +!insertmacro MUI_LANGUAGE "English" + +Section -BaseFiles SEC01 + SetShellVarContext current + SetOutPath "$INSTDIR" + SetOverwrite try + File /r Icons\mingw.ico + File /r Icons\rosbe.ico + File /r Root\README.pdf + File /r Root\RosBE.mac + File /r Root\changelog.txt + File /r Root\LICENSE.txt + File /r Root\MinGW.cmd + File /r Root\charch.cmd + File /r Root\MinGW.mac + File /r Root\Build.cmd + File /r Root\chdefgcc.cmd + File /r Root\Clean.cmd + File /r Root\Help.cmd + File /r Root\RosBE.cmd + File /r Root\rosbe-gcc-env.cmd + File /r Root\TimeDate.cmd + SetOutPath "$INSTDIR\Tools" + SetOverwrite try + File /r Components\Tools\buildtime.exe + File /r Components\Tools\chknewer.exe + File /r Components\Tools\cpucount.exe + File /r Components\Tools\flash.exe + File /r Components\Tools\getdate.exe + File /r Components\Tools\rquote.exe + File /r Components\Tools\tee.exe +SectionEnd + +Section -MinGWGCCNASM SEC02 + SetOutPath "$INSTDIR\4.1.3" + SetOverwrite try + File /r Components\4.1.3*.* +SectionEnd + +Section "RosBE Configurator (options)" SEC03 + SetShellVarContext current + SetOutPath "$INSTDIR" + SetOverwrite try + File /r Root\options.cmd + SetOutPath "$INSTDIR\Tools" + SetOverwrite try + File /r Components\Tools\options.exe + !insertmacro MUI_STARTMENU_WRITE_BEGIN Application + CreateDirectory "$SMPROGRAMS$ICONS_GROUP" + SetOutPath $INSTDIR + CreateShortCut "$SMPROGRAMS$ICONS_GROUP\Options.lnk" \ + "$INSTDIR\Tools\options.exe" + !insertmacro MUI_STARTMENU_WRITE_END +SectionEnd + +Section "Subversion Tools (svn, ssvn)" SEC04 + SetShellVarContext current + SetOutPath "$INSTDIR" + SetOverwrite try + File /r Root\sSVN.cmd + SetOutPath "$INSTDIR\Tools" + SetOverwrite try + File /r Components\Tools\svn.exe + File /r Components\Tools\intl3_svn.dll + File /r Components\Tools\libapr.dll + File /r Components\Tools\libeay32.dll + File /r Components\Tools\ssleay32.dll + File /r Components\Tools\libaprutil.dll + File /r Components\Tools\libdb44.dll + File /r Components\Tools\libapriconv.dll + File /r Components\Tools\libsasl.dll + File /r Components\Tools\libsvn_client-1.dll + File /r Components\Tools\libsvn_delta-1.dll + File /r Components\Tools\libsvn_diff-1.dll + File /r Components\Tools\libsvn_fs-1.dll + File /r Components\Tools\libsvn_ra-1.dll + File /r Components\Tools\libsvn_repos-1.dll + File /r Components\Tools\libsvn_subr-1.dll + File /r Components\Tools\libsvn_wc-1.dll + SetOutPath "$INSTDIR\Tools\licenses" + SetOverwrite try + File /r Components\Tools\licenses*.* +SectionEnd + +Section "Shortcut Tool (scut)" SEC05 + SetShellVarContext current + SetOutPath "$INSTDIR" + SetOverwrite try + File /r Root\scut.cmd + SetOutPath "$INSTDIR\Tools" + SetOverwrite try + File /r Components\Tools\scut.exe +SectionEnd + +Section "ccache - Compiler Cache" SEC06 + SetShellVarContext current + SetOutPath "$INSTDIR\4.1.3\bin" + SetOverwrite try + File /r Components\Tools\ccache.exe +SectionEnd + +Section "GDB - The GNU Project Debugger" SEC07 + SetShellVarContext current + SetOutPath "$INSTDIR\4.1.3\bin" + SetOverwrite try + File /r Components\Tools\gdb.exe + File /r Components\Tools\gdbserver.exe +SectionEnd + +Section "relAddr2Line Tool" SEC08 + SetShellVarContext current + SetOutPath "$INSTDIR" + SetOverwrite try + File /r Root\reladdr2line.cmd + SetOutPath "$INSTDIR\Tools" + SetOverwrite try + File /r Components\Tools\echoh.exe + File /r Components\Tools\raddr2line.exe + File /r Components\Tools\chkslash.exe +SectionEnd + +Section "Other Tools (chdefdir and config)" SEC09 + SetShellVarContext current + SetOutPath "$INSTDIR" + SetOverwrite try + File /r Root\chdefdir.cmd + File /r Root\Config.cmd +SectionEnd + +Section "PowerShell RosBE Version" SEC10 + SetShellVarContext current + SetOutPath "$INSTDIR" + SetOverwrite try + File /r Root\sSVN.cmd + File /r Components\Powershell\Build.ps1 + File /r Components\Powershell\Clean.ps1 + File /r Components\Powershell\Help.ps1 + File /r Components\Powershell\MinGW.ps1 + File /r Components\Powershell\RosBE.ps1 + File /r Components\Powershell\rosbe-gcc-env.ps1 +SectionEnd + +Section "Update Script" SEC11 + SetShellVarContext current + SetOutPath "$INSTDIR\Tools" + SetOverwrite try + File /r Components\Tools\wget.exe + File /r Components\Tools\libintl3.dll + File /r Components\Tools\libeay32.dll + File /r Components\Tools\ssleay32.dll + File /r Components\Tools\libiconv2.dll + SetOutPath "$INSTDIR" + SetOverwrite try + File /r Root\update.cmd +SectionEnd + +Section -StartMenuShortcuts SEC12 + SetShellVarContext current + + ;; + ;; Add our start menu shortcuts. + ;; + !insertmacro MUI_STARTMENU_WRITE_BEGIN Application + CreateDirectory "$SMPROGRAMS$ICONS_GROUP" + SetOutPath $REACTOS_SOURCE_DIRECTORY + CreateShortCut "$SMPROGRAMS$ICONS_GROUP\ReactOS Build Environment.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\RosBE.cmd"' "$INSTDIR\rosbe.ico" + SetOutPath $REACTOS_SOURCE_DIRECTORY64 + CreateShortCut "$SMPROGRAMS$ICONS_GROUP\ReactOS Build Environment 64-bit.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\RosBE.cmd" amd64' "$INSTDIR\rosbe.ico" + SetOutPath $PROFILE + CreateShortCut "$SMPROGRAMS$ICONS_GROUP\Standard MinGW Build Environment.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\MinGW.cmd"' "$INSTDIR\mingw.ico" + SetOutPath $INSTDIR + CreateShortCut "$SMPROGRAMS$ICONS_GROUP\Uninstall RosBE.lnk" \ + "$INSTDIR\Uninstall-${PRODUCT_VERSION}.exe" + CreateShortCut "$SMPROGRAMS$ICONS_GROUP\Readme.lnk" \ + "$INSTDIR\README.pdf" + !insertmacro MUI_STARTMENU_WRITE_END +SectionEnd + +Section /o "Desktop Shortcuts" SEC13 + SetShellVarContext current + + ;; + ;; Add our desktop shortcuts. + ;; + SetOutPath $REACTOS_SOURCE_DIRECTORY + CreateShortCut "$DESKTOP\ReactOS Build Environment.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\RosBE.cmd"' "$INSTDIR\rosbe.ico" + SetOutPath $REACTOS_SOURCE_DIRECTORY64 + CreateShortCut "$DESKTOP\ReactOS Build Environment 64-bit.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\RosBE.cmd" amd64' "$INSTDIR\rosbe.ico" + SetOutPath $PROFILE + CreateShortCut "$DESKTOP\Standard MinGW Build Environment.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\MinGW.cmd"' "$INSTDIR\mingw.ico" +SectionEnd + +Section /o "Quick Launch Shortcuts" SEC14 + SetShellVarContext current + + ;; + ;; Add our quick launch shortcuts. + ;; + SetOutPath $REACTOS_SOURCE_DIRECTORY + CreateShortCut "$QUICKLAUNCH\ReactOS Build Environment.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\RosBE.cmd"' "$INSTDIR\rosbe.ico" + SetOutPath $REACTOS_SOURCE_DIRECTORY64 + CreateShortCut "$QUICKLAUNCH\ReactOS Build Environment 64-bit.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\RosBE.cmd" amd64' "$INSTDIR\rosbe.ico" + SetOutPath $PROFILE + CreateShortCut "$QUICKLAUNCH\Standard MinGW Build Environment.lnk" "$SYSDIR\cmd.exe" '/k "$INSTDIR\MinGW.cmd"' "$INSTDIR\mingw.ico" +SectionEnd + +Section -Post SEC15 + WriteUninstaller "$INSTDIR\Uninstall-${PRODUCT_VERSION}.exe" + WriteRegStr HKCU "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\RosBE.cmd" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\Uninstall-${PRODUCT_VERSION}.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" +SectionEnd + +Function un.onUninstSuccess + HideWindow + MessageBox MB_ICONINFORMATION|MB_OK \ + "ReactOS Build Environment was successfully removed from your computer." +FunctionEnd + +Function un.onInit + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 \ + "Are you sure you want to completely remove ReactOS Build Environment and all of its components?" \ + IDYES +2 + Abort +FunctionEnd + +Section Uninstall + !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP + SetShellVarContext current + + ;; + ;; Clean up installed files. + ;; + RMDir /r /REBOOTOK "$INSTDIR\4.1.3" + RMDir /r /REBOOTOK "$INSTDIR\Tools" + RMDir /r /REBOOTOK "$SMPROGRAMS$ICONS_GROUP" + IfFileExists "$PROFILE\RosBE." 0 +2 + RMDir /r /REBOOTOK "$PROFILE\RosBE" + IfFileExists "$APPDATA\RosBE." 0 +2 + RMDir /r /REBOOTOK "$APPDATA\RosBE" + Delete /REBOOTOK "$INSTDIR\Build.cmd" + Delete /REBOOTOK "$INSTDIR\Build.ps1" + Delete /REBOOTOK "$INSTDIR\charch.cmd" + Delete /REBOOTOK "$INSTDIR\chdefdir.cmd" + Delete /REBOOTOK "$INSTDIR\chdefgcc.cmd" + Delete /REBOOTOK "$INSTDIR\Clean.cmd" + Delete /REBOOTOK "$INSTDIR\Clean.ps1" + Delete /REBOOTOK "$INSTDIR\Config.cmd" + Delete /REBOOTOK "$INSTDIR\Help.cmd" + Delete /REBOOTOK "$INSTDIR\Help.ps1" + Delete /REBOOTOK "$INSTDIR\MinGW.cmd" + Delete /REBOOTOK "$INSTDIR\MinGW.ps1" + Delete /REBOOTOK "$INSTDIR\options.cmd" + Delete /REBOOTOK "$INSTDIR\reladdr2line.cmd" + Delete /REBOOTOK "$INSTDIR\RosBE.cmd" + Delete /REBOOTOK "$INSTDIR\RosBE.ps1" + Delete /REBOOTOK "$INSTDIR\rosbe-gcc-env.cmd" + Delete /REBOOTOK "$INSTDIR\rosbe-gcc-env.ps1" + Delete /REBOOTOK "$INSTDIR\scut.cmd" + Delete /REBOOTOK "$INSTDIR\sSVN.cmd" + Delete /REBOOTOK "$INSTDIR\TimeDate.cmd" + Delete /REBOOTOK "$INSTDIR\update.cmd" + Delete /REBOOTOK "$INSTDIR\README.pdf" + Delete /REBOOTOK "$INSTDIR\rosbe.ico" + Delete /REBOOTOK "$INSTDIR\mingw.ico" + Delete /REBOOTOK "$INSTDIR\uninstall.ico" + Delete /REBOOTOK "$INSTDIR\MinGW.mac" + Delete /REBOOTOK "$INSTDIR\RosBE.mac" + Delete /REBOOTOK "$INSTDIR\ChangeLog.txt" + Delete /REBOOTOK "$INSTDIR\LICENSE.txt" + Delete /REBOOTOK "$INSTDIR\srclist.txt" + Delete /REBOOTOK "$INSTDIR\config.rbuild" + Delete /REBOOTOK "$INSTDIR\Uninstall-${PRODUCT_VERSION}.exe" + ;; Whoever dares to change this back into: RMDir /r /REBOOTOK "$INSTDIR" will be KILLED!!! + RMDir /REBOOTOK "$INSTDIR" + IfFileExists "$DESKTOP\ReactOS Build Environment.lnk" 0 +2 + Delete /REBOOTOK "$DESKTOP\ReactOS Build Environment.lnk" + IfFileExists "$DESKTOP\ReactOS Build Environment 64-bit.lnk" 0 +2 + Delete /REBOOTOK "$DESKTOP\ReactOS Build Environment 64-bit.lnk" + IfFileExists "$QUICKLAUNCH\ReactOS Build Environment.lnk" 0 +2 + Delete /REBOOTOK "$QUICKLAUNCH\ReactOS Build Environment.lnk" + IfFileExists "$QUICKLAUNCH\ReactOS Build Environment 64-bit.lnk" 0 +2 + Delete /REBOOTOK "$QUICKLAUNCH\ReactOS Build Environment 64-bit.lnk" + IfFileExists "$DESKTOP\Standard MinGW Build Environment.lnk" 0 +2 + Delete /REBOOTOK "$DESKTOP\Standard MinGW Build Environment.lnk" + IfFileExists "$QUICKLAUNCH\Standard MinGW Build Environment.lnk" 0 +2 + Delete /REBOOTOK "$QUICKLAUNCH\Standard MinGW Build Environment.lnk" + + ;; + ;; Clean up the registry. + ;; + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" + DeleteRegKey HKCU "${PRODUCT_DIR_REGKEY}" + SetAutoClose true +SectionEnd + +Function UninstallPrevious + ReadRegStr $R0 HKCU \ + "Software\Microsoft\Windows\CurrentVersion\Uninstall${PRODUCT_NAME}" \ + "UninstallString" + ReadRegStr $R1 HKCU \ + "Software\Microsoft\Windows\CurrentVersion\Uninstall${PRODUCT_NAME}" \ + "DisplayVersion" + ${If} $R1 == "${PRODUCT_VERSION}" + messageBox MB_OK|MB_ICONEXCLAMATION \ + "You already have the ${PRODUCT_NAME} v${PRODUCT_VERSION} installed. Please manually uninstall the ${PRODUCT_NAME} v${PRODUCT_VERSION} if you want to reinstall." + Quit + ${EndIf} + ${If} $R0 == "" + ReadRegStr $R0 HKLM \ + "Software\Microsoft\Windows\CurrentVersion\Uninstall\ReactOS Build Environment" \ + "UninstallString" + ReadRegStr $R1 HKLM \ + "Software\Microsoft\Windows\CurrentVersion\Uninstall\ReactOS Build Environment" \ + "DisplayVersion" + ${If} $R0 == "" + Return + ${EndIf} + ${EndIf} + MessageBox MB_YESNO|MB_ICONQUESTION \ + "A previous version of the ${PRODUCT_NAME} was found. You must uninstall it before installing this version.$\n$\nDo you want to do that now?" \ + IDNO UninstallPrevious_no \ + IDYES UninstallPrevious_yes + Abort + UninstallPrevious_no: + Quit + UninstallPrevious_yes: + Var /global PREVIOUSINSTDIR + Push $R0 + Call GetParent + Pop $PREVIOUSINSTDIR + ExecWait '$R0 _?=$PREVIOUSINSTDIR' +FunctionEnd + +Function GetParent + Exch $R0 + Push $R1 + Push $R2 + Push $R3 + + StrCpy $R1 0 + StrLen $R2 $R0 + + loop: + IntOp $R1 $R1 + 1 + IntCmp $R1 $R2 get 0 get + StrCpy $R3 $R0 1 -$R1 + StrCmp $R3 "" get + Goto loop + + get: + StrCpy $R0 $R0 -$R1 + + Pop $R3 + Pop $R2 + Pop $R1 + Exch $R0 +FunctionEnd
Propchange: trunk/tools/RosBE/RosBE-Windows/RosBE64.nsi ------------------------------------------------------------------------------ svn:eol-style = native