diff options
author | McCabe Maxsted | 2011-07-08 21:54:09 -0700 |
---|---|---|
committer | McCabe Maxsted | 2011-07-08 22:08:21 -0700 |
commit | 0eb356875bfa7681f2f28bc17545c77fdd9c1881 (patch) | |
tree | d52c0ef881175b133bea2b76f738fd6595e3c659 /linden/indra/newview/installers/windows | |
parent | Fix #985: Crash after teleport (diff) | |
download | meta-impy-0eb356875bfa7681f2f28bc17545c77fdd9c1881.zip meta-impy-0eb356875bfa7681f2f28bc17545c77fdd9c1881.tar.gz meta-impy-0eb356875bfa7681f2f28bc17545c77fdd9c1881.tar.bz2 meta-impy-0eb356875bfa7681f2f28bc17545c77fdd9c1881.tar.xz |
Updated the way the Windows installer handles the VC++ redist files. Includes the following changes:
* Updated the VC++ 2005 redist to 8.0.50727.6195. Installers created under Win7 should now work under XP.
* Added 2008 redist to the repo in case we ever need it/people who fork from us want to use it 2008 instead of 2005.
* Added a check to see if we should install redstributables for 2005/2008 or not.
* Fixed issue with the 2005 redist not installing when it should under Vista/7.
* The installer now copies redistributables to a new subfolder: 'redist'. Anyone having 'application configuration' errors should be told to run the files in there
Diffstat (limited to 'linden/indra/newview/installers/windows')
-rw-r--r-- | linden/indra/newview/installers/windows/imprudence_installer_script.iss | 79 | ||||
-rw-r--r-- | linden/indra/newview/installers/windows/vcredist_x86_VS2005_SP1.exe | bin | 2686232 -> 0 bytes | |||
-rw-r--r-- | linden/indra/newview/installers/windows/vcredist_x86_VS2005_SP1_MFC_SEC.EXE | bin | 0 -> 2707352 bytes | |||
-rw-r--r-- | linden/indra/newview/installers/windows/vcredist_x86_VS2008_SP1_ATL_SEC.exe | bin | 0 -> 4485976 bytes |
4 files changed, 71 insertions, 8 deletions
diff --git a/linden/indra/newview/installers/windows/imprudence_installer_script.iss b/linden/indra/newview/installers/windows/imprudence_installer_script.iss index 783ea0f..e463640 100644 --- a/linden/indra/newview/installers/windows/imprudence_installer_script.iss +++ b/linden/indra/newview/installers/windows/imprudence_installer_script.iss | |||
@@ -1,4 +1,4 @@ | |||
1 | ; InWorldz inno setup installer script by McCabe Maxsted | 1 | ; Imprudence inno setup installer script by McCabe Maxsted |
2 | ; This script only works with VS2005, currently | 2 | ; This script only works with VS2005, currently |
3 | 3 | ||
4 | [Setup] | 4 | [Setup] |
@@ -32,7 +32,7 @@ SetupIconFile=..\windows\imp_icon.ico | |||
32 | Compression=lzma2/ultra64 | 32 | Compression=lzma2/ultra64 |
33 | InternalCompressLevel=ultra64 | 33 | InternalCompressLevel=ultra64 |
34 | SolidCompression=true | 34 | SolidCompression=true |
35 | ;PrivilegesRequired=poweruser | 35 | PrivilegesRequired=poweruser |
36 | AllowRootDirectory=true | 36 | AllowRootDirectory=true |
37 | WizardImageFile=..\windows\imprudence_installer_icon_left.bmp | 37 | WizardImageFile=..\windows\imprudence_installer_icon_left.bmp |
38 | WizardSmallImageFile=..\windows\imprudence_installer_icon_right.bmp | 38 | WizardSmallImageFile=..\windows\imprudence_installer_icon_right.bmp |
@@ -142,10 +142,10 @@ Source: ..\..\..\build-vc80\newview\release\package\SLVoice.exe; DestDir: {app}; | |||
142 | 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 |
143 | 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 |
144 | 144 | ||
145 | ; VC++ 2005 SP1 x86 and VC++ 2010 SP1 x86 redist | 145 | ; VC++ 2005 SP1 x86, VC++ 2008 SP1 x86, and VC++ 2010 SP1 x86 redist |
146 | ; TODO: add checking for VS2005. See http://blogs.msdn.com/b/astebner/archive/2007/01/16/mailbag-how-to-detect-the-presence-of-the-vc-8-0-runtime-redistributable-package.aspx and | 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_VS2005_SP1.exe; DestDir: {tmp}; DestName: vcredist_x86_VS2005_SP1.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: {tmp}; DestName: vcredist_x86_VS2010_SP1.exe | 148 | Source: ..\windows\vcredist_x86_VS2010_SP1.exe; DestDir: {app}\redist; DestName: vcredist_x86_VS2010_SP1.exe |
149 | 149 | ||
150 | ; Old files we don't use anymore: | 150 | ; Old files we don't use anymore: |
151 | ; 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 |
@@ -176,8 +176,17 @@ Name: {group}\Imprudence; Filename: {app}\imprudence.exe; WorkingDir: {app}; Com | |||
176 | [Run] | 176 | [Run] |
177 | Filename: {app}\imprudence.exe; WorkingDir: {app}; Flags: nowait postinstall | 177 | Filename: {app}\imprudence.exe; WorkingDir: {app}; Flags: nowait postinstall |
178 | 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 |
179 | Filename: {tmp}\vcredist_x86_VS2005_SP1.exe; Parameters: "/q:a /c:""VCREDI~1.EXE /q:a /c:""""msiexec /i vcredist.msi /qn"""" """; Flags: runhidden | 179 | |
180 | Filename: {tmp}\vcredist_x86_VS2010_SP1.exe; Parameters: "/q /norestart"; Check: Needs2010Redist; Flags: runhidden | 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 | ||
181 | 190 | ||
182 | [UninstallDelete] | 191 | [UninstallDelete] |
183 | Name: {userappdata}\Imprudence\user_settings\password.dat; Type: files; Languages: | 192 | Name: {userappdata}\Imprudence\user_settings\password.dat; Type: files; Languages: |
@@ -308,4 +317,58 @@ end; | |||
308 | function Needs2010Redist(): Boolean; | 317 | function Needs2010Redist(): Boolean; |
309 | begin | 318 | begin |
310 | Result := (IsVS2010RedistInstalled = FALSE); | 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 | ||
311 | end; | 374 | end; |
diff --git a/linden/indra/newview/installers/windows/vcredist_x86_VS2005_SP1.exe b/linden/indra/newview/installers/windows/vcredist_x86_VS2005_SP1.exe deleted file mode 100644 index 1421c29..0000000 --- a/linden/indra/newview/installers/windows/vcredist_x86_VS2005_SP1.exe +++ /dev/null | |||
Binary files differ | |||
diff --git a/linden/indra/newview/installers/windows/vcredist_x86_VS2005_SP1_MFC_SEC.EXE b/linden/indra/newview/installers/windows/vcredist_x86_VS2005_SP1_MFC_SEC.EXE new file mode 100644 index 0000000..8cd783c --- /dev/null +++ b/linden/indra/newview/installers/windows/vcredist_x86_VS2005_SP1_MFC_SEC.EXE | |||
Binary files differ | |||
diff --git a/linden/indra/newview/installers/windows/vcredist_x86_VS2008_SP1_ATL_SEC.exe b/linden/indra/newview/installers/windows/vcredist_x86_VS2008_SP1_ATL_SEC.exe new file mode 100644 index 0000000..378e7f0 --- /dev/null +++ b/linden/indra/newview/installers/windows/vcredist_x86_VS2008_SP1_ATL_SEC.exe | |||
Binary files differ | |||