diff --git a/package/Win-NSIS/flightgear64-nightly-vs2010.nsi b/package/Win-NSIS/flightgear64-nightly-vs2010.nsi new file mode 100644 index 000000000..a08aa8689 --- /dev/null +++ b/package/Win-NSIS/flightgear64-nightly-vs2010.nsi @@ -0,0 +1,154 @@ +!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 +!define /file FGVersion flightgear\version + +!echo "osg-so is ${OSGSoNumber}" + +Name "FlightGear Nightly vs2010" +OutFile fgfs_win64_vs2010_nightly_${FGVersion}.exe + +; use LZMA for best compression +SetCompressor /FINAL /SOLID lzma +SetCompressorDictSize 64 + +InstallDir $PROGRAMFILES\FlightGear64-nightly-2010 + +; Request admin privileges for Windows Vista +RequestExecutionLevel highest + +; don't hang around +AutoCloseWindow true + +!define UninstallKey "Software\Microsoft\Windows\CurrentVersion\Uninstall\FlightGear64-nightly-2010" +!define FGBinDir "install\msvc100-64\FlightGear\bin" +!define FGRunDir "install\msvc100-64\fgrun" +!define OSGInstallDir "install\msvc100-64\OpenSceneGraph" +!define OSGPluginsDir "${OSGInstallDir}\bin\osgPlugins-${OSGVersion}" + +!define ThirdPartyBinDir "3rdParty.x64\bin" + +!define MUI_ICON "flightgear\package\flightgear.ico" +!define MUI_UNICON "flightgear\package\flightgear.ico" + +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_RIGHT +!define MUI_HEADERIMAGE_BITMAP "flightgear\package\Win-NSIS\fg-install-header.bmp" ; optional + + + +;!define MUI_WELCOMEFINISHPAGE_BITMAP "welcome.bmp" +;!define MUI_UNWELCOMEFINISHPAGE_BITMAP "welcome.bmp" + +!insertmacro MUI_PAGE_WELCOME +; include GPL license page +!insertmacro MUI_PAGE_LICENSE "flightgear\Copying" +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES + +!define MUI_FINISHPAGE_RUN $INSTDIR\fgrun.exe +!define MUI_FINISHPAGE_RUN_TEXT "Run FlightGear now" +!insertmacro MUI_PAGE_FINISH + + +!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 ${FGRunDir}\bin\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\x64\Microsoft.VC100.CRT\*.dll" + + File /r ${FGRunDir}\share\locale + + SetOutPath $INSTDIR\osgPlugins-${OSGVersion} + File ${OSGPluginsDir}\osgdb_ac.dll + File ${OSGPluginsDir}\osgdb_osg.dll + File ${OSGPluginsDir}\osgdb_osga.dll + File ${OSGPluginsDir}\osgdb_3ds.dll + File ${OSGPluginsDir}\osgdb_mdl.dll + File ${OSGPluginsDir}\osgdb_jpeg.dll + File ${OSGPluginsDir}\osgdb_rgb.dll + File ${OSGPluginsDir}\osgdb_png.dll + File ${OSGPluginsDir}\osgdb_dds.dll + File ${OSGPluginsDir}\osgdb_txf.dll + File ${OSGPluginsDir}\osgdb_freetype.dll + File ${OSGPluginsDir}\osgdb_serializers_osg.dll + File ${OSGPluginsDir}\osgdb_serializers_osganimation.dll + File ${OSGPluginsDir}\osgdb_serializers_osgfx.dll + File ${OSGPluginsDir}\osgdb_serializers_osgmanipulator.dll + File ${OSGPluginsDir}\osgdb_serializers_osgparticle.dll + File ${OSGPluginsDir}\osgdb_serializers_osgshadow.dll + File ${OSGPluginsDir}\osgdb_serializers_osgsim.dll + File ${OSGPluginsDir}\osgdb_serializers_osgterrain.dll + File ${OSGPluginsDir}\osgdb_serializers_osgtext.dll + File ${OSGPluginsDir}\osgdb_serializers_osgvolume.dll + File ${OSGPluginsDir}\osgdb_deprecated_osg.dll + File ${OSGPluginsDir}\osgdb_deprecated_osgparticle.dll + + + Exec '"$INSTDIR\fgrun.exe" --silent --fg-exe="$INSTDIR\fgfs.exe" --ts-exe="$INSTDIR\terrasync.exe" ' + + CreateDirectory "$SMPROGRAMS\FlightGear" + CreateShortCut "$SMPROGRAMS\FlightGear\FlightGear64-nightly-2010.lnk" "$INSTDIR\fgrun.exe" + + + WriteUninstaller "$INSTDIR\FlightGear_Uninstall.exe" + + WriteRegStr HKLM ${UninstallKey} "DisplayName" "FlightGear64 Nightly (vs2010 build)" + WriteRegStr HKLM ${UninstallKey} "DisplayVersion" "${FGVersion}" + 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\FlightGear64-nightly-2010.lnk" + ; only delete the FlightGear group if it's empty + RMDir "$SMPROGRAMS\FlightGear" + + RMDir /r "$INSTDIR" + + DeleteRegKey HKLM ${UninstallKey} + +SectionEnd +