aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/installers
diff options
context:
space:
mode:
authorMcCabe Maxsted2011-07-13 21:35:31 -0700
committerMcCabe Maxsted2011-09-08 16:47:46 -0700
commit0e18be36d49140365ba1092bd965b645c4bf1eef (patch)
treed5820f876e9741be5be1540a3af807fdc505f678 /linden/indra/newview/installers
parentRemoved packaging private assemblies since that's no longer how we distribute... (diff)
downloadmeta-impy-0e18be36d49140365ba1092bd965b645c4bf1eef.zip
meta-impy-0e18be36d49140365ba1092bd965b645c4bf1eef.tar.gz
meta-impy-0e18be36d49140365ba1092bd965b645c4bf1eef.tar.bz2
meta-impy-0e18be36d49140365ba1092bd965b645c4bf1eef.tar.xz
Added a new Windows installer script for ISS. Packaging now just generates a versioned script that must be compiled (currently) by hand. Leaving the NSIS files to be cleaned up as the installer work continues
Diffstat (limited to 'linden/indra/newview/installers')
-rw-r--r--linden/indra/newview/installers/windows/inworldz_installer_template.iss367
1 files changed, 367 insertions, 0 deletions
diff --git a/linden/indra/newview/installers/windows/inworldz_installer_template.iss b/linden/indra/newview/installers/windows/inworldz_installer_template.iss
new file mode 100644
index 0000000..655ebc5
--- /dev/null
+++ b/linden/indra/newview/installers/windows/inworldz_installer_template.iss
@@ -0,0 +1,367 @@
1; InWorldz inno setup installer template by McCabe Maxsted
2
3[Setup]
4; NOTE: The value of AppId uniquely identifies this application.
5; Do not use the same AppId value in installers for other applications.
6; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
7
8; These will change
9AppId={{DC6CCE02-BC61-43B1-B4CA-292C6BCCCB34}
10AppName=%%APPNAME%%
11AppVerName=%%APPVERNAME%%
12DefaultDirName={pf}\InWorldz
13DefaultGroupName=InWorldz
14VersionInfoProductName=%%APPNAME%%
15OutputBaseFilename=%%INSTALLERFILENAME%%
16VersionInfoVersion=%%VERSION%%
17VersionInfoTextVersion=%%VERSION%%
18VersionInfoProductVersion=%%VERSION%%
19AppVersion=%%VERSION%%
20VersionInfoCopyright=2011
21
22; These won't change
23VersionInfoCompany=InWorldz, LLC
24AppPublisher=InWorldz, LLC
25AppPublisherURL=http://inworldz.com
26AppSupportURL=http://inworldz.com
27AllowNoIcons=true
28InfoAfterFile=..\..\..\..\..\..\README.txt
29OutputDir=.
30SetupIconFile=..\..\..\..\newview\installers\windows\install_icon.ico
31Compression=lzma2/ultra64
32InternalCompressLevel=ultra64
33SolidCompression=true
34PrivilegesRequired=poweruser
35AllowRootDirectory=true
36WizardImageFile=..\..\..\..\newview\installers\windows\installer_icon_left.bmp
37WizardSmallImageFile=..\..\..\..\newview\installers\windows\installer_icon_right.bmp
38SetupLogging=true
39RestartIfNeededByRun=false
40AlwaysRestart=false
41
42[Languages]
43Name: english; MessagesFile: compiler:Default.isl
44
45[Tasks]
46Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: checkedonce
47Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: checkedonce
48; TODO: use scripting for something like this on uninstall:
49; Name: uninstallsettings; Description: Remove user settings; Flags: checkablealone; Languages: ; GroupDescription: Uninstall:
50
51; NOTE VS2005 is currently the only version supported anywhere in the packaging system, so we can do this here
52[Files]
53Source: %%PACKAGEFILES%%\inworldz.exe; DestDir: {app}; Flags: ignoreversion
54Source: %%PACKAGEFILES%%\character\*; DestDir: {app}\character; Flags: ignoreversion recursesubdirs createallsubdirs
55Source: %%PACKAGEFILES%%\fonts\*; DestDir: {app}\fonts; Flags: ignoreversion recursesubdirs createallsubdirs
56Source: %%PACKAGEFILES%%\app_settings\*; DestDir: {app}\app_settings; Flags: ignoreversion recursesubdirs createallsubdirs
57Source: %%PACKAGEFILES%%\skins\*; DestDir: {app}\skins; Flags: ignoreversion recursesubdirs createallsubdirs
58Source: %%PACKAGEFILES%%\llplugin\*; DestDir: {app}\llplugin; Flags: ignoreversion recursesubdirs createallsubdirs
59Source: %%PACKAGEFILES%%\doc\*; DestDir: {app}\doc; Flags: ignoreversion recursesubdirs createallsubdirs
60Source: %%PACKAGEFILES%%\alut.dll; DestDir: {app}; Flags: ignoreversion
61Source: %%PACKAGEFILES%%\dbghelp.dll; DestDir: {app}; Flags: ignoreversion
62Source: %%PACKAGEFILES%%\libapr-1.dll; DestDir: {app}; Flags: ignoreversion
63Source: %%PACKAGEFILES%%\libapriconv-1.dll; DestDir: {app}; Flags: ignoreversion
64Source: %%PACKAGEFILES%%\libaprutil-1.dll; DestDir: {app}; Flags: ignoreversion
65Source: %%PACKAGEFILES%%\llcommon.dll; DestDir: {app}; Flags: ignoreversion
66Source: %%PACKAGEFILES%%\featuretable.txt; DestDir: {app}; Flags: ignoreversion
67Source: %%PACKAGEFILES%%\gpu_table.txt; DestDir: {app}; Flags: ignoreversion
68Source: %%PACKAGEFILES%%\kdu_v64R.dll; DestDir: {app}; Flags: ignoreversion
69Source: %%PACKAGEFILES%%\kdu_v64R.dll.config; DestDir: {app}; Flags: ignoreversion
70Source: %%PACKAGEFILES%%\openal32.dll; DestDir: {app}; Flags: ignoreversion
71Source: %%PACKAGEFILES%%\OpenJPEG.dll; DestDir: {app}; Flags: ignoreversion
72Source: %%PACKAGEFILES%%\README.txt; DestDir: {app}; Flags: ignoreversion
73Source: %%PACKAGEFILES%%\SLPlugin.exe; DestDir: {app}; Flags: ignoreversion
74
75; Gstreamer-specific files below
76Source: %%PACKAGEFILES%%\lib\*; DestDir: {app}\lib; Flags: ignoreversion recursesubdirs createallsubdirs
77Source: %%PACKAGEFILES%%\avcodec-gpl-52.dll; DestDir: {app}; Flags: ignoreversion
78Source: %%PACKAGEFILES%%\avdevice-gpl-52.dll; DestDir: {app}; Flags: ignoreversion
79Source: %%PACKAGEFILES%%\avfilter-gpl-1.dll; DestDir: {app}; Flags: ignoreversion
80Source: %%PACKAGEFILES%%\avformat-gpl-52.dll; DestDir: {app}; Flags: ignoreversion
81Source: %%PACKAGEFILES%%\avutil-gpl-50.dll; DestDir: {app}; Flags: ignoreversion
82Source: %%PACKAGEFILES%%\iconv.dll; DestDir: {app}; Flags: ignoreversion
83Source: %%PACKAGEFILES%%\liba52-0.dll; DestDir: {app}; Flags: ignoreversion
84Source: %%PACKAGEFILES%%\libbz2.dll; DestDir: {app}; Flags: ignoreversion
85Source: %%PACKAGEFILES%%\libcelt-0.dll; DestDir: {app}; Flags: ignoreversion
86Source: %%PACKAGEFILES%%\libdca-0.dll; DestDir: {app}; Flags: ignoreversion
87Source: %%PACKAGEFILES%%\libexpat-1.dll; DestDir: {app}; Flags: ignoreversion
88Source: %%PACKAGEFILES%%\libfaad-2.dll; DestDir: {app}; Flags: ignoreversion
89Source: %%PACKAGEFILES%%\libFLAC-8.dll; DestDir: {app}; Flags: ignoreversion
90Source: %%PACKAGEFILES%%\libgcrypt-11.dll; DestDir: {app}; Flags: ignoreversion
91Source: %%PACKAGEFILES%%\libgio-2.0-0.dll; DestDir: {app}; Flags: ignoreversion
92Source: %%PACKAGEFILES%%\libglib-2.0-0.dll; DestDir: {app}; Flags: ignoreversion
93Source: %%PACKAGEFILES%%\libgmodule-2.0-0.dll; DestDir: {app}; Flags: ignoreversion
94Source: %%PACKAGEFILES%%\libgnutls-26.dll; DestDir: {app}; Flags: ignoreversion
95Source: %%PACKAGEFILES%%\libgobject-2.0-0.dll; DestDir: {app}; Flags: ignoreversion
96Source: %%PACKAGEFILES%%\libgpg-error-0.dll; DestDir: {app}; Flags: ignoreversion
97Source: %%PACKAGEFILES%%\libgstapp-0.10.dll; DestDir: {app}; Flags: ignoreversion
98Source: %%PACKAGEFILES%%\libgstaudio-0.10.dll; DestDir: {app}; Flags: ignoreversion
99Source: %%PACKAGEFILES%%\libgstbase-0.10.dll; DestDir: {app}; Flags: ignoreversion
100Source: %%PACKAGEFILES%%\libgstcontroller-0.10.dll; DestDir: {app}; Flags: ignoreversion
101Source: %%PACKAGEFILES%%\libgstdataprotocol-0.10.dll; DestDir: {app}; Flags: ignoreversion
102Source: %%PACKAGEFILES%%\libgstfft-0.10.dll; DestDir: {app}; Flags: ignoreversion
103Source: %%PACKAGEFILES%%\libgstinterfaces-0.10.dll; DestDir: {app}; Flags: ignoreversion
104Source: %%PACKAGEFILES%%\libgstnet-0.10.dll; DestDir: {app}; Flags: ignoreversion
105Source: %%PACKAGEFILES%%\libgstnetbuffer-0.10.dll; DestDir: {app}; Flags: ignoreversion
106Source: %%PACKAGEFILES%%\libgstpbutils-0.10.dll; DestDir: {app}; Flags: ignoreversion
107Source: %%PACKAGEFILES%%\libgstphotography-0.10.dll; DestDir: {app}; Flags: ignoreversion
108Source: %%PACKAGEFILES%%\libgstreamer-0.10.dll; DestDir: {app}; Flags: ignoreversion
109Source: %%PACKAGEFILES%%\libgstriff-0.10.dll; DestDir: {app}; Flags: ignoreversion
110Source: %%PACKAGEFILES%%\libgstrtp-0.10.dll; DestDir: {app}; Flags: ignoreversion
111Source: %%PACKAGEFILES%%\libgstrtsp-0.10.dll; DestDir: {app}; Flags: ignoreversion
112Source: %%PACKAGEFILES%%\libgstsdp-0.10.dll; DestDir: {app}; Flags: ignoreversion
113Source: %%PACKAGEFILES%%\libgstsignalprocessor-0.10.dll; DestDir: {app}; Flags: ignoreversion
114Source: %%PACKAGEFILES%%\libgsttag-0.10.dll; DestDir: {app}; Flags: ignoreversion
115Source: %%PACKAGEFILES%%\libgstvideo-0.10.dll; DestDir: {app}; Flags: ignoreversion
116Source: %%PACKAGEFILES%%\libgthread-2.0-0.dll; DestDir: {app}; Flags: ignoreversion
117Source: %%PACKAGEFILES%%\libmms-0.dll; DestDir: {app}; Flags: ignoreversion
118Source: %%PACKAGEFILES%%\libmpeg2-0.dll; DestDir: {app}; Flags: ignoreversion
119Source: %%PACKAGEFILES%%\libneon-27.dll; DestDir: {app}; Flags: ignoreversion
120Source: %%PACKAGEFILES%%\libogg-0.dll; DestDir: {app}; Flags: ignoreversion
121Source: %%PACKAGEFILES%%\liboil-0.3-0.dll; DestDir: {app}; Flags: ignoreversion
122Source: %%PACKAGEFILES%%\libsoup-2.4-1.dll; DestDir: {app}; Flags: ignoreversion
123Source: %%PACKAGEFILES%%\libtasn1-3.dll; DestDir: {app}; Flags: ignoreversion
124Source: %%PACKAGEFILES%%\libtheora-0.dll; DestDir: {app}; Flags: ignoreversion
125Source: %%PACKAGEFILES%%\libtheoradec-1.dll; DestDir: {app}; Flags: ignoreversion
126Source: %%PACKAGEFILES%%\libvorbis-0.dll; DestDir: {app}; Flags: ignoreversion
127Source: %%PACKAGEFILES%%\libvorbisenc-2.dll; DestDir: {app}; Flags: ignoreversion
128Source: %%PACKAGEFILES%%\libvorbisfile-3.dll; DestDir: {app}; Flags: ignoreversion
129Source: %%PACKAGEFILES%%\libwavpack-1.dll; DestDir: {app}; Flags: ignoreversion
130Source: %%PACKAGEFILES%%\libx264-67.dll; DestDir: {app}; Flags: ignoreversion
131Source: %%PACKAGEFILES%%\libxml2-2.dll; DestDir: {app}; Flags: ignoreversion
132Source: %%PACKAGEFILES%%\libxml2.dll; DestDir: {app}; Flags: ignoreversion
133Source: %%PACKAGEFILES%%\SDL.dll; DestDir: {app}; Flags: ignoreversion
134Source: %%PACKAGEFILES%%\xvidcore.dll; DestDir: {app}; Flags: ignoreversion
135Source: %%PACKAGEFILES%%\z.dll; DestDir: {app}; Flags: ignoreversion
136
137; VC++ 2005 SP1 x86, VC++ 2008 SP1 x86, and VC++ 2010 SP1 x86 redist
138Source: ..\..\..\..\newview\installers\windows\vcredist_x86_VS2005_SP1_MFC_SEC.exe; DestDir: {app}\redist; DestName: vcredist_x86_VS2005_SP1_MFC_SEC.exe
139Source: ..\..\..\..\newview\installers\windows\vcredist_x86_VS2008_SP1_ATL_SEC.exe; DestDir: {app}\redist; DestName: vcredist_x86_VS2008_SP1_ATL_SEC.exe
140Source: ..\..\..\..\newview\installers\windows\vcredist_x86_VS2010_SP1.exe; DestDir: {app}\redist; DestName: vcredist_x86_VS2010_SP1.exe
141
142; Old files we don't use anymore:
143; Source: %%PACKAGEFILES%%\dronesettings.xml; DestDir: {app}; Flags: ignoreversion
144; Source: %%PACKAGEFILES%%\volume_settings.xml; DestDir: {app}; Flags: ignoreversion
145; Source: %%PACKAGEFILES%%\srtp.dll; DestDir: {app}; Flags: ignoreversion
146; Source: %%PACKAGEFILES%%\ssleay32.dll; DestDir: {app}; Flags: ignoreversion
147; Source: %%PACKAGEFILES%%\tntk.dll; DestDir: {app}; Flags: ignoreversion
148; Source: %%PACKAGEFILES%%\libeay32.dll; DestDir: {app}; Flags: ignoreversion
149; Source: %%PACKAGEFILES%%\lsl_guide.html; DestDir: {app}; Flags: ignoreversion
150
151; NOTE: Don't use "Flags: ignoreversion" on any shared system files
152;Source: %%PACKAGEFILES%%\msvcr71.dll; DestDir: {app}; Flags: ignoreversion; MinVersion: 0,6.01; Tasks: ; Languages:
153
154[Registry]
155Root: HKCR; Subkey: inworldz; ValueType: string; Flags: uninsdeletekey deletekey; ValueName: (default); ValueData: URL:InWorldz
156Root: HKCR; Subkey: inworldz; ValueType: string; Flags: uninsdeletekey deletekey; ValueName: URL Protocol
157Root: HKCR; Subkey: inworldz\DefaultIcon; Flags: uninsdeletekey deletekey; ValueType: string; ValueData: {app}\inworldz.exe
158Root: HKCR; Subkey: inworldz\shell\open\command; ValueType: expandsz; Flags: uninsdeletekey deletekey; ValueData: "{app}\inworldz.exe -url ""%1"""; Languages:
159; Root: HKCU; Subkey: Environment; ValueType: string; ValueName: GST_PLUGIN_PATH; Flags: deletevalue uninsdeletevalue; ValueData: {app}\lib
160; Root: HKCU; Subkey: Environment; ValueType: expandsz; ValueName: PATH; ValueData: {app}
161
162[Icons]
163Name: {group}\{cm:UninstallProgram,InWorldz}; Filename: {uninstallexe}
164Name: {commondesktop}\InWorldz; Filename: {app}\inworldz.exe; Tasks: desktopicon; WorkingDir: {app}; IconIndex: 0
165Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\InWorldz; Filename: {app}\inworldz.exe; Tasks: quicklaunchicon; WorkingDir: {app}
166Name: {group}\InWorldz; Filename: {app}\inworldz.exe; WorkingDir: {app}; Comment: inworldz; IconIndex: 0;
167
168[Run]
169; Install redistributables.
170;
171; !!!!BEWARE!!!!
172;
173; Command line parameters and filenames WILL change with each version. Blame Microsoft.
174
175; 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.
176Filename: {app}\redist\vcredist_x86_VS2005_SP1_MFC_SEC.exe; Parameters: "/q"; Check: Needs2005Redist; Flags: runhidden
177Filename: {app}\redist\vcredist_x86_VS2008_SP1_ATL_SEC.exe; Parameters: "/q"; Check: Needs2008Redist; Flags: runhidden
178Filename: {app}\redist\vcredist_x86_VS2010_SP1.exe; Parameters: "/q /norestart"; Check: Needs2010Redist; Flags: runhidden
179Filename: {app}\inworldz.exe; WorkingDir: {app}; Flags: nowait postinstall
180
181[UninstallDelete]
182Name: {userappdata}\InWorldz\user_settings\password.dat; Type: files; Languages:
183Name: {userappdata}\InWorldz\user_settings\settings.xml; Type: files; Languages:
184; 1.1 and lower cache location:
185Name: {userappdata}\InWorldz\cache; Type: filesandordirs
186; 1.2 and higher cache location:
187Name: {localappdata}\InWorldz\cache; Type: filesandordirs
188Name: {userappdata}\InWorldz\logs; Type: filesandordirs
189Name: {userappdata}\InWorldz\browser_profile; Type: filesandordirs
190Name: C:\Users\{username}\.gstreamer-0.10; Type: filesandordirs
191Name: C:\Documents and Settings\{username}\.gstreamer-0.10; Type: filesandordirs
192
193[InstallDelete]
194; Name: {app}\*.dll; Type: files; Tasks: ; Languages:
195Name: {app}\licenses.txt; Type: files; Tasks: ; Languages:
196; ALWAYS delete the plugins! Beware if you don't
197Name: {app}\lib\gstreamer-plugins\*; Type: filesandordirs; Tasks: ; Languages:
198; Name: {app}\skins\default\xui\*; Type: filesandordirs; Tasks: ; Languages:
199; Old xui skin files can cause bugs, always kill them
200Name: {app}\skins\silver\xui\en-us\*; Type: filesandordirs; Tasks: ; Languages:
201Name: {app}\app_settings\mozilla; Type: filesandordirs; Tasks: ; Languages:
202Name: {app}\app_settings\mozilla_debug; Type: filesandordirs; Tasks: ; Languages:
203Name: {app}\app_settings\viewerversion.xml; Type: filesandordirs; Tasks: ; Languages:
204Name: C:\Documents and Settings\{username}\.gstreamer-0.10\*; Type: filesandordirs
205Name: C:\Users\{username}\.gstreamer-0.10\*; Type: filesandordirs
206; Breaks the browser if installing on top of 1.1:
207Name: {app}\gksvggdiplus.dll; Type: files; Tasks: ; Languages:
208; Breaks inworld audio if it's from an old version with a different GUID
209Name: {app}\alut.dll; Type: files; Tasks: ; Languages:
210
211; Old plugin files we want to kill:
212Name: {app}\charset.dll; Type: files; Tasks: ; Languages:
213Name: {app}\freebl3.dll; Type: files; Tasks: ; Languages:
214Name: {app}\glew32.dll; Type: files; Tasks: ; Languages:
215Name: {app}\iconv.dll; Type: files; Tasks: ; Languages:
216Name: {app}\intl.dll; Type: files; Tasks: ; Languages:
217Name: {app}\InWorldzViewer.exe; Type: files; Tasks: ; Languages:
218Name: {app}\js3250.dll; Type: files; Tasks: ; Languages:
219Name: {app}\libcairo-2.dll; Type: files; Tasks: ; Languages:
220Name: {app}\libfaad-2.dll; Type: files; Tasks: ; Languages:
221Name: {app}\libgcrypt-11.dll; Type: files; Tasks: ; Languages:
222Name: {app}\libgio-2.0-0.dll; Type: files; Tasks: ; Languages:
223Name: {app}\libglib-2.0-0.dll; Type: files; Tasks: ; Languages:
224Name: {app}\libgmodule-2.0-0.dll; Type: files; Tasks: ; Languages:
225Name: {app}\libgnutls-26.dll; Type: files; Tasks: ; Languages:
226Name: {app}\libgobject-2.0-0.dll; Type: files; Tasks: ; Languages:
227Name: {app}\libgpg-error-0.dll; Type: files; Tasks: ; Languages:
228Name: {app}\libgstapp.dll; Type: files; Tasks: ; Languages:
229Name: {app}\libgstaudio.dll; Type: files; Tasks: ; Languages:
230Name: {app}\libgstaudio-0.10.dll; Type: files; Tasks: ; Languages:
231Name: {app}\libgstbase-0.10.dll; Type: files; Tasks: ; Languages:
232Name: {app}\libgstcdda.dll; Type: files; Tasks: ; Languages:
233Name: {app}\libgstcontroller-0.10.dll; Type: files; Tasks: ; Languages:
234Name: {app}\libgstdataprotocol-0.10.dll; Type: files; Tasks: ; Languages:
235Name: {app}\libgstdshow.dll; Type: files; Tasks: ; Languages:
236Name: {app}\libgstfft.dll; Type: files; Tasks: ; Languages:
237Name: {app}\libgstinterfaces.dll; Type: files; Tasks: ; Languages:
238Name: {app}\libgstnet-0.10.dll; Type: files; Tasks: ; Languages:
239Name: {app}\libgstnetbuffer.dll; Type: files; Tasks: ; Languages:
240Name: {app}\libgstpbutils.dll; Type: files; Tasks: ; Languages:
241Name: {app}\libgstreamer-0.10.dll; Type: files; Tasks: ; Languages:
242Name: {app}\libgstriff.dll; Type: files; Tasks: ; Languages:
243Name: {app}\libgstrtp.dll; Type: files; Tasks: ; Languages:
244Name: {app}\libgstrtsp.dll; Type: files; Tasks: ; Languages:
245Name: {app}\libgstsdp.dll; Type: files; Tasks: ; Languages:
246Name: {app}\libgsttag.dll; Type: files; Tasks: ; Languages:
247Name: {app}\libgstvideo.dll; Type: files; Tasks: ; Languages:
248Name: {app}\libgthread-2.0-0.dll; Type: files; Tasks: ; Languages:
249Name: {app}\libjpeg.dll; Type: files; Tasks: ; Languages:
250Name: {app}\libmp3lame-0.dll; Type: files; Tasks: ; Languages:
251Name: {app}\libneon-27.dll; Type: files; Tasks: ; Languages:
252Name: {app}\libogg-0.dll; Type: files; Tasks: ; Languages:
253Name: {app}\liboil-0.3-0.dll; Type: files; Tasks: ; Languages:
254Name: {app}\libopenjpeg-2.dll; Type: files; Tasks: ; Languages:
255Name: {app}\libpng12-0.dll; Type: files; Tasks: ; Languages:
256Name: {app}\libschroedinger-1.0-0.dll; Type: files; Tasks: ; Languages:
257Name: {app}\libspeex-1.dll; Type: files; Tasks: ; Languages:
258Name: {app}\libtheora-0.dll; Type: files; Tasks: ; Languages:
259Name: {app}\libvorbis-0.dll; Type: files; Tasks: ; Languages:
260Name: {app}\libvorbisenc-2.dll; Type: files; Tasks: ; Languages:
261Name: {app}\libxml2-2.dll; Type: files; Tasks: ; Languages:
262Name: {app}\libxml2.dll; Type: files; Tasks: ; Languages:
263Name: {app}\nspr4.dll; Type: files; Tasks: ; Languages:
264Name: {app}\nss3.dll; Type: files; Tasks: ; Languages:
265Name: {app}\nssckbi.dll; Type: files; Tasks: ; Languages:
266Name: {app}\plc4.dll; Type: files; Tasks: ; Languages:
267Name: {app}\plds4.dll; Type: files; Tasks: ; Languages:
268Name: {app}\smime3.dll; Type: files; Tasks: ; Languages:
269Name: {app}\softokn3.dll; Type: files; Tasks: ; Languages:
270Name: {app}\ssl3.dll; Type: files; Tasks: ; Languages:
271Name: {app}\xpcom.dll; Type: files; Tasks: ; Languages:
272Name: {app}\xul.dll; Type: files; Tasks: ; Languages:
273Name: {app}\xvidcore.dll; Type: files; Tasks: ; Languages:
274Name: {app}\zlib1.dll; Type: files; Tasks: ; Languages:
275
276; We don't distribute the CRT like this anymore; murder death kill
277Name: {app}\SLPlugin.exe.config; Type: files; Tasks: ; Languages:
278Name: {app}\Microsoft.VC80.CRT.manifest; Type: files; Tasks: ; Languages:
279Name: {app}\msvcp80.dll; Type: files; Tasks: ; Languages:
280Name: {app}\msvcr80.dll; Type: files; Tasks: ; Languages:
281Name: {app}\msvcr71.dll; Type: files; Tasks: ; Languages:
282Name: {app}\inworldz.exe.config; Type: files; Tasks: ; Languages:
283
284
285[Code]
286// [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86]
287// Installed = 1 (REG_DWORD)
288function IsVS2010RedistInstalled(): Boolean;
289var
290 V: Cardinal;
291 Success: Boolean;
292begin
293 if IsWin64 then begin
294 Success := RegQueryDWordValue(HKLM64, 'SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86', 'Installed', V);
295 end else begin
296 Success := RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\x86', 'Installed', V);
297 end
298
299 if Success = TRUE then begin
300 if V = 1 then begin
301 Result := TRUE;
302 end else begin
303 Result := FALSE;
304 end
305 end else begin
306 Result := FALSE;
307 end
308end;
309
310function Needs2010Redist(): Boolean;
311begin
312 Result := (IsVS2010RedistInstalled = FALSE);
313 if (Result = TRUE) then begin
314 Log('User system needs VS 2010 SP1 x86 Redistributable, installing.');
315 end else begin
316 Log('User already has VS 2010 SP1 x86 Redistributable installed, skipping.');
317 end
318end;
319
320// 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
321const
322 VS2005_X86 = '{A49F249F-0C91-497F-86DF-B2585E8E76B7}'; // http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE
323 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
324 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
325 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
326
327 VS2008_X86 = '{FF66E9F6-83E7-3A3E-AF14-8DE9A809A6A4}'; // http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf
328 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
329 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
330 // These updates currently don't have redist links:
331 // 9.0.30729.5026:
332 // 9.0.30729.5570:
333 // 9.0.30729.6161: http://support.microsoft.com/kb/2538243
334
335 INSTALLSTATE_INVALIDARG = -2; // An invalid parameter was passed to the function
336 INSTALLSTATE_UNKNOWN = -1; // The product is not advertised or installed
337 INSTALLSTATE_ADVERTISED = 1; // The product is advertised but not installed
338 INSTALLSTATE_ABSENT = 2; // The product is installed for a different user
339 INSTALLSTATE_DEFAULT = 5; // The product is installed for the current user
340
341function MsiQueryProductState(ProductCode: String): Integer;
342 external 'MsiQueryProductStateA@msi.dll stdcall';
343
344function IsProductCodeInstalled(ProductUUID: String): Boolean;
345begin
346 Result := (MsiQueryProductState(ProductUUID) = INSTALLSTATE_DEFAULT);
347end;
348
349function Needs2005Redist(): Boolean;
350begin
351 Result:= (IsProductCodeInstalled(VS2005_SP1_X86_MFC_SEC) = FALSE);
352 if (Result = TRUE) then begin
353 Log('User system needs VS 2005 SP1 x86 Redistributable, installing.');
354 end else begin
355 Log('User already has VS 2005 SP1 x86 Redistributable installed, skipping.');
356 end
357end;
358
359function Needs2008Redist(): Boolean;
360begin
361 Result := (IsProductCodeInstalled(VS2008_SP1_X86_ATL_SEC) = FALSE);
362 if (Result = TRUE) then begin
363 Log('User system needs VS 2008 SP1 x86 Redistributable, installing.');
364 end else begin
365 Log('User already has VS 2008 SP1 x86 Redistributable installed, skipping.');
366 end
367end;