VirtualBox

source: vbox/trunk/src/VBox/Installer/win/VirtualBox.wxs@ 37570

Last change on this file since 37570 was 37549, checked in by vboxsync, 14 years ago

Desktop: add file icons for the supported virtual disk image formats

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 45.9 KB
Line 
1<?xml version="1.0"?>
2<!--
3 VirtualBox Windows Installation Script (WiX)
4
5 Copyright (C) 2006-2011 Oracle Corporation
6
7 This file is part of VirtualBox Open Source Edition (OSE), as
8 available from http://www.virtualbox.org. This file is free software;
9 you can redistribute it and/or modify it under the terms of the GNU
10 General Public License (GPL) as published by the Free Software
11 Foundation, in version 2 as it comes in the "COPYING" file of the
12 VirtualBox OSE distribution. VirtualBox OSE is distributed in the
13 hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
14-->
15
16<?define Property_RegKey = "Software\$(env.VBOX_VENDOR_SHORT)\VirtualBox" ?>
17<?define Property_RegKeyInstall = "Software\$(env.VBOX_VENDOR_SHORT)\VirtualBox\Install" ?>
18<?define Property_Version = "$(env.VBOX_VERSION_STRING_RAW)" ?>
19<?define Property_VersionExt = "$(env.VBOX_VERSION_STRING)" ?>
20<?define Property_Upgrade = "yes" ?>
21
22<?if $(env.BUILD_TARGET_ARCH) = "amd64" ?>
23 <?define Property_ProgramFiles = "ProgramFiles64Folder" ?>
24 <?define Property_Platform = "x64" ?>
25 <?define Property_Win64 = "yes" ?>
26
27<?if $(env.VBOX_SIGNING_MODE) != none ?>
28 <?define Property_DriverLegacy = "no" ?>
29<?else ?>
30 <?define Property_DriverLegacy = "yes" ?>
31<?endif ?>
32
33<?else ?>
34 <?define Property_ProgramFiles = "ProgramFilesFolder" ?>
35 <?define Property_Platform = "x86" ?>
36 <?define Property_Win64 = "no" ?>
37
38<?if $(env.VBOX_SIGNING_MODE) != none ?>
39 <!-- Note: Settings this to 'no' breaks win2k installs (!) -->
40 <?define Property_DriverLegacy = "yes" ?>
41<?else ?>
42 <?define Property_DriverLegacy = "yes" ?>
43<?endif ?>
44
45<?endif ?>
46
47<?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
48 <?define Property_DiskIdCommon = "2" ?>
49<?else ?>
50 <?define Property_DiskIdCommon = "1" ?>
51<?endif ?>
52
53<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
54 xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
55
56 <!-- Note: GUIDs in WiX *must* be uppercase! -->
57 <!-- Always include an upgrade ID or otherwise upgrade installation will not be possible. When doing
58 a major upgrade (more than just fixing a few files) change the product GUID. -->
59
60 <!-- Update / Upgrade policies:
61 Update Type Package Code Product Version Product Code Upgrade Code
62 Small update change don't change don't change don't change
63 Minor update change change don't change don't change
64 Major upgrade change change change don't change -->
65
66 <!-- Old product ID: <Product Id="B59FE77B-738F-4f1c-AB48-3104895AF676"
67 Old upgrade code of innotek: UpgradeCode="F5FFAEBF-97AE-4038-8F91-4DE719456127" -->
68
69 <Product Id="*"
70 UpgradeCode="C4BAD770-BFE8-4D2C-A592-693028A7215B"
71 Name="$(env.VBOX_PRODUCT) $(env.VBOX_VERSION_STRING)"
72 Language="!(loc.LANG)"
73 Codepage="1252"
74 Version="$(var.Property_Version)"
75 Manufacturer="$(env.VBOX_VENDOR)">
76
77 <!-- Package GUIDs must be different for each package. The "???" directs WiX to create one. -->
78 <Package Id="*" Keywords="Installer"
79 Description="$(env.VBOX_PRODUCT) $(var.Property_VersionExt) installation package"
80 Comments="$(env.VBOX_PRODUCT) installation package"
81 Manufacturer="$(env.VBOX_VENDOR)"
82 InstallerVersion="200"
83 Compressed="yes"
84 InstallPrivileges="elevated"
85 Platform="$(var.Property_Platform)"/>
86
87 <!-- *************************** Upgrade packages only ******************************* -->
88 <!-- Minimum and Maximum specify the range of versions we are supposed to update with this upgrade.
89 IncludeMaximum and IncludeMinimum specify whether the bound value is actually included in the range or not
90 (IncludeMaximum = yes meaning to find versions below or equal to the version specified in Maximum while
91 IncludeMaximum = no only finds those below the Maximum).
92 OnlyDetect tells the installer not to remove the previous product. This is useful as long as we
93 only change files in the package. -->
94
95 <Upgrade Id="C4BAD770-BFE8-4D2C-A592-693028A7215B"> <!-- Upgrade of Sun xVM VirtualBox >= v1.6.0 -->
96
97 <!-- Upgrade is flagged if current-install is newer than or equal to package - TODO: should make a dialog appear asking user to confirm downgrade. -->
98 <!--- Setting "OnlyDetect" to "no" makes the installer uninstall an already newer installed version. -->
99 <UpgradeVersion Property="NEWERVERSIONDETECTED" Minimum="$(var.Property_Version)" OnlyDetect="no" />
100
101 <!-- Flag is set if the install will trigger an upgrade of an existing install -->
102 <UpgradeVersion Property="PREVIOUSVERSIONSINSTALLED" Minimum="1.0.0.0" Maximum="$(var.Property_Version)" IncludeMaximum="yes" />
103
104 </Upgrade>
105
106 <!-- The product's icon table. -->
107 <Icon Id="IconVirtualBox" SourceFile="$(env.VBOX_WINDOWS_ICON_FILE)" />
108
109 <!-- Global properties. -->
110 <Property Id="ARPPRODUCTICON">IconVirtualBox</Property>
111 <Property Id="ARPURLINFOABOUT">http://www.virtualbox.org</Property>
112 <Property Id="ARPURLUPDATEINFO">http://www.virtualbox.org</Property>
113 <Property Id="INSTALLDESKTOPSHORTCUT" Value="1"></Property>
114 <Property Id="INSTALLQUICKLAUNCHSHORTCUT" Value="1"></Property>
115 <Property Id="STARTVBOX" Value="1"></Property>
116
117 <!-- Install the product for all users on the system -->
118 <Property Id="ALLUSERS"><![CDATA[1]]></Property>
119
120 <!-- Make sure installation will not start on anything other but the NT family -->
121<?if $(env.BUILD_TARGET_ARCH) = "amd64" ?>
122 <Condition Message="!(loc.Only64Bit)">
123 VersionNT64
124 </Condition>
125<?else ?>
126 <Condition Message="!(loc.Only32Bit)">
127 NOT VersionNT64
128 </Condition>
129
130 <Condition Message="!(loc.WrongOS)">
131 NOT VersionNT=500 AND NOT Version9X AND NOT VersionNT64
132 </Condition>
133
134<?endif ?>
135
136 <Condition Message="!(loc.NeedAdmin)">
137 Privileged
138 </Condition>
139
140 <!-- Force overwriting all files and re-create shortcuts to guarantee a working environment -->
141 <Property Id='REINSTALLMODE' Value='amus'/>
142
143 <!-- Custom actions -->
144
145 <!-- Figure out where a previous installation was, if any -->
146<?if $(env.BUILD_TARGET_ARCH) = "amd64" ?>
147 <CustomAction Id="ca_OriginalTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[ProgramFiles64Folder]\$(env.VBOX_VENDOR_SHORT)\VirtualBox" />
148
149 <Property Id="EXISTINGINSTALLDIR" Secure="yes">
150 <RegistrySearch Id="RegistryGetInstallPath" Root="HKLM" Key="$(var.Property_RegKey)" Name="InstallDir" Type="raw" Win64="$(var.Property_Win64)"/>
151 </Property>
152 <CustomAction Id="ca_DefaultTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[EXISTINGINSTALLDIR]" />
153<?else ?>
154 <CustomAction Id="ca_OriginalTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[ProgramFilesFolder]\$(env.VBOX_VENDOR_SHORT)\VirtualBox" />
155
156 <Property Id="EXISTINGINSTALLDIR" Secure="yes">
157 <RegistrySearch Id="RegistryGetInstallPath" Root="HKLM" Key="$(var.Property_RegKey)" Name="InstallDir" Type="raw" Win64="$(var.Property_Win64)"/>
158 </Property>
159 <CustomAction Id="ca_DefaultTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[EXISTINGINSTALLDIR]" />
160<?endif ?>
161
162 <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
163 <CustomAction Id="ca_CheckSerial" BinaryKey="VBoxInstallHelper" DllEntry="CheckSerial" Impersonate="no"/>
164 <CustomAction Id="ca_InstallPythonAPI" BinaryKey="VBoxInstallHelper" DllEntry="InstallPythonAPI" Execute="deferred" Impersonate="no"/>
165 <CustomAction Id="ca_InstallBranding" BinaryKey="VBoxInstallHelper" DllEntry="InstallBranding" Execute="deferred" Impersonate="no"/>
166 <CustomAction Id="ca_UninstallBranding" BinaryKey="VBoxInstallHelper" DllEntry="UninstallBranding" Execute="deferred" Impersonate="no"/>
167
168 <CustomAction Id="ca_UninstallTAPInstances" BinaryKey="VBoxInstallHelper"
169 DllEntry="UninstallTAPInstances" Execute="deferred" Return="check" Impersonate="no"/>
170
171<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
172 <CustomAction Id="ca_CreateHostOnlyInterfaceArgs" Property="ca_CreateHostOnlyInterface" Value="[INSTALLDIR]" Execute="immediate"/>
173 <CustomAction Id="ca_CreateHostOnlyInterface" BinaryKey="VBoxInstallHelper" DllEntry="CreateHostOnlyInterface" Execute="deferred" Return="check" Impersonate="no"/>
174
175 <CustomAction Id="ca_RemoveHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="RemoveHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
176
177 <CustomAction Id="ca_InstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
178 <CustomAction Id="ca_InstallNetFltArgs" Property="ca_InstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
179
180 <CustomAction Id="ca_RollbackInstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="rollback" Impersonate="no"/>
181 <CustomAction Id="ca_RollbackInstallNetFltArgs" Property="ca_RollbackInstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
182
183 <CustomAction Id="ca_UninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
184 <CustomAction Id="ca_UninstallNetFltArgs" Property="ca_UninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
185
186 <CustomAction Id="ca_RollbackUninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="rollback" Impersonate="no"/>
187 <CustomAction Id="ca_RollbackUninstallNetFltArgs" Property="ca_RollbackUninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
188<?endif ?>
189
190 <CustomAction Id="ca_StartVBox" FileKey="file_VirtualBox.exe" ExeCommand="" Return="asyncNoWait" Impersonate="yes" />
191
192 <!-- Detect old Sun installation -->
193 <!-- Force a manual uninstall of an already installed Sun VirtualBox version first -->
194 <!--<Property Id="VBOXSUN">
195 <RegistrySearch Id="RegSearchSunVersion" Root="HKLM" Key="SOFTWARE\Sun\VirtualBox" Name="Version" Type="raw" Win64="$(var.Property_Win64)"/>
196 </Property>
197 <Condition Message="!(loc.SunFound)">
198 NOT VBOXSUN
199 </Condition>-->
200
201 <!-- Detect old innotek installation -->
202 <!-- Force a manual uninstall of an already installed innotek VirtualBox version first -->
203 <Property Id="VBOXINNOTEK">
204 <RegistrySearch Id="RegSearchInnotekVersion" Root="HKLM" Key="SOFTWARE\Innotek\VirtualBox" Name="Version" Type="raw" Win64="$(var.Property_Win64)"/>
205 </Property>
206 <Condition Message="!(loc.InnotekFound)">
207 NOT VBOXINNOTEK
208 </Condition>
209
210 <Media Id="1" Cabinet="product.cab" EmbedCab="yes" />
211<?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
212 <Media Id="2" Cabinet="common.cab" EmbedCab="no" CompressionLevel="high" />
213<?endif ?>
214
215 <!-- Here comes the file/directory list. -->
216 <Directory Id="TARGETDIR" Name="SourceDir">
217 <Directory Id="$(var.Property_ProgramFiles)" Name="PFiles">
218 <Directory Id="INSTALLDIR" Name="$(env.VBOX_PRODUCT)">
219
220<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
221 <Directory Id="dir_Documents" Name="doc">
222 <!-- The documentation is a separate component. This allows to split the install process
223 into pieces if ever necessary. Maintenance is easier, too. The following component
224 will be installed in the "doc" folder. -->
225 <Component Id="cp_Docs" Guid="40BD12C5-89A8-4B81-8A5E-5EEE2C2763C4">
226 <?include $(env.PATH_TARGET)\Files_Doc.wxi ?>
227 </Component>
228 </Directory>
229<?endif ?>
230 <!-- Device driver directory -->
231 <Directory Id="dir_Drivers" Name="drivers">
232 <Directory Id="dir_VBoxDrv" Name="vboxdrv">
233 <Component Id="cp_VBoxDrv" Guid="D3E2F2BB-569F-46A2-836C-BDF30FF1EDF8" Win64="$(var.Property_Win64)">
234 <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
235 Legacy="$(var.Property_DriverLegacy)" Sequence="2" PlugAndPlayPrompt="no"/>
236 <File Id="file_VBoxDrv.sys" Name="VBoxDrv.sys" KeyPath="yes"
237 Source="$(env.PATH_OUT)\bin\VBoxDrv.sys"/>
238 <File Id="file_VBoxDrv.inf" Name="VBoxDrv.inf"
239 Source="$(env.PATH_OUT)\bin\VBoxDrv.inf" />
240<?if $(env.VBOX_SIGNING_MODE) != none ?>
241 <File Id="file_VBoxDrv.cat" Name="VBoxDrv.cat"
242 Source="$(env.PATH_OUT)\bin\VBoxDrv.cat" />
243<?endif ?>
244 </Component>
245 </Directory>
246
247 <Directory Id="dir_USB" Name="USB">
248 <Directory Id="dir_USBFilter" Name="filter">
249 <Component Id="cp_USBFilterDriver" Guid="B7D782D2-96DF-4775-A0E1-A76CF7B04B65" Win64="$(var.Property_Win64)">
250 <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
251 Legacy="$(var.Property_DriverLegacy)" Sequence="0" PlugAndPlayPrompt="no"/>
252 <File Id="file_VBoxUSBMon.sys" Name="VBoxUSBMon.sys"
253 Source="$(env.PATH_OUT)\bin\VBoxUSBMon.sys" />
254 <File Id="file_VBoxUSBMon.inf" Name="VBoxUSBMon.inf"
255 Source="$(env.PATH_OUT)\bin\VBoxUSBMon.inf" />
256<?if $(env.VBOX_SIGNING_MODE) != none ?>
257 <File Id="file_VBoxUSBMon.cat" Name="VBoxUSBMon.cat"
258 Source="$(env.PATH_OUT)\bin\VBoxUSBMon.cat" />
259<?endif ?>
260 </Component>
261 </Directory>
262
263 <Directory Id="dir_USBDevice" Name="device">
264 <Component Id="cp_USBDeviceDriver" Guid="010FE46A-E358-43E2-8BDC-38BC8BEC82E0" Win64="$(var.Property_Win64)">
265 <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
266 Legacy="$(var.Property_DriverLegacy)" Sequence="0" PlugAndPlayPrompt="no"/>
267 <File Id="file_VBoxUSB.sys" Name="VBoxUSB.sys"
268 Source="$(env.PATH_OUT)\bin\VBoxUSB.sys" />
269 <File Id="file_VBoxUSB.inf" Name="VBoxUSB.inf"
270 Source="$(env.PATH_OUT)\bin\VBoxUSB.inf" />
271<?if $(env.VBOX_SIGNING_MODE) != none ?>
272 <File Id="file_VBoxUSB.cat" Name="VBoxUSB.cat"
273 Source="$(env.PATH_OUT)\bin\VBoxUSB.cat" />
274<?endif ?>
275 </Component>
276 </Directory>
277 </Directory>
278
279<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
280 <Directory Id="dir_Network" Name="network">
281 <Directory Id="dir_NetFlt" Name="netflt">
282 <Component Id="cp_NetFltDriver" Guid="F0A02F6B-A349-42f8-A2EB-569DCAAAF846" Win64="$(var.Property_Win64)">
283 <File Id="file_VBoxNetFlt.sys" Name="VBoxNetFlt.sys" KeyPath="yes"
284 Source="$(env.PATH_OUT)\bin\VBoxNetFlt.sys" Checksum="yes"/>
285 <File Id="file_VBoxNetFltNobj.sys" Name="VBoxNetFltNobj.dll"
286 Source="$(env.PATH_OUT)\bin\VBoxNetFltNobj.dll" Checksum="yes"/>
287 <File Id="file_VBoxNetFltM.inf" Name="VBoxNetFltM.inf"
288 Source="$(env.PATH_OUT)\bin\VBoxNetFltM.inf" />
289 <File Id="file_VBoxNetFlt.inf" Name="VBoxNetFlt.inf"
290 Source="$(env.PATH_OUT)\bin\VBoxNetFlt.inf" />
291<?if $(env.VBOX_SIGNING_MODE) != none ?>
292 <File Id="file_VBoxNetFlt.cat" Name="VBoxNetFlt.cat"
293 Source="$(env.PATH_OUT)\bin\VBoxNetFlt.cat" />
294<?endif ?>
295 </Component>
296 </Directory>
297
298 <Directory Id="dir_NetAdp" Name="netadp">
299 <Component Id="cp_NetAdpDriver" Guid="7adf3e12-af3c-4d36-8bec-36d5064cf84f" Win64="$(var.Property_Win64)">
300 <File Id="file_VBoxNetAdp.sys" Name="VBoxNetAdp.sys" KeyPath="yes"
301 Source="$(env.PATH_OUT)\bin\VBoxNetAdp.sys" Checksum="yes"/>
302 <File Id="file_VBoxNetAdp.inf" Name="VBoxNetAdp.inf"
303 Source="$(env.PATH_OUT)\bin\VBoxNetAdp.inf" />
304<?if $(env.VBOX_SIGNING_MODE) != none ?>
305 <File Id="file_VBoxNetAdp.cat" Name="VBoxNetAdp.cat"
306 Source="$(env.PATH_OUT)\bin\VBoxNetAdp.cat" />
307<?endif ?>
308 </Component>
309 </Directory>
310 </Directory>
311<?endif ?>
312 </Directory> <!-- Directory "drivers" -->
313
314
315 <!-- National Language Support directory -->
316 <Directory Id="dir_NLS" Name="nls">
317 <Component Id="cp_NLS" Guid="D63517D7-1CF3-4D06-B3EE-C561E323069B" Win64="$(var.Property_Win64)">
318 <!-- Include the autogenerated NLS file list -->
319 <?include $(env.PATH_TARGET)\VBoxGuiNLS.wxi ?>
320 </Component>
321 </Directory>
322
323 <!-- COM components have a separate entry mainly because of the KeyPath attribute (that hints the
324 TypeLib element where to take the TLB resource from) may appear only once per Component. -->
325 <Component Id="cp_MainCOM" Guid="CD4A3C6C-C2D5-428D-90A1-B6DA3D0777D6" Win64="$(var.Property_Win64)">
326
327 <!-- File ID *must not* be changed because of our typelib template generation file! -->
328 <File Id="VBoxSVC" Name="VBoxSVC.exe"
329 Source="$(env.PATH_OUT)\bin\VBoxSVC.exe">
330 </File>
331
332 <!-- We set KeyPath on this file to instruct TypeLib to read the TLB resource from it
333 and create appropriate Interface registry entries. Note that the same TLB is present
334 in VBoxSVC.exe - it's just a matter of choice which one to use -->
335 <!-- File ID *must not* be changed because of our typelib template generation file! -->
336 <File Id="VBoxC" Name="VBoxC.dll"
337 Source="$(env.PATH_OUT)\bin\VBoxC.dll" KeyPath="yes">
338 </File>
339
340 <!-- Include the autogenerated TypeLib block -->
341 <?include $(env.PATH_TARGET)\VirtualBox_TypeLib.wxi ?>
342
343 </Component>
344
345 <!--
346
347 <Component Id="Cp_StartMenuShortcut" Guid="1C137D24-E599-47BD-98D0-2F62F202A8EA" Win64="$(var.Property_Win64)">
348 <RegistryValue Root="HKCU" Key="$(var.Property_RegKeyInstall)" Type="string"
349 Value="installed" KeyPath="yes" />
350 <Shortcut Id="ShortcutStartMenuVBox" Directory="ProgramMenuDir"
351 Name="VirtualBox" WorkingDirectory="INSTALLDIR" Advertise="no" Target="VirtualBox.exe" />
352 <RemoveFolder Id="ShortcutStartMenuVBoxRemove" On="uninstall" />
353 </Component>-->
354
355 <!---->
356
357 <!-- All Binaries, DLLs (except COM) and drivers are in one component because they belong together. Additional
358 binaries e.g. test tools, utilities etc. should be in another component so they"re clearly separated. -->
359 <Component Id="cp_MainBinaries" Guid="5C8FE57A-F744-4DE0-AA3F-A563F486AD98" Win64="$(var.Property_Win64)">
360
361 <!-- Set required environment variables. -->
362 <Environment Id="env_VBoxInstallDir" Action="set" Name="VBOX_INSTALL_PATH"
363 System="yes" Part="last" Permanent="no" Value="[INSTALLDIR]" />
364
365 <!-- Register file extensions. Note: Extension Id's *must not* be changed! These specify the actual
366 file extension to handle. Also, here would be the place to add more fancy DDE stuff later.
367 Important: The IDs in "IconIndex" *must* be matching "Resources\resource.h". -->
368 <ProgId Id="progId_VirtualBox.Shell.vbox" Description="VirtualBox Machine Definition" Icon="file_VBoxRes.dll" IconIndex="-201">
369 <Extension Id="vbox" ContentType="application/x-virtualbox-vbox">
370 <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
371 </Extension>
372 </ProgId>
373 <ProgId Id="progId_VirtualBox.Shell.vbox-extpack" Description="VirtualBox Extension Pack" Icon="file_VBoxRes.dll" IconIndex="-202">
374 <Extension Id="vbox-extpack" ContentType="application/x-virtualbox-vbox-extpack">
375 <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
376 </Extension>
377 </ProgId>
378 <ProgId Id="progId_VirtualBox.Shell.ovf" Description="Open Virtualization Format" Icon="file_VBoxRes.dll" IconIndex="-301">
379 <Extension Id="ovf" ContentType="application/x-virtualbox-ovf">
380 <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
381 </Extension>
382 </ProgId>
383 <ProgId Id="progId_VirtualBox.Shell.ova" Description="Open Virtualization Format Archive" Icon="file_VBoxRes.dll" IconIndex="-302">
384 <Extension Id="ova" ContentType="application/x-virtualbox-ova">
385 <Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
386 </Extension>
387 </ProgId>
388 <ProgId Id="progId_VirtualBox.Shell.vdi" Description="Virtual Disk Image" Icon="file_VBoxRes.dll" IconIndex="-303">
389 <Extension Id="vdi" ContentType="application/x-virtualbox-vdi" />
390 </ProgId>
391 <ProgId Id="progId_VirtualBox.Shell.vmdk" Description="Virtual Machine Disk Format" Icon="file_VBoxRes.dll" IconIndex="-304">
392 <Extension Id="vmdk" ContentType="application/x-virtualbox-vmdk" />
393 </ProgId>
394 <ProgId Id="progId_VirtualBox.Shell.vhd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-305">
395 <Extension Id="vhd" ContentType="application/x-virtualbox-vhd" />
396 </ProgId>
397 <ProgId Id="progId_VirtualBox.Shell.hdd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-306">
398 <Extension Id="hdd" ContentType="application/x-virtualbox-hdd" />
399 </ProgId>
400
401 <!-- Files -->
402<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
403 <!-- Include all user manual .CHM files (file is generated by makefile). -->
404 <?include $(env.PATH_TARGET)\Files_Main.wxi ?>
405<?endif ?>
406 <!-- Include all license files (file is generated by makefile). -->
407 <?include $(env.PATH_TARGET)\Files_License.wxi ?>
408
409 <!-- Frontends -->
410 <File Id="file_VBoxManage.exe" Name="VBoxManage.exe"
411 Source="$(env.PATH_OUT)\bin\VBoxManage.exe" />
412 <File Id="file_VBoxHeadless.exe" Name="VBoxHeadless.exe"
413 Source="$(env.PATH_OUT)\bin\VBoxHeadless.exe">
414 <!-- Create a simple shortcut for VBoxVRDP, which is not present anymore, pointing to VBoxHeadless.exe -->
415 <!-- <Shortcut Id="ShortcutVBoxVRDP" Directory="INSTALLDIR" Name="VBoxVRDP" Show="normal" WorkingDirectory="INSTALLDIR"/> -->
416 </File>
417 <File Id="file_VBoxBalloonCtrl.exe" Name="VBoxBalloonCtrl.exe"
418 Source="$(env.PATH_OUT)\bin\VBoxBalloonCtrl.exe"/>
419
420 <!-- Misc tools -->
421 <File Id="file_VBoxNetDHCP.exe" Name="VBoxNetDHCP.exe"
422 Source="$(env.PATH_OUT)\bin\VBoxNetDHCP.exe"/>
423<?if $(env.VBOX_WITH_EXTPACK) = "yes" ?>
424 <File Id="file_VBoxExtPackHelperApp.exe" Name="VBoxExtPackHelperApp.exe"
425 Source="$(env.PATH_OUT)\bin\VBoxExtPackHelperApp.exe"/>
426<?endif ?>
427 <!-- VBox DLL files -->
428 <File Id="file_VBoxDD.dll" Name="VBoxDD.dll"
429 Source="$(env.PATH_OUT)\bin\VBoxDD.dll" />
430 <File Id="file_VBoxDD2.dll" Name="VBoxDD2.dll"
431 Source="$(env.PATH_OUT)\bin\VBoxDD2.dll" />
432 <File Id="file_VBoxDDU.dll" Name="VBoxDDU.dll"
433 Source="$(env.PATH_OUT)\bin\VBoxDDU.dll" />
434 <File Id="file_VBoxRT.dll" Name="VBoxRT.dll"
435 Source="$(env.PATH_OUT)\bin\VBoxRT.dll" />
436 <File Id="file_VBoxREM.dll" Name="VBoxREM.dll"
437 Source="$(env.PATH_OUT)\bin\VBoxREM.dll" />
438<?if $(env.BUILD_TARGET_ARCH) = "amd64" ?>
439 <File Id="file_VBoxREM2.rel" Name="VBoxREM2.rel"
440 Source="$(env.PATH_OUT)\bin\VBoxREM2.rel" />
441<?else ?>
442 <File Id="file_VBoxREM32.dll" Name="VBoxREM32.dll"
443 Source="$(env.PATH_OUT)\bin\VBoxREM32.dll" />
444 <File Id="file_VBoxREM64.dll" Name="VBoxREM64.dll"
445 Source="$(env.PATH_OUT)\bin\VBoxREM64.dll" />
446<?endif ?>
447 <File Id="file_VBoxVMM.dll" Name="VBoxVMM.dll"
448 Source="$(env.PATH_OUT)\bin\VBoxVMM.dll" />
449<?if $(env.VBOX_WITH_VRDP) = "yes" ?>
450 <File Id="file_VBoxVRDP.dll" Name="VBoxVRDP.dll"
451 Source="$(env.PATH_OUT)\bin\VBoxVRDP.dll" />
452<?endif ?>
453 <File Id="file_VBoxSharedFolders.dll" Name="VBoxSharedFolders.dll"
454 Source="$(env.PATH_OUT)\bin\VBoxSharedFolders.dll" />
455 <File Id="file_VBoxSharedClipboard.dll" Name="VBoxSharedClipboard.dll"
456 Source="$(env.PATH_OUT)\bin\VBoxSharedClipboard.dll" />
457<?if $(env.VBOX_WITH_GUEST_PROPS) = "yes" ?>
458 <File Id="file_VBoxGuestPropSvc.dll" Name="VBoxGuestPropSvc.dll"
459 Source="$(env.PATH_OUT)\bin\VBoxGuestPropSvc.dll" />
460<?endif ?>
461<?if $(env.VBOX_WITH_GUEST_CONTROL) = "yes" ?>
462 <File Id="file_VBoxGuestControlSvc.dll" Name="VBoxGuestControlSvc.dll"
463 Source="$(env.PATH_OUT)\bin\VBoxGuestControlSvc.dll" />
464<?endif ?>
465 <File Id="file_VBoxAuth.dll" Name="VBoxAuth.dll"
466 Source="$(env.PATH_OUT)\bin\VBoxAuth.dll" />
467 <File Id="file_VBoxAuthSimple.dll" Name="VBoxAuthSimple.dll"
468 Source="$(env.PATH_OUT)\bin\VBoxAuthSimple.dll" />
469
470 <!-- Include resource DLL (icons, ...). -->
471 <File Id="file_VBoxRes.dll" Name="VBoxRes.dll" DiskId="$(var.Property_DiskIdCommon)"
472 Source="$(env.PATH_OUT)\bin\VBoxRes.dll" />
473
474 <File Id="file_VMMGC.gc" Name="VMMGC.gc"
475 Source="$(env.PATH_OUT)\bin\VMMGC.gc" />
476 <File Id="file_VBoxDDGC.gc" Name="VBoxDDGC.gc"
477 Source="$(env.PATH_OUT)\bin\VBoxDDGC.gc" />
478 <File Id="file_VBoxDD2GC.gc" Name="VBoxDD2GC.gc"
479 Source="$(env.PATH_OUT)\bin\VBoxDD2GC.gc" />
480
481 <File Id="file_VMMR0.r0" Name="VMMR0.r0"
482 Source="$(env.PATH_OUT)\bin\VMMR0.r0" />
483 <File Id="file_VBoxDDR0.r0" Name="VBoxDDR0.r0"
484 Source="$(env.PATH_OUT)\bin\VBoxDDR0.r0" />
485 <File Id="file_VBoxDD2R0.r0" Name="VBoxDD2R0.r0"
486 Source="$(env.PATH_OUT)\bin\VBoxDD2R0.r0" />
487
488<?if $(env.VBOX_WITH_CROGL) = "yes" ?>
489 <File Id="file_VBoxTestOGL.exe" Name="VBoxTestOGL.exe"
490 Source="$(env.PATH_OUT)\bin\VBoxTestOGL.exe" />
491<?endif ?>
492 <!-- Qt frontend -->
493 <File Id="file_VirtualBox.exe" Name="VirtualBox.exe"
494 Source="$(env.PATH_OUT)\bin\VirtualBox.exe">
495 </File>
496 <File Id="file_QtCoreVBox4.dll" Name="QtCoreVBox4.dll"
497 Source="$(env.PATH_OUT)\bin\QtCoreVBox4.dll" />
498 <File Id="file_QtGuiVBox4.dll" Name="QtGuiVBox4.dll"
499 Source="$(env.PATH_OUT)\bin\QtGuiVBox4.dll" />
500 <File Id="file_QtNetworkVBox4.dll" Name="QtNetworkVBox4.dll"
501 Source="$(env.PATH_OUT)\bin\QtNetworkVBox4.dll" />
502<?if $(env.VBOX_WITH_DEBUGGER_GUI) = "yes" ?>
503 <File Id="file_VBoxDbg.dll" Name="VBoxDbg.dll"
504 Source="$(env.PATH_OUT)\bin\VBoxDbg.dll" />
505<?endif ?>
506<?if $(env.VBOX_GUI_USE_QGL) = "yes" ?>
507 <File Id="file_QtOpenGLVBox4.dll" Name="QtOpenGLVBox4.dll"
508 Source="$(env.PATH_OUT)\bin\QtOpenGLVBox4.dll" />
509<?endif?>
510
511<?if $(env.VBOX_USE_VCC80) = "yes" ?>
512 <!-- MS v8 Runtime DLL files (private assembly) -->
513 <File Id="file_Microsoft.VC80.CRT.manifest" Name="Microsoft.VC80.CRT.manifest"
514 Source="$(env.PATH_OUT)\bin\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest" />
515 <File Id="file_msvcr80.dll" Name="msvcr80.dll"
516 Source="$(env.PATH_OUT)\bin\Microsoft.VC80.CRT\msvcr80.dll" />
517 <File Id="file_msvcp80.dll" Name="msvcp80.dll"
518 Source="$(env.PATH_OUT)\bin\Microsoft.VC80.CRT\msvcp80.dll" />
519<?endif?>
520
521 <!-- MS v7 Runtime DLL files -->
522<?if $(env.VBOX_USE_VCC80) != "yes" ?>
523 <File Id="file_msvcp71.dll" Name="msvcp71.dll"
524 Source="$(env.PATH_OUT)\bin\msvcp71.dll" />
525 <File Id="file_msvcrt.dll" Name="msvcrt.dll"
526 Source="$(env.PATH_OUT)\bin\msvcrt.dll" />
527<?endif?>
528<?if $(env.BUILD_TARGET_ARCH) != "amd64" ?>
529 <File Id="msvcrdll" Name="msvcr71.dll"
530 Source="$(env.PATH_OUT)\bin\msvcr71.dll" />
531<?endif?>
532 <!-- EFI firmware -->
533<?if $(env.VBOX_WITH_EFIFW_PACKING) = "yes" ?>
534 <File Id="file_VBoxEFI32.fd" Name="VBoxEFI32.fd" DiskId="$(var.Property_DiskIdCommon)"
535 Source="$(env.PATH_OUT)\bin\VBoxEFI32.fd" />
536 <File Id="file_VBoxEFI64.fd" Name="VBoxEFI64.fd" DiskId="$(var.Property_DiskIdCommon)"
537 Source="$(env.PATH_OUT)\bin\VBoxEFI64.fd" />
538<?endif?>
539 <!-- VBox guest additions -->
540<?if $(env.VBOX_WITH_ADDITIONS_PACKING) = "yes" ?>
541 <?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
542 <File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso" DiskId="2"
543 Source="$(env.PATH_MULTIARCH_GUEST_ADDITIONS_ISO)\VBoxGuestAdditions.iso" />
544 <?else ?>
545 <File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso"
546 Source="$(env.PATH_OUT)\bin\additions\VBoxGuestAdditions.iso" />
547 <?endif ?>
548<?endif ?>
549 <!-- Include key for VBox version -->
550 <?include $(env.PATH_TARGET)\VBoxKey.wxi ?>
551
552 </Component> <!-- MainBinaries -->
553
554<?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
555 <!-- Qt accessible plugins -->
556 <Directory Id="dir_Accessible" Name="accessible">
557 <Component Id="cp_QtAccessible" Guid="12040EF9-D4A8-4FB2-A69C-CA2F5C354A45" Win64="$(var.Property_Win64)">
558 <File Id="file_qtaccessiblewidgets4.dll" Name="qtaccessiblewidgets4.dll"
559 Source="$(env.PATH_OUT)\bin\accessible\qtaccessiblewidgets4.dll" />
560 </Component>
561 </Directory>
562<?endif?>
563
564<?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
565 <!-- Python bindings -->
566 <Directory Id="dir_SDK" Name="sdk">
567 <Directory Id="dir_SDKInstall" Name="install">
568 <Component Id="cp_VBoxPyInst" Guid="C9A40306-5102-11DE-A7BA-C3C555D89593" Win64="$(var.Property_Win64)">
569 <File Id="file_vboxapisetup.py" Name="vboxapisetup.py" DiskId="$(var.Property_DiskIdCommon)"
570 Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapisetup.py" />
571 </Component>
572 <Directory Id="dir_SDKVBoxAPI" Name="vboxapi">
573 <Component Id="cp_VBoxPyMod" Guid="DF19CB76-5102-11DE-943B-13C755D89593" Win64="$(var.Property_Win64)">
574 <File Id="file___init__.py" Name="__init__.py" DiskId="$(var.Property_DiskIdCommon)"
575 Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\__init__.py" />
576 <File Id="file_VirtualBox_constants.py" Name="VirtualBox_constants.py" DiskId="$(var.Property_DiskIdCommon)"
577 Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\VirtualBox_constants.py" />
578 </Component>
579 </Directory>
580 </Directory>
581 </Directory>
582<?endif?>
583
584<?if $(env.VBOX_WITH_CROGL) = "yes" ?>
585 <Component Id="cp_VBoxCROpenGL" Guid="874A1297-835A-491D-8A9D-7E723BC29EE7" Win64="$(var.Property_Win64)">
586 <File Id="file_VBoxOGLhostcrutil.dll" Name="VBoxOGLhostcrutil.dll"
587 Source="$(env.PATH_OUT)\bin\VBoxOGLhostcrutil.dll" />
588 <File Id="file_VBoxOGLhosterrorspu.dll" Name="VBoxOGLhosterrorspu.dll"
589 Source="$(env.PATH_OUT)\bin\VBoxOGLhosterrorspu.dll" />
590 <File Id="file_VBoxOGLrenderspu.dll" Name="VBoxOGLrenderspu.dll"
591 Source="$(env.PATH_OUT)\bin\VBoxOGLrenderspu.dll" />
592 <File Id="file_VBoxSharedCrOpenGL.dll" Name="VBoxSharedCrOpenGL.dll"
593 Source="$(env.PATH_OUT)\bin\VBoxSharedCrOpenGL.dll" />
594 </Component>
595<?endif?>
596 <!-- SDL plugins -->
597 <Component Id="cp_VBoxSDLBinaries" Guid="F09D5FD9-E176-42B0-90A9-481BB18B0CB4" Win64="$(var.Property_Win64)">
598 <File Id="file_VBoxSDL.exe" Name="VBoxSDL.exe"
599 Source="$(env.PATH_OUT)\bin\VBoxSDL.exe" />
600 <File Id="file_SDL.dll" Name="SDL.dll"
601 Source="$(env.PATH_OUT)\bin\SDL.dll" />
602<?if $(env.VBOX_WITH_SECURELABEL) = "yes" ?>
603 <File Id="file_SDL_ttf.dll" Name="SDL_ttf.dll"
604 Source="$(env.PATH_OUT)\bin\SDL_ttf.dll" />
605<?endif?>
606 </Component> <!-- SDL plugins -->
607
608<?if $(env.VBOX_WITH_WEBSERVICES) = "yes" ?>
609 <!-- Webservice -->
610 <Component Id="cp_VBoxWebService" Guid="DD404F04-9874-43E9-AEE2-7762924D922E">
611 <File Id="file_VBoxWebSrv.exe" Name="VBoxWebSrv.exe"
612 Source="$(env.PATH_OUT)\bin\vboxwebsrv.exe" />
613 </Component>
614<?endif?>
615
616<?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
617 <Component Id="cp_VBoxPythonBinding" Guid="293D7E11-78DA-4C31-AEED-AE2FE42F6881">
618 <Condition>PYTHON_INSTALLED</Condition>
619 </Component>
620<?endif?>
621 </Directory> <!-- Installation directory -->
622 </Directory> <!-- Windows program files directory -->
623
624 <!-- Set up special directory IDs for referencing to the start menu
625 or the Quick Launch bar.
626 See: http://msdn.microsoft.com/en-us/library/aa368276.aspx
627 http://wix.mindcapers.com/wiki/Shortcuts_in_WiX -->
628 <Directory Id="ProgramMenuFolder">
629 <Directory Id="dir_StartMenuVBox" Name="$(env.VBOX_PRODUCT)"/>
630 </Directory>
631
632 <Directory Id="DesktopFolder" Name="Desktop"/>
633
634 <Directory Id="AppDataFolder" Name="AppData">
635 <Directory Id="dir_AppDataMicrosoft" Name="Microsoft">
636 <Directory Id="dir_AppDataMSIE" Name="Internet Explorer">
637 <Directory Id="dir_QuicklaunchFolder" Name="Quick Launch"/>
638 </Directory>
639 </Directory>
640 </Directory>
641
642 <!-- Shortcut(s) in start menu -->
643 <Component Id="cp_StartMenuVBox" Guid="C2DC321A-CE63-40EE-8A98-724DF8BD12FB" Win64="$(var.Property_Win64)">
644 <Shortcut Id="sc_StartMenuVBox" Directory="dir_StartMenuVBox" Name="$(env.VBOX_PRODUCT)" Description="$(env.VBOX_PRODUCT)"
645 Target="[INSTALLDIR]VirtualBox.exe" WorkingDirectory="INSTALLDIR"/>
646 <RegistryValue Root="HKCU" Key="$(var.Property_RegKeyInstall)"
647 Type="string" Value="installed" KeyPath="yes" />
648 <?include $(env.PATH_TARGET)\Shortcuts_StartMenu.wxi ?>
649 </Component>
650
651 <Component Id="cp_DesktopShortcut" Guid="668F8A1A-F5CE-48B3-BB1A-3042EE27B279" Win64="$(var.Property_Win64)">
652 <Condition>INSTALLDESKTOPSHORTCUT</Condition>
653 <Shortcut Id="sc_DesktopVBox" Directory="DesktopFolder" Name="$(env.VBOX_PRODUCT)" Description="$(env.VBOX_PRODUCT)"
654 Target="[INSTALLDIR]VirtualBox.exe" WorkingDirectory="INSTALLDIR"/>
655 <RegistryValue Root="HKCU" Key="$(var.Property_RegKeyInstall)" Type="string"
656 Value="installed" KeyPath="yes" />
657 </Component>
658
659 <Component Id="cp_QuickLaunchVBox" Guid="CC19E026-938A-41CB-8E77-3F33296244B6" Win64="$(var.Property_Win64)">
660 <CreateFolder/>
661 <Condition>INSTALLQUICKLAUNCHSHORTCUT</Condition>
662 <Shortcut Id="sc_QuickLaunchVBox" Directory="dir_QuicklaunchFolder" Name="$(env.VBOX_PRODUCT)" Description="$(env.VBOX_PRODUCT)"
663 Target="[INSTALLDIR]VirtualBox.exe" WorkingDirectory="INSTALLDIR"/>
664 <RegistryValue Root="HKCU" Key="$(var.Property_RegKeyInstall)"
665 Type="string" Value="installed" KeyPath="yes" />
666 </Component>
667 </Directory> <!-- TARGETDIR -->
668
669 <Feature Id="VBoxApplication" Title="VirtualBox Application" Level="1"
670 Description="!(loc.VB_App)"
671 ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand"
672 Absent="disallow">
673
674 <ComponentRef Id="cp_StartMenuVBox" />
675 <ComponentRef Id="cp_DesktopShortcut" />
676 <ComponentRef Id="cp_QuickLaunchVBox" />
677
678<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
679 <ComponentRef Id="cp_Docs" />
680<?endif?>
681 <ComponentRef Id="cp_NLS" />
682 <ComponentRef Id="cp_MainCOM" />
683 <ComponentRef Id="cp_MainBinaries" />
684<?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
685 <ComponentRef Id="cp_QtAccessible" />
686<?endif?>
687<?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
688 <ComponentRef Id="cp_VBoxPyInst" />
689 <ComponentRef Id="cp_VBoxPyMod" />
690<?endif?>
691
692<?if $(env.VBOX_WITH_CROGL) = "yes" ?>
693 <ComponentRef Id="cp_VBoxCROpenGL" />
694<?endif?>
695 <ComponentRef Id="cp_VBoxSDLBinaries" />
696<?if $(env.VBOX_WITH_WEBSERVICES) = "yes" ?>
697 <ComponentRef Id="cp_VBoxWebService" />
698<?endif?>
699 <ComponentRef Id="cp_VBoxDrv" />
700
701 <Feature Id="ft_VBoxUSB" Title="VirtualBox USB Support" Level="1"
702 Description="!(loc.VB_USBDriver)"
703 ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
704 <ComponentRef Id="cp_USBFilterDriver" />
705 <ComponentRef Id="cp_USBDeviceDriver" />
706 </Feature>
707
708<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
709 <Feature Id="ft_VBoxNetwork" Title="VirtualBox Networking" Level="1"
710 Description="!(loc.VB_Network)"
711 ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
712 <Feature Id="ft_VBoxNetworkFlt" Title="VirtualBox Bridged Networking" Level="1"
713 Description="!(loc.VB_NetFltDriver)"
714 ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
715 <ComponentRef Id="cp_NetFltDriver" />
716 </Feature>
717 <Feature Id="ft_VBoxNetworkAdp" Title="VirtualBox Host-Only Networking" Level="1"
718 Description="!(loc.VB_NetAdpDriver)"
719 ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
720 <ComponentRef Id="cp_NetAdpDriver" />
721 </Feature>
722 </Feature>
723<?endif?>
724
725<?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
726 <Feature Id="ft_VBoxPython" Title="VirtualBox Python Support" Level="1"
727 Description="!(loc.VB_Python)"
728 ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
729 <ComponentRef Id="cp_VBoxPythonBinding" />
730 </Feature>
731<?endif?>
732
733 </Feature>
734
735 <!-- Include user interface definition. -->
736 <?include UserInterface.wxi ?>
737
738 <InstallExecuteSequence>
739
740 <!-- AppSearch must be done before "RemoveExistingProducts" and before "FindRelatedProducts". -->
741 <AppSearch Sequence="1"></AppSearch>
742 <LaunchConditions After="AppSearch" />
743 <RemoveExistingProducts After="InstallValidate"><![CDATA[NEWERVERSIONDETECTED OR PREVIOUSVERSIONSINSTALLED]]></RemoveExistingProducts>
744
745 <Custom Action="ca_OriginalTargetDir" After="FileCost"><![CDATA[(NOT INSTALLDIR) AND (NOT EXISTINGINSTALLDIR)]]></Custom>
746 <Custom Action="ca_DefaultTargetDir" Before="FileCost" ><![CDATA[NOT Installed AND (NOT INSTALLDIR) AND EXISTINGINSTALLDIR]]></Custom>
747
748 <Custom Action="ca_UninstallTAPInstances" Before="InstallFiles" >1</Custom>
749<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
750 <Custom Action="ca_CreateHostOnlyInterfaceArgs" Before="ca_CreateHostOnlyInterface" ><![CDATA[&ft_VBoxNetworkAdp=3]]></Custom>
751 <Custom Action="ca_CreateHostOnlyInterface" Before="InstallFinalize" ><![CDATA[&ft_VBoxNetworkAdp=3]]></Custom>
752 <Custom Action="ca_RemoveHostOnlyInterfaces" After="ca_UninstallNetFlt" ></Custom>
753
754 <Custom Action="ca_RollbackInstallNetFltArgs" Before="ca_RollbackInstallNetFlt" ><![CDATA[&ft_VBoxNetworkFlt=3]]></Custom>
755 <Custom Action="ca_RollbackInstallNetFlt" Before="ca_InstallNetFlt" ><![CDATA[&ft_VBoxNetworkFlt=3]]></Custom>
756 <Custom Action="ca_InstallNetFltArgs" Before="ca_InstallNetFlt" ><![CDATA[&ft_VBoxNetworkFlt=3]]></Custom>
757 <Custom Action="ca_InstallNetFlt" Before="ca_CreateHostOnlyInterface" ><![CDATA[&ft_VBoxNetworkFlt=3]]></Custom>
758
759 <Custom Action="ca_RollbackUninstallNetFltArgs" Before="ca_RollbackUninstallNetFlt" ><![CDATA[&ft_VBoxNetworkFlt=2]]></Custom>
760 <Custom Action="ca_RollbackUninstallNetFlt" Before="ca_UninstallNetFlt" ><![CDATA[&ft_VBoxNetworkFlt=2]]></Custom>
761 <Custom Action="ca_UninstallNetFltArgs" Before="ca_UninstallNetFlt" ><![CDATA[&ft_VBoxNetworkFlt=2]]></Custom>
762 <Custom Action="ca_UninstallNetFlt" After="InstallInitialize" ><![CDATA[&ft_VBoxNetworkFlt=2]]></Custom>
763<?endif?>
764 <Custom Action="ca_InstallPythonAPI" Before="InstallFinalize" ><![CDATA[&ft_VBoxPython=3]]></Custom>
765 <Custom Action="ca_InstallBranding" Before="InstallFinalize" ><![CDATA[NOT REMOVE]]></Custom>
766 <Custom Action="ca_UninstallBranding" Before="InstallFinalize" ><![CDATA[REMOVE]]></Custom>
767
768 </InstallExecuteSequence>
769
770 </Product>
771</Wix>
772
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette