From 4fead0185465c199cd924cea6b5e2ac1ef5283e3 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 8 Nov 2010 10:38:59 +0000 Subject: [PATCH] Initial work on NSIS install script --- package/Win-NSIS/flightgear-nightly.nsi | 115 ++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 package/Win-NSIS/flightgear-nightly.nsi diff --git a/package/Win-NSIS/flightgear-nightly.nsi b/package/Win-NSIS/flightgear-nightly.nsi new file mode 100644 index 000000000..08155b3d7 --- /dev/null +++ b/package/Win-NSIS/flightgear-nightly.nsi @@ -0,0 +1,115 @@ +!include "MUI.nsh" + +!system 'osgversion --so-number > %TEMP%\osg-so-number.txt' +!system 'osgversion --version-number > %TEMP%\osg-version.txt' + +!define /file OSGSoNumber $%TEMP%\osg-so-number.txt +!define /file OSGVersion $%TEMP%\osg-version.txt + +!echo "osg-so is ${OSGSoNumber}" + +Name "FlightGear Nightly" +OutFile fgfs_win32_nightly.exe + +InstallDir $PROGRAMFILES\FlightGear-nightly + +; Request admin privileges for Windows Vista +RequestExecutionLevel highest + +; don't hang around +AutoCloseWindow true + +!define UninstallKey "Software\Microsoft\Windows\CurrentVersion\Uninstall\FlightGear-nightly" +!define FGBinDir "flightgear\projects\VC90\Win32\Release" +!define FGRunBinDir "fgrun\msvc\9.0\Win32\Release" +!define OSGInstallDir "install\msvc90\OpenSceneGraph" +!define OSGPluginsDir "${OSGInstallDir}\bin\osgPlugins-${OSGVersion}" + +!define ThirdPartyBinDir "3rdParty\bin" + +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_RIGHT +;!define MUI_HEADERIMAGE_BITMAP "logo.bmp" ; optional +!define MUI_ABORTWARNING +;!define MUI_WELCOMEFINISHPAGE_BITMAP "welcome.bmp" +;!define MUI_UNWELCOMEFINISHPAGE_BITMAP "welcome.bmp" + +!insertmacro MUI_PAGE_WELCOME +;!insertmacro MUI_PAGE_LICENSE "License.txt" +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +!insertmacro MUI_LANGUAGE "English" + +; The stuff to install +Section "" ;No components page, name is not important + + SetShellVarContext all + ; Set output path to the installation directory. + SetOutPath $INSTDIR + + File ${FGBinDir}\fgfs.exe + File ${FGBinDir}\fgjs.exe + File ${FGBinDir}\terrasync.exe + File ${FGRunBinDir}\fgrun.exe + + File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osg.dll + File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgDB.dll + File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgGA.dll + File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgParticle.dll + File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgText.dll + File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgUtil.dll + File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgViewer.dll + File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgSim.dll + File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgFX.dll + + File ${OSGInstallDir}\bin\ot12-OpenThreads.dll + + File ${ThirdPartyBinDir}\*.dll + + ; VC runtime redistributables + File "$%VCINSTALLDIR%\redist\x86\Microsoft.VC90.CRT\*.dll" + + File /r ${FGRunBinDir}\locale + + SetOutPath $INSTDIR\osgPlugins-${OSGVersion} + File ${OSGPluginsDir}\osgdb_ac.dll + File ${OSGPluginsDir}\osgdb_jpeg.dll + File ${OSGPluginsDir}\osgdb_rgb.dll + File ${OSGPluginsDir}\osgdb_png.dll + File ${OSGPluginsDir}\osgdb_txf.dll + + + + + CreateShortCut "$SMPROGRAMS\FlightGear-nightly.lnk" "$INSTDIR\fgrun.exe" + WriteUninstaller "$INSTDIR\FlightGear_Uninstall.exe" + + WriteRegStr HKLM ${UninstallKey} "DisplayName" "FlightGear Nightly" + WriteRegStr HKLM ${UninstallKey} "DisplayVersion" "2.1" + WriteRegStr HKLM ${UninstallKey} "UninstallString" "$INSTDIR\FlightGear_Uninstall.exe" + WriteRegStr HKLM ${UninstallKey} "UninstallPath" "$INSTDIR\FlightGear_Uninstall.exe" + WriteRegDWORD HKLM ${UninstallKey} "NoModify" 1 + WriteRegDWORD HKLM ${UninstallKey} "NoRepair" 1 + WriteRegStr HKLM ${UninstallKey} "URLInfoAbout" "http://www.flightgear.org/" + +SectionEnd + + + +Section "Uninstall" + + SetShellVarContext all + + + Delete "$SMPROGRAMS\FlightGear-nightly.lnk" + + RMDir /r "$INSTDIR" + + DeleteRegKey HKLM ${UninstallKey} + +SectionEnd + \ No newline at end of file