aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra
diff options
context:
space:
mode:
authorMcCabe Maxsted2011-07-12 16:08:40 -0700
committerMcCabe Maxsted2011-07-12 16:08:40 -0700
commit5ce3a3e900d1a780ff7736546bb393563826f462 (patch)
treee23dbff92898bc6b64f2221b21829a59455b4698 /linden/indra
parentUpdated the way the Windows installer handles the VC++ redist files. Includes... (diff)
downloadmeta-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.iss120
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
17VersionInfoVersion=1.4.0 17VersionInfoVersion=1.4.0
18VersionInfoTextVersion=1.4.0 18VersionInfoTextVersion=1.4.0
19VersionInfoProductVersion=1.4.0 19VersionInfoProductVersion=1.4.0
20AppVersion=1.4.0
20VersionInfoCopyright=2011 21VersionInfoCopyright=2011
21AppCopyright=2011
22 22
23; These won't change 23; These won't change
24VersionInfoCompany=Imprudence 24VersionInfoCompany=Imprudence
25AppPublisher=The Imprudence Project 25AppPublisher=The Imprudence Project
26AppPublisherURL=http://kokuaviewer.org 26AppPublisherURL=http://kokuaviewer.org
27AppSupportURL=http://kokuaviewer.org 27AppSupportURL=http://kokuaviewer.org
28AppUpdatesURL=http://kokuaviewer.org
29AllowNoIcons=true 28AllowNoIcons=true
30InfoAfterFile=..\..\..\..\..\README.txt 29InfoAfterFile=..\..\..\..\..\README.txt
31OutputDir=C:\imprudence_installers 30OutputDir=C:\imprudence_installers
@@ -33,11 +32,13 @@ SetupIconFile=..\windows\imp_icon.ico
33Compression=lzma2/ultra64 32Compression=lzma2/ultra64
34InternalCompressLevel=ultra64 33InternalCompressLevel=ultra64
35SolidCompression=true 34SolidCompression=true
36;PrivilegesRequired=poweruser 35PrivilegesRequired=poweruser
37AllowRootDirectory=true 36AllowRootDirectory=true
38WizardImageFile=..\windows\imprudence_installer_icon_left.bmp 37WizardImageFile=..\windows\imprudence_installer_icon_left.bmp
39WizardSmallImageFile=..\windows\imprudence_installer_icon_right.bmp 38WizardSmallImageFile=..\windows\imprudence_installer_icon_right.bmp
40SetupLogging=true 39SetupLogging=true
40RestartIfNeededByRun=false
41AlwaysRestart=false
41 42
42[Languages] 43[Languages]
43Name: english; MessagesFile: compiler:Default.isl 44Name: english; MessagesFile: compiler:Default.isl
@@ -141,8 +142,10 @@ Source: ..\..\..\build-vc80\newview\release\package\SLVoice.exe; DestDir: {app};
141Source: ..\..\..\build-vc80\newview\release\package\vivoxsdk.dll; DestDir: {app}; Flags: ignoreversion 142Source: ..\..\..\build-vc80\newview\release\package\vivoxsdk.dll; DestDir: {app}; Flags: ignoreversion
142Source: ..\..\..\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
143 144
144; VC++ 2005 x86 redist 145; VC++ 2005 SP1 x86, VC++ 2008 SP1 x86, and VC++ 2010 SP1 x86 redist
145Source: ..\windows\vcredist_x86_VS2005.exe; DestDir: {tmp}; DestName: vcredist_x86_2005.exe 146Source: ..\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
148Source: ..\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]
174Filename: {app}\imprudence.exe; WorkingDir: {app}; Flags: nowait postinstall 177Filename: {app}\imprudence.exe; WorkingDir: {app}; Flags: nowait postinstall
175Filename: {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
176Filename: {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.
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
177 190
178[UninstallDelete] 191[UninstallDelete]
179Name: {userappdata}\Imprudence\user_settings\password.dat; Type: files; Languages: 192Name: {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:
193Name: {app}\lib\gstreamer-plugins\*; Type: filesandordirs; Tasks: ; Languages: 206Name: {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
209Name: {app}\skins\silver\xui\en-us\*; Type: filesandordirs; Tasks: ; Languages:
210Name: {app}\app_settings\mozilla; Type: filesandordirs; Tasks: ; Languages:
211Name: {app}\app_settings\mozilla_debug; Type: filesandordirs; Tasks: ; Languages:
212Name: {app}\app_settings\viewerversion.xml; Type: filesandordirs; Tasks: ; Languages:
196Name: C:\Documents and Settings\{username}\.gstreamer-0.10\*; Type: filesandordirs 213Name: C:\Documents and Settings\{username}\.gstreamer-0.10\*; Type: filesandordirs
197Name: C:\Users\{username}\.gstreamer-0.10\*; Type: filesandordirs 214Name: 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:
270Name: {app}\msvcr80.dll; Type: files; Tasks: ; Languages: 287Name: {app}\msvcr80.dll; Type: files; Tasks: ; Languages:
271Name: {app}\msvcr71.dll; Type: files; Tasks: ; Languages: 288Name: {app}\msvcr71.dll; Type: files; Tasks: ; Languages:
272Name: {app}\imprudence.exe.config; Type: files; Tasks: ; Languages: 289Name: {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)
295function IsVS2010RedistInstalled(): Boolean;
296var
297 V: Cardinal;
298 Success: Boolean;
299begin
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
315end;
316
317function Needs2010Redist(): Boolean;
318begin
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
374end;