Set representative license: LGPL-2.1
[platform/upstream/7zip.git] / DOC / 7zip.wxs
1 <?xml version="1.0"?>\r
2 \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
10 \r
11 <?define ProductName = "7-Zip" ?>\r
12 \r
13 <?ifndef MyCPU?>\r
14   <?define MyCPU = "Intel" ?>\r
15 <?endif?>\r
16 \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
29 <?else ?>\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
35 <?endif ?>\r
36 \r
37 \r
38 <?define ShellExtId = "{23170F69-40C1-278A-1000-000100020000}" ?>\r
39 \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
46 \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
67 \r
68 \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
74 \r
75 <Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">\r
76   <Product\r
77       Id="$(var.ProductId)"\r
78       UpgradeCode="$(var.UpgradeCode)"\r
79       Name="$(var.ProductName) $(var.MmVer)$(var.CpuPostfix)"\r
80       Language="1033"\r
81       Version="$(var.MmmmVer)"\r
82       Manufacturer="$(var.Manufacturer)">\r
83    \r
84     <Package\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
90         Compressed="yes"\r
91         Platforms="$(var.Platforms)"\r
92         />\r
93 \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
98     </Upgrade>\r
99 \r
100     <Media Id="1" Cabinet="product.cab" EmbedCab="yes" CompressionLevel="high" />\r
101 \r
102     <Property Id="INSTALLDIR">\r
103       <RegistrySearch Id="My7zipPath" Type="raw" Root="HKCU" Key="Software\7-Zip" Name="Path" />\r
104     </Property>\r
105 \r
106     <Property Id="ALLUSERS">2</Property>\r
107 \r
108 \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
112 \r
113 \r
114     <Directory Id="TARGETDIR" Name="SourceDir">\r
115       <Directory Id="$(var.PFilesFolder)" Name="Files">\r
116         <Directory Id="INSTALLDIR" Name="7-Zip">\r
117 \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
121           </Component>\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
126           </Component>\r
127           \r
128 \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
133           </Component>\r
134 \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
139           </Component>\r
140 \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
145           </Component>\r
146 \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
151           </Component>\r
152 \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
158           </Component>\r
159 \r
160 \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
169           </Component>\r
170 \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
174             </File>\r
175           </Component>\r
176 \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
186           </Component>\r
187 \r
188           <Component Id="CmdLine" Guid="$(var.CompCmdLine)" DiskId="1" Win64="$(var.Is64)">\r
189             <File Id="_7z.exe" Name="7z.exe" />\r
190           </Component>\r
191 \r
192           <Component Id="Gui" Guid="$(var.CompGui)" DiskId="1" Win64="$(var.Is64)">\r
193             <File Id="_7zG.exe" Name="7zG.exe" />\r
194           </Component>\r
195 \r
196           <Component Id="Formats" Guid="$(var.CompFormats)" DiskId="1" Win64="$(var.Is64)">\r
197               <File Id="_7z.dll" Name="7z.dll" />\r
198           </Component>\r
199 \r
200           <Component Id="GuiSfx" Guid="$(var.CompGuiSfx)" DiskId="1" Win64="$(var.Is64)">\r
201             <File Id="_7z.sfx" Name="7z.sfx" />\r
202           </Component>\r
203 \r
204           <Component Id="ConSfx" Guid="$(var.CompConSfx)" DiskId="1" Win64="$(var.Is64)">\r
205             <File Id="_7zCon.sfx" Name="7zCon.sfx" />\r
206           </Component>\r
207 \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
213           </Component>\r
214 \r
215 \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
219             </File>\r
220           </Component>\r
221 \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
303             </Component>\r
304           </Directory>\r
305 \r
306 \r
307         </Directory>\r
308       </Directory>\r
309 \r
310       <Directory Id="ProgramMenuFolder" Name="PMenu" LongName="Programs">\r
311         <Directory Id="PMenu" Name="7zip" LongName="7-Zip" />\r
312       </Directory>\r
313     </Directory>\r
314 \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
337 \r
338       </Feature>\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
342       </Feature>\r
343     </Feature>\r
344 \r
345     <UIRef Id="WixUI" />\r
346 \r
347     <!-- Install Sequences -->\r
348     <InstallExecuteSequence>\r
349       <RemoveExistingProducts After="InstallValidate" />\r
350     </InstallExecuteSequence>\r
351 \r
352   </Product>\r
353 </Wix>\r