aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/installers/windows
diff options
context:
space:
mode:
authorMcCabe Maxsted2011-07-08 21:54:09 -0700
committerMcCabe Maxsted2011-07-08 22:08:21 -0700
commit0eb356875bfa7681f2f28bc17545c77fdd9c1881 (patch)
treed52c0ef881175b133bea2b76f738fd6595e3c659 /linden/indra/newview/installers/windows
parentFix #985: Crash after teleport (diff)
downloadmeta-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.iss79
-rw-r--r--linden/indra/newview/installers/windows/vcredist_x86_VS2005_SP1.exebin2686232 -> 0 bytes
-rw-r--r--linden/indra/newview/installers/windows/vcredist_x86_VS2005_SP1_MFC_SEC.EXEbin0 -> 2707352 bytes
-rw-r--r--linden/indra/newview/installers/windows/vcredist_x86_VS2008_SP1_ATL_SEC.exebin0 -> 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
32Compression=lzma2/ultra64 32Compression=lzma2/ultra64
33InternalCompressLevel=ultra64 33InternalCompressLevel=ultra64
34SolidCompression=true 34SolidCompression=true
35;PrivilegesRequired=poweruser 35PrivilegesRequired=poweruser
36AllowRootDirectory=true 36AllowRootDirectory=true
37WizardImageFile=..\windows\imprudence_installer_icon_left.bmp 37WizardImageFile=..\windows\imprudence_installer_icon_left.bmp
38WizardSmallImageFile=..\windows\imprudence_installer_icon_right.bmp 38WizardSmallImageFile=..\windows\imprudence_installer_icon_right.bmp
@@ -142,10 +142,10 @@ Source: ..\..\..\build-vc80\newview\release\package\SLVoice.exe; DestDir: {app};
142Source: ..\..\..\build-vc80\newview\release\package\vivoxsdk.dll; DestDir: {app}; Flags: ignoreversion 142Source: ..\..\..\build-vc80\newview\release\package\vivoxsdk.dll; DestDir: {app}; Flags: ignoreversion
143Source: ..\..\..\build-vc80\newview\release\package\wrap_oal.dll; DestDir: {app}; Flags: ignoreversion 143Source: ..\..\..\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 146Source: ..\windows\vcredist_x86_VS2005_SP1_MFC_SEC.exe; DestDir: {app}\redist; DestName: vcredist_x86_VS2005_SP1_MFC_SEC.exe
147Source: ..\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
148Source: ..\windows\vcredist_x86_VS2010_SP1.exe; DestDir: {tmp}; DestName: vcredist_x86_VS2010_SP1.exe 148Source: ..\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]
177Filename: {app}\imprudence.exe; WorkingDir: {app}; Flags: nowait postinstall 177Filename: {app}\imprudence.exe; WorkingDir: {app}; Flags: nowait postinstall
178Filename: {app}\imprudence.url; WorkingDir: {app}; Flags: nowait postinstall shellexec; Description: See what makes Imprudence different 178Filename: {app}\imprudence.url; WorkingDir: {app}; Flags: nowait postinstall shellexec; Description: See what makes Imprudence different
179Filename: {tmp}\vcredist_x86_VS2005_SP1.exe; Parameters: "/q:a /c:""VCREDI~1.EXE /q:a /c:""""msiexec /i vcredist.msi /qn"""" """; Flags: runhidden 179
180Filename: {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.
187Filename: {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
189Filename: {app}\redist\vcredist_x86_VS2010_SP1.exe; Parameters: "/q /norestart"; Check: Needs2010Redist; Flags: runhidden
181 190
182[UninstallDelete] 191[UninstallDelete]
183Name: {userappdata}\Imprudence\user_settings\password.dat; Type: files; Languages: 192Name: {userappdata}\Imprudence\user_settings\password.dat; Type: files; Languages:
@@ -308,4 +317,58 @@ end;
308function Needs2010Redist(): Boolean; 317function Needs2010Redist(): Boolean;
309begin 318begin
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
325end;
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
328const
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
348function MsiQueryProductState(ProductCode: String): Integer;
349 external 'MsiQueryProductStateA@msi.dll stdcall';
350
351function IsProductCodeInstalled(ProductUUID: String): Boolean;
352begin
353 Result := (MsiQueryProductState(ProductUUID) = INSTALLSTATE_DEFAULT);
354end;
355
356function Needs2005Redist(): Boolean;
357begin
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
364end;
365
366function Needs2008Redist(): Boolean;
367begin
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
311end; 374end;
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