1 <?xml version="1.0"?>
\r
3 <?define VerMajor = "9" ?>
\r
4 <?define VerMinor = "20" ?>
\r
5 <?define VerBuild = "00" ?>
\r
6 <?define MmVer = "$(var.VerMajor).$(var.VerMinor)" ?>
\r
7 <?define MmHex = "0$(var.VerMajor)$(var.VerMinor)" ?>
\r
8 <?define MmmmVer = "$(var.MmVer).$(var.VerBuild).0" ?>
\r
9 <?define UpgradeMinVer = "4.38" ?>
\r
11 <?define ProductName = "7-Zip" ?>
\r
14 <?define MyCPU = "Intel" ?>
\r
17 <?if $(var.MyCPU) = "x64" ?>
\r
18 <?define CpuId = "2" ?>
\r
19 <?define PFilesFolder = "ProgramFiles64Folder" ?>
\r
20 <?define Platforms = "x64" ?>
\r
21 <?define CpuPostfix = " (x64 edition)" ?>
\r
22 <?define Is64 = "yes" ?>
\r
23 <?elseif $(var.MyCPU) = "ia64" ?>
\r
24 <?define CpuId = "3" ?>
\r
25 <?define PFilesFolder = "ProgramFiles64Folder" ?>
\r
26 <?define Platforms = "Intel64" ?>
\r
27 <?define CpuPostfix = " (ia64 edition)" ?>
\r
28 <?define Is64 = "yes" ?>
\r
30 <?define CpuId = "1" ?>
\r
31 <?define PFilesFolder = "ProgramFilesFolder" ?>
\r
32 <?define Platforms = "Intel" ?>
\r
33 <?define CpuPostfix = "" ?>
\r
34 <?define Is64 = "no" ?>
\r
38 <?define ShellExtId = "{23170F69-40C1-278A-1000-000100020000}" ?>
\r
40 <?define BaseId = "23170F69-40C1-270$(var.CpuId)" ?>
\r
41 <?define BaseIdVer = "$(var.BaseId)-$(var.MmHex)-$(var.VerBuild)00" ?>
\r
42 <?define ProductId = "$(var.BaseIdVer)01000000" ?>
\r
43 <?define PackageId = "$(var.BaseIdVer)02000000" ?>
\r
44 <?define CompId = "$(var.BaseIdVer)030000" ?>
\r
45 <?define UpgradeCode = "$(var.BaseId)-0000-000004000000" ?>
\r
47 <?define CompFm = "$(var.CompId)01" ?>
\r
48 <?define CompShellExt = "$(var.CompId)02" ?>
\r
49 <?define CompCmdLine = "$(var.CompId)03" ?>
\r
50 <?define CompCmdLineA = "$(var.CompId)04" ?>
\r
51 <?define CompGui = "$(var.CompId)05" ?>
\r
52 <?define CompGuiSfx = "$(var.CompId)06" ?>
\r
53 <?define CompConSfx = "$(var.CompId)07" ?>
\r
54 <?define CompHelp = "$(var.CompId)08" ?>
\r
55 <?define CompDocs = "$(var.CompId)09" ?>
\r
56 <?define CompFormats = "$(var.CompId)10" ?>
\r
57 <?define CompCodecs = "$(var.CompId)11" ?>
\r
58 <?define CompLang = "$(var.CompId)12" ?>
\r
59 <?define CompInstallRegCU = "$(var.CompId)80" ?>
\r
60 <?define CompInstallRegLM = "$(var.CompId)81" ?>
\r
61 <?define CompInstallRegWild = "$(var.CompId)82" ?>
\r
62 <?define CompInstallRegDirectory = "$(var.CompId)83" ?>
\r
63 <?define CompInstallRegDirDD = "$(var.CompId)84" ?>
\r
64 <?define CompInstallRegDriveDD = "$(var.CompId)85" ?>
\r
65 <?define CompInstallRegApproved = "$(var.CompId)86" ?>
\r
66 <?define CompInstallRegAppPath = "$(var.CompId)87" ?>
\r
69 <?define Manufacturer = "Igor Pavlov" ?>
\r
70 <?define HomePage = "http://www.7-zip.org/" ?>
\r
71 <?define AboutURL = "$(var.HomePage)" ?>
\r
72 <?define UpdatesURL = "$(var.HomePage)download.html" ?>
\r
73 <?define SupportURL = "$(var.HomePage)support.html" ?>
\r
75 <Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
\r
77 Id="$(var.ProductId)"
\r
78 UpgradeCode="$(var.UpgradeCode)"
\r
79 Name="$(var.ProductName) $(var.MmVer)$(var.CpuPostfix)"
\r
81 Version="$(var.MmmmVer)"
\r
82 Manufacturer="$(var.Manufacturer)">
\r
85 Id="$(var.PackageId)"
\r
86 Description="$(var.ProductName)$(var.CpuPostfix) Package"
\r
87 Comments="$(var.ProductName)$(var.CpuPostfix) Package"
\r
88 Manufacturer="$(var.Manufacturer)"
\r
89 InstallerVersion="200"
\r
91 Platforms="$(var.Platforms)"
\r
94 <!-- Major upgrade -->
\r
95 <Upgrade Id="$(var.UpgradeCode)">
\r
96 <UpgradeVersion Minimum="$(var.UpgradeMinVer)" IncludeMinimum="yes"
\r
97 Maximum="$(var.MmmmVer)" IncludeMaximum="no" Property="OLDERVERSIONBEINGUPGRADED" />
\r
100 <Media Id="1" Cabinet="product.cab" EmbedCab="yes" CompressionLevel="high" />
\r
102 <Property Id="INSTALLDIR">
\r
103 <RegistrySearch Id="My7zipPath" Type="raw" Root="HKCU" Key="Software\7-Zip" Name="Path" />
\r
106 <Property Id="ALLUSERS">2</Property>
\r
109 <Property Id="ARPURLINFOABOUT" Value="$(var.AboutURL)" />
\r
110 <Property Id="ARPHELPLINK" Value="$(var.SupportURL)" />
\r
111 <Property Id="ARPURLUPDATEINFO" Value="$(var.UpdatesURL)" />
\r
114 <Directory Id="TARGETDIR" Name="SourceDir">
\r
115 <Directory Id="$(var.PFilesFolder)" Name="Files">
\r
116 <Directory Id="INSTALLDIR" Name="7-Zip">
\r
118 <Component Id="InstallRegCU" Guid="$(var.CompInstallRegCU)" DiskId="1" Win64="$(var.Is64)">
\r
119 <Registry Id="MyInstallRegCU" Root="HKCU" Key="Software\7-Zip" Name="Path"
\r
120 Action="write" Type="string" Value="[INSTALLDIR]" />
\r
122 <Component Id="InstallRegLM" Guid="$(var.CompInstallRegLM)" DiskId="1" Win64="$(var.Is64)">
\r
123 <Condition>Privileged</Condition>
\r
124 <Registry Id="MyInstallRegLM" Root="HKLM" Key="Software\7-Zip" Name="Path"
\r
125 Action="write" Type="string" Value="[INSTALLDIR]" />
\r
129 <Component Id="InstallRegWild" Guid="$(var.CompInstallRegWild)" DiskId="1" Win64="$(var.Is64)">
\r
130 <Registry Id="MyInstallRegWild" Action="write" Type="string"
\r
131 Root="HKCR" Key="*\shellex\ContextMenuHandlers\7-Zip"
\r
132 Value="$(var.ShellExtId)" />
\r
135 <Component Id="InstallRegDirectory" Guid="$(var.CompInstallRegDirectory)" DiskId="1" Win64="$(var.Is64)">
\r
136 <Registry Id="MyInstallRegDirectory" Action="write" Type="string"
\r
137 Root="HKCR" Key="Directory\shellex\ContextMenuHandlers\7-Zip"
\r
138 Value="$(var.ShellExtId)" />
\r
141 <Component Id="InstallRegDirDD" Guid="$(var.CompInstallRegDirDD)" DiskId="1" Win64="$(var.Is64)">
\r
142 <Registry Id="MyInstallRegDirDD" Action="write" Type="string"
\r
143 Root="HKCR" Key="Directory\shellex\DragDropHandlers\7-Zip"
\r
144 Value="$(var.ShellExtId)" />
\r
147 <Component Id="InstallRegDriveDD" Guid="$(var.CompInstallRegDriveDD)" DiskId="1" Win64="$(var.Is64)">
\r
148 <Registry Id="MyInstallRegDriveDD" Action="write" Type="string"
\r
149 Root="HKCR" Key="Drive\shellex\DragDropHandlers\7-Zip"
\r
150 Value="$(var.ShellExtId)" />
\r
153 <Component Id="InstallRegApproved" Guid="$(var.CompInstallRegApproved)" DiskId="1" Win64="$(var.Is64)">
\r
154 <Condition>Privileged</Condition>
\r
155 <Registry Id="MyInstallRegApproved" Action="write" Type="string"
\r
156 Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved"
\r
157 Name="$(var.ShellExtId)" Value="7-Zip Shell Extension" />
\r
161 <Component Id="InstallRegAppPath" Guid="$(var.CompInstallRegAppPath)" DiskId="1" Win64="$(var.Is64)">
\r
162 <Condition>Privileged</Condition>
\r
163 <Registry Id="MyInstallRegAppPath" Action="write" Type="string"
\r
164 Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exe"
\r
165 Value="[INSTALLDIR]7zFM.exe" />
\r
166 <Registry Id="MyInstallRegAppPath2" Action="write" Type="string"
\r
167 Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exe" Name="Path"
\r
168 Value="[INSTALLDIR]" />
\r
171 <Component Id="Fm" Guid="$(var.CompFm)" DiskId="1" Win64="$(var.Is64)">
\r
172 <File Id="_7zFM.exe" Name="7zFM.exe">
\r
173 <Shortcut Id="startmenuFmShortcut" Directory="PMenu" Name="7zipFM" LongName="7-Zip File Manager" />
\r
177 <Component Id="ShellExt" Guid="$(var.CompShellExt)" DiskId="1" Win64="$(var.Is64)">
\r
178 <File Id="_7zip.dll" Name="7-zip.dll" />
\r
179 <Registry Id="shellReg0" Action="write" Type="string" Root="HKCR"
\r
180 Key="CLSID\$(var.ShellExtId)\InprocServer32"
\r
181 Value="[INSTALLDIR]7-zip.dll" />
\r
182 <Registry Id="shellReg1" Action="write" Type="string" Root="HKCR"
\r
183 Key="CLSID\$(var.ShellExtId)\InprocServer32"
\r
184 Name="ThreadingModel"
\r
185 Value="Apartment" />
\r
188 <Component Id="CmdLine" Guid="$(var.CompCmdLine)" DiskId="1" Win64="$(var.Is64)">
\r
189 <File Id="_7z.exe" Name="7z.exe" />
\r
192 <Component Id="Gui" Guid="$(var.CompGui)" DiskId="1" Win64="$(var.Is64)">
\r
193 <File Id="_7zG.exe" Name="7zG.exe" />
\r
196 <Component Id="Formats" Guid="$(var.CompFormats)" DiskId="1" Win64="$(var.Is64)">
\r
197 <File Id="_7z.dll" Name="7z.dll" />
\r
200 <Component Id="GuiSfx" Guid="$(var.CompGuiSfx)" DiskId="1" Win64="$(var.Is64)">
\r
201 <File Id="_7z.sfx" Name="7z.sfx" />
\r
204 <Component Id="ConSfx" Guid="$(var.CompConSfx)" DiskId="1" Win64="$(var.Is64)">
\r
205 <File Id="_7zCon.sfx" Name="7zCon.sfx" />
\r
208 <Component Id="Docs" Guid="$(var.CompDocs)" DiskId="1" Win64="$(var.Is64)">
\r
209 <File Id="descript.ion" Name="descript.ion" />
\r
210 <File Id="History.txt" Name="History.txt" />
\r
211 <File Id="License.txt" Name="License.txt" />
\r
212 <File Id="readme.txt" Name="readme.txt" />
\r
216 <Component Id="Help" Guid="$(var.CompHelp)">
\r
217 <File Id="_7zip.chm" Name="7-zip.chm" DiskId="1" >
\r
218 <Shortcut Id="startmenuHelpShortcut" Directory="PMenu" Name="7zipHelp" LongName="7-Zip Help" />
\r
222 <Directory Id="MyLang" Name="Lang">
\r
223 <Component Id="Lang" Guid="$(var.CompLang)" DiskId="1" Win64="$(var.Is64)">
\r
224 <File Id="en.ttt" Name="en.ttt" />
\r
225 <File Id="af.txt" Name="af.txt" />
\r
226 <File Id="ar.txt" Name="ar.txt" />
\r
227 <File Id="ast.txt" Name="ast.txt" />
\r
228 <File Id="az.txt" Name="az.txt" />
\r
229 <File Id="ba.txt" Name="ba.txt" />
\r
230 <File Id="be.txt" Name="be.txt" />
\r
231 <File Id="bg.txt" Name="bg.txt" />
\r
232 <File Id="bn.txt" Name="bn.txt" />
\r
233 <File Id="br.txt" Name="br.txt" />
\r
234 <File Id="ca.txt" Name="ca.txt" />
\r
235 <File Id="cs.txt" Name="cs.txt" />
\r
236 <File Id="cy.txt" Name="cy.txt" />
\r
237 <File Id="da.txt" Name="da.txt" />
\r
238 <File Id="de.txt" Name="de.txt" />
\r
239 <File Id="el.txt" Name="el.txt" />
\r
240 <File Id="eo.txt" Name="eo.txt" />
\r
241 <File Id="es.txt" Name="es.txt" />
\r
242 <File Id="et.txt" Name="et.txt" />
\r
243 <File Id="eu.txt" Name="eu.txt" />
\r
244 <File Id="ext.txt" Name="ext.txt" />
\r
245 <File Id="fa.txt" Name="fa.txt" />
\r
246 <File Id="fi.txt" Name="fi.txt" />
\r
247 <File Id="fr.txt" Name="fr.txt" />
\r
248 <File Id="fur.txt" Name="fur.txt" />
\r
249 <File Id="fy.txt" Name="fy.txt" />
\r
250 <File Id="gl.txt" Name="gl.txt" />
\r
251 <File Id="gu.txt" Name="gu.txt" />
\r
252 <File Id="he.txt" Name="he.txt" />
\r
253 <File Id="hi.txt" Name="hi.txt" />
\r
254 <File Id="hr.txt" Name="hr.txt" />
\r
255 <File Id="hu.txt" Name="hu.txt" />
\r
256 <File Id="hy.txt" Name="hy.txt" />
\r
257 <File Id="id.txt" Name="id.txt" />
\r
258 <File Id="io.txt" Name="io.txt" />
\r
259 <File Id="is.txt" Name="is.txt" />
\r
260 <File Id="it.txt" Name="it.txt" />
\r
261 <File Id="ja.txt" Name="ja.txt" />
\r
262 <File Id="ka.txt" Name="ka.txt" />
\r
263 <File Id="kk.txt" Name="kk.txt" />
\r
264 <File Id="ko.txt" Name="ko.txt" />
\r
265 <File Id="ku.txt" Name="ku.txt" />
\r
266 <File Id="ku_ckb.txt" Name="ku-ckb.txt" />
\r
267 <File Id="lt.txt" Name="lt.txt" />
\r
268 <File Id="lv.txt" Name="lv.txt" />
\r
269 <File Id="mk.txt" Name="mk.txt" />
\r
270 <File Id="mn.txt" Name="mn.txt" />
\r
271 <File Id="mr.txt" Name="mr.txt" />
\r
272 <File Id="ms.txt" Name="ms.txt" />
\r
273 <File Id="ne.txt" Name="ne.txt" />
\r
274 <File Id="nl.txt" Name="nl.txt" />
\r
275 <File Id="nb.txt" Name="nb.txt" />
\r
276 <File Id="nn.txt" Name="nn.txt" />
\r
277 <File Id="pa_in.txt" Name="pa-in.txt" />
\r
278 <File Id="pl.txt" Name="pl.txt" />
\r
279 <File Id="ps.txt" Name="ps.txt" />
\r
280 <File Id="pt.txt" Name="pt.txt" />
\r
281 <File Id="pt_br.txt" Name="pt-br.txt" />
\r
282 <File Id="ro.txt" Name="ro.txt" />
\r
283 <File Id="ru.txt" Name="ru.txt" />
\r
284 <File Id="sa.txt" Name="sa.txt" />
\r
285 <File Id="si.txt" Name="si.txt" />
\r
286 <File Id="sk.txt" Name="sk.txt" />
\r
287 <File Id="sl.txt" Name="sl.txt" />
\r
288 <File Id="sq.txt" Name="sq.txt" />
\r
289 <File Id="sr_spl.txt" Name="sr-spl.txt" />
\r
290 <File Id="sr_spc.txt" Name="sr-spc.txt" />
\r
291 <File Id="sv.txt" Name="sv.txt" />
\r
292 <File Id="ta.txt" Name="ta.txt" />
\r
293 <File Id="th.txt" Name="th.txt" />
\r
294 <File Id="tr.txt" Name="tr.txt" />
\r
295 <File Id="tt.txt" Name="tt.txt" />
\r
296 <File Id="ug.txt" Name="ug.txt" />
\r
297 <File Id="uk.txt" Name="uk.txt" />
\r
298 <File Id="uz.txt" Name="uz.txt" />
\r
299 <File Id="va.txt" Name="va.txt" />
\r
300 <File Id="vi.txt" Name="vi.txt" />
\r
301 <File Id="zh_cn.txt" Name="zh-cn.txt" />
\r
302 <File Id="zh_tw.txt" Name="zh-tw.txt" />
\r
310 <Directory Id="ProgramMenuFolder" Name="PMenu" LongName="Programs">
\r
311 <Directory Id="PMenu" Name="7zip" LongName="7-Zip" />
\r
315 <Feature Id="Complete" Title="7-Zip" Description="The complete package."
\r
316 Display="expand" Level="1" ConfigurableDirectory="INSTALLDIR"
\r
317 Absent="disallow" AllowAdvertise="no" >
\r
318 <Feature Id="Program" Title="Program files" Description="Program files." Level="1"
\r
319 Absent="disallow" AllowAdvertise="no">
\r
320 <ComponentRef Id="Fm" />
\r
321 <ComponentRef Id="ShellExt" />
\r
322 <ComponentRef Id="CmdLine" />
\r
323 <ComponentRef Id="Gui" />
\r
324 <ComponentRef Id="GuiSfx" />
\r
325 <ComponentRef Id="ConSfx" />
\r
326 <ComponentRef Id="Formats" />
\r
327 <ComponentRef Id="Docs" />
\r
328 <ComponentRef Id="Help" />
\r
329 <ComponentRef Id="InstallRegCU" />
\r
330 <ComponentRef Id="InstallRegLM" />
\r
331 <ComponentRef Id="InstallRegWild" />
\r
332 <ComponentRef Id="InstallRegDirectory" />
\r
333 <ComponentRef Id="InstallRegDirDD" />
\r
334 <ComponentRef Id="InstallRegDriveDD" />
\r
335 <ComponentRef Id="InstallRegApproved" />
\r
336 <ComponentRef Id="InstallRegAppPath" />
\r
339 <Feature Id="LanguageFiles" Title="Localization files" Description="Localization files for 71 languages."
\r
340 Level="1" AllowAdvertise="no">
\r
341 <ComponentRef Id="Lang" />
\r
345 <UIRef Id="WixUI" />
\r
347 <!-- Install Sequences -->
\r
348 <InstallExecuteSequence>
\r
349 <RemoveExistingProducts After="InstallValidate" />
\r
350 </InstallExecuteSequence>
\r