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