]> git.mxchange.org Git - flightgear.git/blob - package/Win-NSIS/flightgear-nightly-vs2010.nsi
New FGCom standalone re-wrote from scratch
[flightgear.git] / package / Win-NSIS / flightgear-nightly-vs2010.nsi
1 !include "MUI.nsh"
2
3 !system 'osgversion --so-number > %TEMP%\osg-so-number.txt'
4 !system 'osgversion --version-number > %TEMP%\osg-version.txt'
5
6 !define /file OSGSoNumber $%TEMP%\osg-so-number.txt
7 !define /file OSGVersion $%TEMP%\osg-version.txt
8 !define /file FGVersion flightgear\version
9
10 !echo "osg-so is ${OSGSoNumber}"
11
12 Name "FlightGear Nightly vs2010"
13 OutFile fgfs_win32_vs2010_nightly_${FGVersion}.exe
14
15 ; use LZMA for best compression
16 SetCompressor /FINAL /SOLID lzma
17 SetCompressorDictSize 64
18
19 InstallDir $PROGRAMFILES\FlightGear-nightly-2010
20
21 ; Request admin privileges for Windows Vista
22 RequestExecutionLevel highest
23
24 ; don't hang around
25 AutoCloseWindow true
26                 
27 !define UninstallKey "Software\Microsoft\Windows\CurrentVersion\Uninstall\FlightGear-nightly-2010"
28 !define FGBinDir "install\msvc100\FlightGear\bin"
29 !define FGShareDir "install\msvc100\FlightGear\share"
30 !define FGRunDir "install\msvc100\fgrun"
31 !define RTIInstallDir "install\msvc100\OpenRTI"
32 !define OSGInstallDir "install\msvc100\OpenSceneGraph"
33 !define OSGPluginsDir "${OSGInstallDir}\bin\osgPlugins-${OSGVersion}"
34
35 !define ThirdPartyBinDir "3rdParty\bin"
36
37 !define MUI_ICON "flightgear\package\flightgear.ico"
38 !define MUI_UNICON "flightgear\package\flightgear.ico"
39
40 !define MUI_HEADERIMAGE
41 !define MUI_HEADERIMAGE_RIGHT
42 !define MUI_HEADERIMAGE_BITMAP "flightgear\package\Win-NSIS\fg-install-header.bmp" ; optional
43
44
45
46 ;!define MUI_WELCOMEFINISHPAGE_BITMAP "welcome.bmp"
47 ;!define MUI_UNWELCOMEFINISHPAGE_BITMAP "welcome.bmp"
48
49 !insertmacro MUI_PAGE_WELCOME
50 ; include GPL license page
51 !insertmacro MUI_PAGE_LICENSE "flightgear\Copying"
52 !insertmacro MUI_PAGE_DIRECTORY
53 !insertmacro MUI_PAGE_INSTFILES
54
55 !define MUI_FINISHPAGE_RUN $INSTDIR\bin\fgrun.exe
56 !define MUI_FINISHPAGE_RUN_TEXT "Run FlightGear now"
57 !insertmacro MUI_PAGE_FINISH
58
59
60 !insertmacro MUI_UNPAGE_CONFIRM
61 !insertmacro MUI_UNPAGE_INSTFILES
62
63 !insertmacro MUI_LANGUAGE "English"
64
65 ; The stuff to install
66 Section "" ;No components page, name is not important  
67         
68   SetShellVarContext all
69   ; Set output path to the installation directory.
70   SetOutPath $INSTDIR\share\flightgear
71   File ${FGShareDir}\flightgear\positions.txt
72   File ${FGShareDir}\flightgear\special_frequencies.txt
73   
74   SetOutPath $INSTDIR\bin
75   File ${FGBinDir}\fgfs.exe
76   File ${FGBinDir}\fgjs.exe
77   File ${FGBinDir}\terrasync.exe
78   File ${FGRunDir}\bin\fgrun.exe
79   File ${FGBinDir}\fgcom.exe
80
81   File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osg.dll
82   File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgDB.dll
83   File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgGA.dll
84   File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgParticle.dll
85   File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgText.dll
86   File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgUtil.dll
87   File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgViewer.dll
88   File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgSim.dll
89   File ${OSGInstallDir}\bin\osg${OSGSoNumber}-osgFX.dll
90   
91   File ${OSGInstallDir}\bin\ot13-OpenThreads.dll
92   
93   File ${ThirdPartyBinDir}\*.dll
94   File ${ThirdPartyBinDir}\CrashSender1402.exe
95   File ${ThirdPartyBinDir}\crashrpt_lang.ini
96     
97   File ${RTIInstallDir}\bin\FedTime.dll
98   File ${RTIInstallDir}\bin\RTI-NG.dll
99   File ${RTIInstallDir}\bin\OpenRTI.dll
100   
101   ; VC runtime redistributables
102   File "$%VCINSTALLDIR%\redist\x86\Microsoft.VC100.CRT\*.dll"
103   
104   File /r ${FGRunDir}\share\locale
105   
106   SetOutPath $INSTDIR\bin\osgPlugins-${OSGVersion}
107   File ${OSGPluginsDir}\osgdb_ac.dll
108   File ${OSGPluginsDir}\osgdb_osg.dll
109   File ${OSGPluginsDir}\osgdb_osga.dll
110   File ${OSGPluginsDir}\osgdb_3ds.dll
111   File ${OSGPluginsDir}\osgdb_mdl.dll
112   File ${OSGPluginsDir}\osgdb_jpeg.dll
113   File ${OSGPluginsDir}\osgdb_rgb.dll  
114   File ${OSGPluginsDir}\osgdb_png.dll
115   File ${OSGPluginsDir}\osgdb_dds.dll
116   File ${OSGPluginsDir}\osgdb_txf.dll
117   File ${OSGPluginsDir}\osgdb_freetype.dll
118   File ${OSGPluginsDir}\osgdb_serializers_osg.dll
119   File ${OSGPluginsDir}\osgdb_serializers_osganimation.dll
120   File ${OSGPluginsDir}\osgdb_serializers_osgfx.dll
121   File ${OSGPluginsDir}\osgdb_serializers_osgmanipulator.dll
122   File ${OSGPluginsDir}\osgdb_serializers_osgparticle.dll
123   File ${OSGPluginsDir}\osgdb_serializers_osgshadow.dll
124   File ${OSGPluginsDir}\osgdb_serializers_osgsim.dll
125   File ${OSGPluginsDir}\osgdb_serializers_osgterrain.dll
126   File ${OSGPluginsDir}\osgdb_serializers_osgtext.dll
127   File ${OSGPluginsDir}\osgdb_serializers_osgvolume.dll
128   File ${OSGPluginsDir}\osgdb_deprecated_osg.dll
129   File ${OSGPluginsDir}\osgdb_deprecated_osgparticle.dll
130   
131   
132   Exec '"$INSTDIR\bin\fgrun.exe"  --silent --fg-exe="$INSTDIR\bin\fgfs.exe" --fg-root="$INSTDIR\data"'
133   
134   CreateDirectory "$SMPROGRAMS\FlightGear"
135   CreateShortCut "$SMPROGRAMS\FlightGear\FlightGear-nightly-2010.lnk" "$INSTDIR\bin\fgrun.exe"
136   CreateShortCut "$SMPROGRAMS\FlightGear\FGCom-nightly-2010.lnk" "$INSTDIR\bin\fgcom.exe"
137   CreateShortCut "$SMPROGRAMS\FlightGear\FGCom-testing-nightly-2010.lnk" "$INSTDIR\bin\fgcom.exe" "-f910"
138   
139   
140   WriteUninstaller "$INSTDIR\FlightGear_Uninstall.exe"
141   
142   WriteRegStr HKLM ${UninstallKey} "DisplayName" "FlightGear Nightly (vs2010 build)"
143   WriteRegStr HKLM ${UninstallKey} "DisplayVersion" "${FGVersion}"
144   WriteRegStr HKLM ${UninstallKey} "UninstallString" "$INSTDIR\FlightGear_Uninstall.exe"
145   WriteRegStr HKLM ${UninstallKey} "UninstallPath" "$INSTDIR\FlightGear_Uninstall.exe"
146   WriteRegDWORD HKLM ${UninstallKey} "NoModify" 1
147   WriteRegDWORD HKLM ${UninstallKey} "NoRepair" 1
148   WriteRegStr HKLM ${UninstallKey} "URLInfoAbout" "http://www.flightgear.org/"
149  
150 SectionEnd
151
152
153
154 Section "Uninstall"
155    
156   SetShellVarContext all
157   
158   
159   Delete "$SMPROGRAMS\FlightGear\FlightGear-nightly-2010.lnk"
160   Delete "$SMPROGRAMS\FlightGear\FGCom-nightly-2010.lnk"
161   Delete "$SMPROGRAMS\FlightGear\FGCom-testing-nightly-2010.lnk"
162   ; only delete the FlightGear group if it's empty
163   RMDir "$SMPROGRAMS\FlightGear"
164   
165   RMDir /r "$INSTDIR"
166   
167   DeleteRegKey HKLM ${UninstallKey}
168
169 SectionEnd
170