diff options
author | McCabe Maxsted | 2011-07-12 16:08:40 -0700 |
---|---|---|
committer | McCabe Maxsted | 2011-07-12 16:08:40 -0700 |
commit | 5ce3a3e900d1a780ff7736546bb393563826f462 (patch) | |
tree | e23dbff92898bc6b64f2221b21829a59455b4698 /linden/indra | |
parent | Updated the way the Windows installer handles the VC++ redist files. Includes... (diff) | |
download | meta-impy-5ce3a3e900d1a780ff7736546bb393563826f462.zip meta-impy-5ce3a3e900d1a780ff7736546bb393563826f462.tar.gz meta-impy-5ce3a3e900d1a780ff7736546bb393563826f462.tar.bz2 meta-impy-5ce3a3e900d1a780ff7736546bb393563826f462.tar.xz |
Updated the experimental installer script
Diffstat (limited to 'linden/indra')
-rw-r--r-- | linden/indra/newview/installers/windows/imprudence_installer_script_experimental.iss | 120 |
1 files changed, 111 insertions, 9 deletions
diff --git a/linden/indra/newview/installers/windows/imprudence_installer_script_experimental.iss b/linden/indra/newview/installers/windows/imprudence_installer_script_experimental.iss index 99eb4fe..400eb48 100644 --- a/linden/indra/newview/installers/windows/imprudence_installer_script_experimental.iss +++ b/linden/indra/newview/installers/windows/imprudence_installer_script_experimental.iss | |||
@@ -1,5 +1,5 @@ | |||
1 | ; Script generated by the Inno Setup Script Wizard. | 1 | ; Imprudence inno setup installer script by McCabe Maxsted |
2 | ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! | 2 | ; This script only works with VS2005, currently |
3 | 3 | ||
4 | [Setup] | 4 | [Setup] |
5 | ; NOTE: The value of AppId uniquely identifies this application. | 5 | ; NOTE: The value of AppId uniquely identifies this application. |
@@ -17,15 +17,14 @@ OutputBaseFilename=Imprudence-1.4.0-Experimental-2011.04.19-Setup | |||
17 | VersionInfoVersion=1.4.0 | 17 | VersionInfoVersion=1.4.0 |
18 | VersionInfoTextVersion=1.4.0 | 18 | VersionInfoTextVersion=1.4.0 |
19 | VersionInfoProductVersion=1.4.0 | 19 | VersionInfoProductVersion=1.4.0 |
20 | AppVersion=1.4.0 | ||
20 | VersionInfoCopyright=2011 | 21 | VersionInfoCopyright=2011 |
21 | AppCopyright=2011 | ||
22 | 22 | ||
23 | ; These won't change | 23 | ; These won't change |
24 | VersionInfoCompany=Imprudence | 24 | VersionInfoCompany=Imprudence |
25 | AppPublisher=The Imprudence Project | 25 | AppPublisher=The Imprudence Project |
26 | AppPublisherURL=http://kokuaviewer.org | 26 | AppPublisherURL=http://kokuaviewer.org |
27 | AppSupportURL=http://kokuaviewer.org | 27 | AppSupportURL=http://kokuaviewer.org |
28 | AppUpdatesURL=http://kokuaviewer.org | ||
29 | AllowNoIcons=true | 28 | AllowNoIcons=true |
30 | InfoAfterFile=..\..\..\..\..\README.txt | 29 | InfoAfterFile=..\..\..\..\..\README.txt |
31 | OutputDir=C:\imprudence_installers | 30 | OutputDir=C:\imprudence_installers |
@@ -33,11 +32,13 @@ SetupIconFile=..\windows\imp_icon.ico | |||
33 | Compression=lzma2/ultra64 | 32 | Compression=lzma2/ultra64 |
34 | InternalCompressLevel=ultra64 | 33 | InternalCompressLevel=ultra64 |
35 | SolidCompression=true | 34 | SolidCompression=true |
36 | ;PrivilegesRequired=poweruser | 35 | PrivilegesRequired=poweruser |
37 | AllowRootDirectory=true | 36 | AllowRootDirectory=true |
38 | WizardImageFile=..\windows\imprudence_installer_icon_left.bmp | 37 | WizardImageFile=..\windows\imprudence_installer_icon_left.bmp |
39 | WizardSmallImageFile=..\windows\imprudence_installer_icon_right.bmp | 38 | WizardSmallImageFile=..\windows\imprudence_installer_icon_right.bmp |
40 | SetupLogging=true | 39 | SetupLogging=true |
40 | RestartIfNeededByRun=false | ||
41 | AlwaysRestart=false | ||
41 | 42 | ||
42 | [Languages] | 43 | [Languages] |
43 | Name: english; MessagesFile: compiler:Default.isl | 44 | Name: english; MessagesFile: compiler:Default.isl |
@@ -141,8 +142,10 @@ Source: ..\..\..\build-vc80\newview\release\package\SLVoice.exe; DestDir: {app}; | |||
141 | Source: ..\..\..\build-vc80\newview\release\package\vivoxsdk.dll; DestDir: {app}; Flags: ignoreversion | 142 | Source: ..\..\..\build-vc80\newview\release\package\vivoxsdk.dll; DestDir: {app}; Flags: ignoreversion |
142 | Source: ..\..\..\build-vc80\newview\release\package\wrap_oal.dll; DestDir: {app}; Flags: ignoreversion | 143 | Source: ..\..\..\build-vc80\newview\release\package\wrap_oal.dll; DestDir: {app}; Flags: ignoreversion |
143 | 144 | ||
144 | ; VC++ 2005 x86 redist | 145 | ; VC++ 2005 SP1 x86, VC++ 2008 SP1 x86, and VC++ 2010 SP1 x86 redist |
145 | Source: ..\windows\vcredist_x86_VS2005.exe; DestDir: {tmp}; DestName: vcredist_x86_2005.exe | 146 | Source: ..\windows\vcredist_x86_VS2005_SP1_MFC_SEC.exe; DestDir: {app}\redist; DestName: vcredist_x86_VS2005_SP1_MFC_SEC.exe |
147 | ;Source: ..\windows\vcredist_x86_VS2008_SP1_ATL_SEC.exe; DestDir: {app}\redist; DestName: vcredist_x86_VS2008_SP1_ATL_SEC.exe | ||
148 | Source: ..\windows\vcredist_x86_VS2010_SP1.exe; DestDir: {app}\redist; DestName: vcredist_x86_VS2010_SP1.exe | ||
146 | 149 | ||
147 | ; Old files we don't use anymore: | 150 | ; Old files we don't use anymore: |
148 | ; Source: ..\..\..\build-vc80\newview\release\package\dronesettings.xml; DestDir: {app}; Flags: ignoreversion | 151 | ; Source: ..\..\..\build-vc80\newview\release\package\dronesettings.xml; DestDir: {app}; Flags: ignoreversion |
@@ -173,7 +176,17 @@ Name: {group}\Imprudence Experimental; Filename: {app}\imprudence.exe; WorkingDi | |||
173 | [Run] | 176 | [Run] |
174 | Filename: {app}\imprudence.exe; WorkingDir: {app}; Flags: nowait postinstall | 177 | Filename: {app}\imprudence.exe; WorkingDir: {app}; Flags: nowait postinstall |
175 | Filename: {app}\imprudence.url; WorkingDir: {app}; Flags: nowait postinstall shellexec; Description: See what makes Imprudence different | 178 | Filename: {app}\imprudence.url; WorkingDir: {app}; Flags: nowait postinstall shellexec; Description: See what makes Imprudence different |
176 | Filename: {tmp}\vcredist_x86_2005.exe; Parameters: "/q:a /c:""VCREDI~1.EXE /q:a /c:""""msiexec /i vcredist.msi /qn"""" """; Flags: runhidden | 179 | |
180 | ; Install redistributables. | ||
181 | ; | ||
182 | ; !!!!BEWARE!!!! | ||
183 | ; | ||
184 | ; Command line parameters and filenames WILL change with each version. Blame Microsoft. | ||
185 | |||
186 | ; Always use /q for VS2005 rather than something quieter such as Parameters: "/q:a c:""msiexec /i vcredist.msi /qn"" ". The redist will fail sometimes if you do otherwise. | ||
187 | Filename: {app}\redist\vcredist_x86_VS2005_SP1_MFC_SEC.exe; Parameters: "/q"; Check: Needs2005Redist; Flags: runhidden | ||
188 | ;Filename: {app}\redist\vcredist_x86_VS2008_SP1_ATL_SEC.exe; Parameters: "/q"; Check: Needs2008Redist; Flags: runhidden | ||
189 | Filename: {app}\redist\vcredist_x86_VS2010_SP1.exe; Parameters: "/q /norestart"; Check: Needs2010Redist; Flags: runhidden | ||
177 | 190 | ||
178 | [UninstallDelete] | 191 | [UninstallDelete] |
179 | Name: {userappdata}\Imprudence\user_settings\password.dat; Type: files; Languages: | 192 | Name: {userappdata}\Imprudence\user_settings\password.dat; Type: files; Languages: |
@@ -192,7 +205,11 @@ Name: C:\Documents and Settings\{username}\.gstreamer-0.10; Type: filesandordirs | |||
192 | ; Name: {app}\*.dll; Type: files; Tasks: ; Languages: | 205 | ; Name: {app}\*.dll; Type: files; Tasks: ; Languages: |
193 | Name: {app}\lib\gstreamer-plugins\*; Type: filesandordirs; Tasks: ; Languages: | 206 | Name: {app}\lib\gstreamer-plugins\*; Type: filesandordirs; Tasks: ; Languages: |
194 | ; Name: {app}\skins\default\xui\*; Type: filesandordirs; Tasks: ; Languages: | 207 | ; Name: {app}\skins\default\xui\*; Type: filesandordirs; Tasks: ; Languages: |
195 | ; Name: {app}\skins\silver\xui\*; Type: filesandordirs; Tasks: ; Languages: | 208 | ; Old xui skin files can cause bugs, always kill them |
209 | Name: {app}\skins\silver\xui\en-us\*; Type: filesandordirs; Tasks: ; Languages: | ||
210 | Name: {app}\app_settings\mozilla; Type: filesandordirs; Tasks: ; Languages: | ||
211 | Name: {app}\app_settings\mozilla_debug; Type: filesandordirs; Tasks: ; Languages: | ||
212 | Name: {app}\app_settings\viewerversion.xml; Type: filesandordirs; Tasks: ; Languages: | ||
196 | Name: C:\Documents and Settings\{username}\.gstreamer-0.10\*; Type: filesandordirs | 213 | Name: C:\Documents and Settings\{username}\.gstreamer-0.10\*; Type: filesandordirs |
197 | Name: C:\Users\{username}\.gstreamer-0.10\*; Type: filesandordirs | 214 | Name: C:\Users\{username}\.gstreamer-0.10\*; Type: filesandordirs |
198 | ; Breaks the browser if installing on top of 1.1: | 215 | ; Breaks the browser if installing on top of 1.1: |
@@ -270,3 +287,88 @@ Name: {app}\msvcp80.dll; Type: files; Tasks: ; Languages: | |||
270 | Name: {app}\msvcr80.dll; Type: files; Tasks: ; Languages: | 287 | Name: {app}\msvcr80.dll; Type: files; Tasks: ; Languages: |
271 | Name: {app}\msvcr71.dll; Type: files; Tasks: ; Languages: | 288 | Name: {app}\msvcr71.dll; Type: files; Tasks: ; Languages: |
272 | Name: {app}\imprudence.exe.config; Type: files; Tasks: ; Languages: | 289 | Name: {app}\imprudence.exe.config; Type: files; Tasks: ; Languages: |
290 | |||
291 | |||
292 | [Code] | ||
293 | // [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86] | ||
294 | // Installed = 1 (REG_DWORD) | ||
295 | function IsVS2010RedistInstalled(): Boolean; | ||
296 | var | ||
297 | V: Cardinal; | ||
298 | Success: Boolean; | ||
299 | begin | ||
300 | if IsWin64 then begin | ||
301 | Success := RegQueryDWordValue(HKLM64, 'SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86', 'Installed', V); | ||
302 | end else begin | ||
303 | Success := RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86', 'Installed', V); | ||
304 | end | ||
305 | |||
306 | if Success = TRUE then begin | ||
307 | if V = 1 then begin | ||
308 | Result := TRUE; | ||
309 | end else begin | ||
310 | Result := FALSE; | ||
311 | end | ||
312 | end else begin | ||
313 | Result := FALSE; | ||
314 | end | ||
315 | end; | ||
316 | |||
317 | function Needs2010Redist(): Boolean; | ||
318 | begin | ||
319 | Result := (IsVS2010RedistInstalled = FALSE); | ||
320 | if (Result = TRUE) then begin | ||
321 | Log('User system needs VS 2010 SP1 x86 Redistributable, installing.'); | ||
322 | end else begin | ||
323 | Log('User already has VS 2010 SP1 x86 Redistributable installed, skipping.'); | ||
324 | end | ||
325 | end; | ||
326 | |||
327 | // VS2008 and 2005 x86 redists. Always look for the latest version we know about. I wish there were a better way to check for these | ||
328 | const | ||
329 | VS2005_X86 = '{A49F249F-0C91-497F-86DF-B2585E8E76B7}'; // http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE | ||
330 | VS2005_SP1_X86 = '{7299052B-02A4-4627-81F2-1818DA5D550D}'; // 8.0.50727.762: http://www.microsoft.com/downloads/details.aspx?FamilyID=200B2FD9-AE1A-4A14-984D-389C36F85647 | ||
331 | VS2005_SP1_X86_ATL_SEC = '{837B34E3-7C30-493C-8F6A-2B0F04E2912C}'; // 8.0.50727.4053: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=14431 | ||
332 | VS2005_SP1_X86_MFC_SEC = '{710f4c1c-cc18-4c49-8cbf-51240c89a1a2}'; // 8.0.50727.6195: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=26347 | ||
333 | |||
334 | VS2008_X86 = '{FF66E9F6-83E7-3A3E-AF14-8DE9A809A6A4}'; // http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf | ||
335 | VS2008_SP1_X86 = '{9A25302D-30C0-39D9-BD6F-21E6EC160475}'; // 9.0.30729.17: http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2 | ||
336 | VS2008_SP1_X86_ATL_SEC = '{1F1C2DFC-2D24-3E06-BCB8-725134ADF989}'; // 9.0.30729.4148: http://www.microsoft.com/downloads/details.aspx?familyid=2051A0C1-C9B5-4B0A-A8F5-770A549FD78C | ||
337 | // These updates currently don't have redist links: | ||
338 | // 9.0.30729.5026: | ||
339 | // 9.0.30729.5570: | ||
340 | // 9.0.30729.6161: http://support.microsoft.com/kb/2538243 | ||
341 | |||
342 | INSTALLSTATE_INVALIDARG = -2; // An invalid parameter was passed to the function | ||
343 | INSTALLSTATE_UNKNOWN = -1; // The product is not advertised or installed | ||
344 | INSTALLSTATE_ADVERTISED = 1; // The product is advertised but not installed | ||
345 | INSTALLSTATE_ABSENT = 2; // The product is installed for a different user | ||
346 | INSTALLSTATE_DEFAULT = 5; // The product is installed for the current user | ||
347 | |||
348 | function MsiQueryProductState(ProductCode: String): Integer; | ||
349 | external 'MsiQueryProductStateA@msi.dll stdcall'; | ||
350 | |||
351 | function IsProductCodeInstalled(ProductUUID: String): Boolean; | ||
352 | begin | ||
353 | Result := (MsiQueryProductState(ProductUUID) = INSTALLSTATE_DEFAULT); | ||
354 | end; | ||
355 | |||
356 | function Needs2005Redist(): Boolean; | ||
357 | begin | ||
358 | Result:= (IsProductCodeInstalled(VS2005_SP1_X86_MFC_SEC) = FALSE); | ||
359 | if (Result = TRUE) then begin | ||
360 | Log('User system needs VS 2005 SP1 x86 Redistributable, installing.'); | ||
361 | end else begin | ||
362 | Log('User already has VS 2005 SP1 x86 Redistributable installed, skipping.'); | ||
363 | end | ||
364 | end; | ||
365 | |||
366 | function Needs2008Redist(): Boolean; | ||
367 | begin | ||
368 | Result := (IsProductCodeInstalled(VS2008_SP1_X86_ATL_SEC) = FALSE); | ||
369 | if (Result = TRUE) then begin | ||
370 | Log('User system needs VS 2008 SP1 x86 Redistributable, installing.'); | ||
371 | end else begin | ||
372 | Log('User already has VS 2008 SP1 x86 Redistributable installed, skipping.'); | ||
373 | end | ||
374 | end; | ||