VirtualBox

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

Last change on this file since 35650 was 35166, checked in by vboxsync, 14 years ago

Windows host installer: Fixed corrupted dialog image, overall size of installer was shrunk again by using compressed JPG files.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 45.4 KB
Line 
1<?xml version="1.0"?>
2<!--
3 VirtualBox Windows Installation Script (WiX)
4
5 Copyright (C) 2006-2010 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_Version = "$(env.VBOX_VERSION_STRING)" ?>
18<?define Property_Upgrade = "yes" ?>
19
20<?if $(env.BUILD_TARGET_ARCH) = "amd64" ?>
21 <?define Property_ProgramFiles = "ProgramFiles64Folder" ?>
22 <?define Property_Platform = "x64" ?>
23 <?define Property_Win64 = "yes" ?>
24
25<?if $(env.VBOX_SIGNING_MODE) != none ?>
26 <?define Property_DriverLegacy = "no" ?>
27<?else ?>
28 <?define Property_DriverLegacy = "yes" ?>
29<?endif ?>
30
31<?else ?>
32 <?define Property_ProgramFiles = "ProgramFilesFolder" ?>
33 <?define Property_Platform = "Intel" ?>
34 <?define Property_Win64 = "no" ?>
35
36<?if $(env.VBOX_SIGNING_MODE) != none ?>
37 <!-- Note: Settings this to 'no' breaks win2k installs (!) -->
38 <?define Property_DriverLegacy = "yes" ?>
39<?else ?>
40 <?define Property_DriverLegacy = "yes" ?>
41<?endif ?>
42
43<?endif ?>
44
45<?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
46 <?define Property_DiskIdCommon = "2" ?>
47<?else ?>
48 <?define Property_DiskIdCommon = "1" ?>
49<?endif ?>
50
51<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
52
53 <!-- Note: GUIDs in WiX *must* be uppercase! -->
54 <!-- Always include an upgrade ID or otherwise upgrade installation will not be possible. When doing
55 a major upgrade (more than just fixing a few files) change the product GUID. -->
56
57 <!-- Update / Upgrade policies:
58 Update Type Package Code Product Version Product Code Upgrade Code
59 Small update change don't change don't change don't change
60 Minor update change change don't change don't change
61 Major upgrade change change change don't change -->
62
63 <!-- Old product ID: <Product Id="B59FE77B-738F-4f1c-AB48-3104895AF676"
64 Old upgrade code of innotek: UpgradeCode="F5FFAEBF-97AE-4038-8F91-4DE719456127" -->
65
66 <Product Id="????????-????-????-????-????????????"
67 UpgradeCode="C4BAD770-BFE8-4D2C-A592-693028A7215B"
68 Name="$(env.VBOX_PRODUCT) $(env.VBOX_VERSION_STRING)"
69 Language="$(loc.LANG)"
70 Codepage="1252"
71 Version="$(var.Property_Version)"
72 Manufacturer="$(env.VBOX_VENDOR)">
73
74 <!-- Package GUIDs must be different for each package. The "???" directs WiX to create one. -->
75 <Package Id="????????-????-????-????-????????????" Keywords="Installer"
76 Description="$(env.VBOX_PRODUCT) $(var.Property_Version) installation package"
77 Comments="$(env.VBOX_PRODUCT) installation package"
78 Manufacturer="$(env.VBOX_VENDOR)"
79 InstallerVersion="200"
80 Compressed="yes"
81 InstallPrivileges="elevated"
82 Platforms="$(var.Property_Platform)"/>
83
84 <!-- *************************** Upgrade packages only ******************************* -->
85 <!-- Minimum and Maximum specify the range of versions we are supposed to update with this upgrade.
86 IncludeMaximum and IncludeMinimum specify whether the bound value is actually included in the range or not
87 (IncludeMaximum = yes meaning to find versions below or equal to the version specified in Maximum while
88 IncludeMaximum = no only finds those below the Maximum).
89 OnlyDetect tells the installer not to remove the previous product. This is useful as long as we
90 only change files in the package. -->
91
92 <Upgrade Id="C4BAD770-BFE8-4D2C-A592-693028A7215B"> <!-- Upgrade of Sun xVM VirtualBox >= v1.6.0 -->
93
94 <!-- Upgrade is flagged if current-install is newer than or equal to package - TODO: should make a dialog appear asking user to confirm downgrade. -->
95 <!--- Setting "OnlyDetect" to "no" makes the installer uninstall an already newer installed version. -->
96 <UpgradeVersion Property="NEWERVERSIONDETECTED" Minimum="$(var.Property_Version)" OnlyDetect="no" />
97
98 <!-- Flag is set if the install will trigger an upgrade of an existing install -->
99 <UpgradeVersion Property="PREVIOUSVERSIONSINSTALLED" Minimum="1.0.0.0" Maximum="$(var.Property_Version)" IncludeMaximum="yes" />
100
101 </Upgrade>
102
103 <!-- The product's icon table. -->
104 <Icon Id="IconVirtualBox" SourceFile="$(env.VBOX_WINDOWS_ICON_FILE)" />
105
106 <!-- Global properties. -->
107 <Property Id="ARPPRODUCTICON">IconVirtualBox</Property>
108 <Property Id="ARPURLINFOABOUT">http://www.virtualbox.org</Property>
109 <Property Id="ARPURLUPDATEINFO">http://www.virtualbox.org</Property>
110 <Property Id="INSTALLDESKTOPSHORTCUT" Value="1"></Property>
111 <Property Id="INSTALLQUICKLAUNCHSHORTCUT" Value="1"></Property>
112 <Property Id="STARTVBOX" Value="1"></Property>
113
114 <!-- Install the product for all users on the system -->
115 <Property Id="ALLUSERS"><![CDATA[1]]></Property>
116
117 <!-- Make sure installation will not start on anything other but the NT family -->
118<?if $(env.BUILD_TARGET_ARCH) = "amd64" ?>
119 <Condition Message="$(loc.Only64Bit)">
120 VersionNT64
121 </Condition>
122<?else ?>
123 <Condition Message="$(loc.Only32Bit)">
124 NOT VersionNT64
125 </Condition>
126
127 <Condition Message="$(loc.WrongOS)">
128 NOT VersionNT=500 AND NOT Version9X AND NOT VersionNT64
129 </Condition>
130
131<?endif ?>
132
133 <Condition Message="$(loc.NeedAdmin)">
134 Privileged
135 </Condition>
136
137 <!-- Force overwriting all files and re-create shortcuts to guarantee a working environment. -->
138 <Property Id='REINSTALLMODE' Value='amus'/>
139
140 <!-- Custom actions -->
141
142 <!-- Figure out where a previous installation was, if any -->
143<?if $(env.BUILD_TARGET_ARCH) = "amd64" ?>
144 <CustomAction Id="OriginalTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[ProgramFiles64Folder]\$(env.VBOX_VENDOR_SHORT)\VirtualBox" />
145
146 <Property Id="EXISTINGINSTALLDIR" Secure="yes">
147 <RegistrySearch Id="RegistryGetInstallPath" Root="HKLM" Key="$(var.Property_RegKey)" Name="InstallDir" Type="raw" Win64="$(var.Property_Win64)"/>
148 </Property>
149 <CustomAction Id="DefaultTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[EXISTINGINSTALLDIR]" />
150<?else ?>
151 <CustomAction Id="OriginalTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[ProgramFilesFolder]\$(env.VBOX_VENDOR_SHORT)\VirtualBox" />
152
153 <Property Id="EXISTINGINSTALLDIR" Secure="yes">
154 <RegistrySearch Id="RegistryGetInstallPath" Root="HKLM" Key="$(var.Property_RegKey)" Name="InstallDir" Type="raw" Win64="$(var.Property_Win64)"/>
155 </Property>
156 <CustomAction Id="DefaultTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[EXISTINGINSTALLDIR]" />
157<?endif ?>
158
159 <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
160 <CustomAction Id="CheckSerial" BinaryKey="VBoxInstallHelper" DllEntry="CheckSerial" Impersonate="no"/>
161 <CustomAction Id="InstallPythonAPI" BinaryKey="VBoxInstallHelper" DllEntry="InstallPythonAPI" Impersonate="no"/>
162 <CustomAction Id="InstallBranding" BinaryKey="VBoxInstallHelper" DllEntry="InstallBranding" Impersonate="no"/>
163 <CustomAction Id="UninstallBranding" BinaryKey="VBoxInstallHelper" DllEntry="UninstallBranding" Impersonate="no"/>
164
165 <CustomAction Id="UninstallTAPInstances" BinaryKey="VBoxInstallHelper"
166 DllEntry="UninstallTAPInstances" Execute="deferred" Return="check" Impersonate="no"/>
167
168<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
169 <CustomAction Id="CreateHostOnlyInterfaceArgs" Property="CreateHostOnlyInterface" Value="[INSTALLDIR]" Execute="immediate"/>
170 <CustomAction Id="CreateHostOnlyInterface" BinaryKey="VBoxInstallHelper" DllEntry="CreateHostOnlyInterface" Execute="deferred" Return="check" Impersonate="no"/>
171
172 <CustomAction Id="RemoveHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="RemoveHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
173
174 <CustomAction Id="InstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
175 <CustomAction Id="InstallNetFltArgs" Property="InstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
176
177 <CustomAction Id="RollbackInstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="rollback" Impersonate="no"/>
178 <CustomAction Id="RollbackInstallNetFltArgs" Property="RollbackInstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
179
180 <CustomAction Id="UninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
181 <CustomAction Id="UninstallNetFltArgs" Property="UninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
182
183 <CustomAction Id="RollbackUninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="rollback" Impersonate="no"/>
184 <CustomAction Id="RollbackUninstallNetFltArgs" Property="RollbackUninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
185<?endif ?>
186
187 <CustomAction Id="StartVBox" FileKey="vbox" ExeCommand="" Return="asyncNoWait" Impersonate="yes" />
188
189 <!-- Detect old Sun installation. -->
190 <!-- Force a manual uninstall of an already installed Sun VirtualBox version first. -->
191 <!--<Property Id="VBOXSUN">
192 <RegistrySearch Id="RegSearchSunVersion" Root="HKLM" Key="SOFTWARE\Sun\VirtualBox" Name="Version" Type="raw" Win64="$(var.Property_Win64)"/>
193 </Property>
194 <Condition Message="$(loc.SunFound)">
195 NOT VBOXSUN
196 </Condition>-->
197
198 <!-- Detect old innotek installation. -->
199 <!-- Force a manual uninstall of an already installed innotek VirtualBox version first. -->
200 <Property Id="VBOXINNOTEK">
201 <RegistrySearch Id="RegSearchInnotekVersion" Root="HKLM" Key="SOFTWARE\Innotek\VirtualBox" Name="Version" Type="raw" Win64="$(var.Property_Win64)"/>
202 </Property>
203 <Condition Message="$(loc.InnotekFound)">
204 NOT VBOXINNOTEK
205 </Condition>
206
207 <Media Id="1" Cabinet="product.cab" EmbedCab="yes" />
208<?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
209 <Media Id="2" Cabinet="common.cab" EmbedCab="no" CompressionLevel="high" />
210<?endif ?>
211
212 <!-- Here comes the file/directory list. -->
213 <Directory Id="TARGETDIR" Name="SourceDir">
214 <Directory Id="$(var.Property_ProgramFiles)" Name="PFiles">
215 <Directory Id="INSTALLDIR" Name="VirtualB" LongName="$(env.VBOX_PRODUCT)">
216
217<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
218 <Directory Id="documents" Name="doc">
219 <!-- The documentation is a separate component. This allows to split the install process
220 into pieces if ever necessary. Maintenance is easier, too. The following component
221 will be installed in the "doc" folder. -->
222 <Component Id="docs" Guid="40BD12C5-89A8-4B81-8A5E-5EEE2C2763C4">
223 <?include $(env.PATH_TARGET)\Files_Doc.wxi ?>
224 </Component>
225
226 </Directory>
227<?endif ?>
228 <!-- Device driver directory -->
229 <Directory Id="drivers" Name="drivers">
230
231 <Directory Id="vboxdrv" Name="vboxdrv">
232 <Component Id="VBoxDrv" Guid="D3E2F2BB-569F-46A2-836C-BDF30FF1EDF8"
233 DriverSequence="2" DriverLegacy="$(var.Property_DriverLegacy)" DriverForceInstall="yes"
234 DriverAddRemovePrograms="no" DriverPlugAndPlayPrompt="no" Win64="$(var.Property_Win64)">
235 <File Id="vboxdrvsys" Name="VBoxDrv.sys" DiskId="1" Vital="yes" KeyPath="yes"
236 Source="$(env.PATH_OUT)\bin\VBoxDrv.sys"/>
237 <File Id="vboxdrvinf" Name="VBoxDrv.inf" DiskId="1" Vital="yes"
238 Source="$(env.PATH_OUT)\bin\VBoxDrv.inf" />
239<?if $(env.VBOX_SIGNING_MODE) != none ?>
240 <File Id="vboxdrvcat" Name="VBoxDrv.cat" DiskId="1" Vital="yes"
241 Source="$(env.PATH_OUT)\bin\VBoxDrv.cat" />
242<?endif ?>
243 </Component> <!-- Directory "drivers\vboxdrv" -->
244 </Directory>
245
246 <Directory Id="usbdrv" Name="USB">
247 <Directory Id="usbfilter" Name="filter">
248 <Component Id="USBFilterDriver" Guid="B7D782D2-96DF-4775-A0E1-A76CF7B04B65"
249 DriverSequence="0" DriverLegacy="$(var.Property_DriverLegacy)" DriverForceInstall="yes"
250 DriverAddRemovePrograms="no" DriverPlugAndPlayPrompt="no" Win64="$(var.Property_Win64)">
251 <File Id="vboxusbmon" Name="VBoxUSBM.sys" LongName="VBoxUSBMon.sys" DiskId="1" Vital="yes"
252 Source="$(env.PATH_OUT)\bin\VBoxUSBMon.sys" />
253 <File Id="vboxusbmoninf" Name="VBoxUSBM.inf" LongName="VBoxUSBMon.inf" DiskId="1" Vital="yes"
254 Source="$(env.PATH_OUT)\bin\VBoxUSBMon.inf" />
255<?if $(env.VBOX_SIGNING_MODE) != none ?>
256 <File Id="vboxusbmoncat" Name="VBoxUSBM.cat" LongName="VBoxUSBMon.cat" DiskId="1" Vital="yes"
257 Source="$(env.PATH_OUT)\bin\VBoxUSBMon.cat" />
258<?endif ?>
259 </Component> <!-- USBFilterDriver -->
260 </Directory> <!-- Directory "drivers\usb\filter" -->
261
262 <Directory Id="usbdevice" Name="device">
263 <Component Id="USBDeviceDriver" Guid="010FE46A-E358-43E2-8BDC-38BC8BEC82E0"
264 DriverSequence="0" DriverLegacy="$(var.Property_DriverLegacy)" DriverForceInstall="yes"
265 DriverAddRemovePrograms="no" DriverPlugAndPlayPrompt="no" Win64="$(var.Property_Win64)">
266 <File Id="vboxusbdrv" Name="VBoxUSB.sys" DiskId="1" Vital="yes"
267 Source="$(env.PATH_OUT)\bin\VBoxUSB.sys" />
268 <File Id="vboxusbinf" Name="VBoxUSB.inf" DiskId="1" Vital="yes"
269 Source="$(env.PATH_OUT)\bin\VBoxUSB.inf" />
270<?if $(env.VBOX_SIGNING_MODE) != none ?>
271 <File Id="vboxusbcat" Name="VBoxUSB.cat" DiskId="1" Vital="yes"
272 Source="$(env.PATH_OUT)\bin\VBoxUSB.cat" />
273<?endif ?>
274 </Component> <!-- USBDeviceDriver -->
275 </Directory> <!-- Directory "drivers\usb\device" -->
276 </Directory> <!-- Directory "drivers\usb" -->
277
278<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
279 <Directory Id="network" Name="network">
280 <Directory Id="NetFltDir" Name="netflt">
281 <Component Id="NetFltDriver" Guid="F0A02F6B-A349-42f8-A2EB-569DCAAAF846" Win64="$(var.Property_Win64)">
282 <File Id="vboxnetfltsys" Name="VBoxNFlt.sys" LongName="VBoxNetFlt.sys" DiskId="1" Vital="yes" KeyPath="yes"
283 Source="$(env.PATH_OUT)\bin\VBoxNetFlt.sys"
284 Checksum="yes"/>
285 <File Id="vboxnetfltnotifydll" Name="VBoxNFN.dll" LongName="VBoxNetFltNotify.dll" DiskId="1" Vital="yes"
286 Source="$(env.PATH_OUT)\bin\VBoxNetFltNotify.dll"
287 Checksum="yes"/>
288 <File Id="vboxnetfltinf" Name="VBoxNFlt.inf" LongName="VBoxNetFlt.inf" DiskId="1" Vital="yes"
289 Source="$(env.PATH_OUT)\bin\VBoxNetFlt.inf" />
290<?if $(env.VBOX_SIGNING_MODE) != none ?>
291 <File Id="vboxnetfltcat" Name="VBoxNFlt.cat" LongName="VBoxNetFlt.cat" DiskId="1" Vital="yes"
292 Source="$(env.PATH_OUT)\bin\VBoxNetFlt.cat" />
293<?endif ?>
294 <File Id="vboxnetflt_minf" Name="VBoxNFlM.inf" LongName="VBoxNetFlt_m.inf" DiskId="1" Vital="yes"
295 Source="$(env.PATH_OUT)\bin\VBoxNetFlt_m.inf" />
296 </Component>
297 </Directory> <!-- Directory "drivers\network\netflt" -->
298 <Directory Id="NetAdpDir" Name="netadp">
299 <Component Id="NetAdpDriver" Guid="7adf3e12-af3c-4d36-8bec-36d5064cf84f" Win64="$(var.Property_Win64)">
300 <File Id="vboxnetadpsys" Name="VBoxNAdp.sys" LongName="VBoxNetAdp.sys" DiskId="1" Vital="yes" KeyPath="yes"
301 Source="$(env.PATH_OUT)\bin\VBoxNetAdp.sys"
302 Checksum="yes"/>
303 <File Id="vboxnetadpinf" Name="VBoxNAdp.inf" LongName="VBoxNetAdp.inf" DiskId="1" Vital="yes"
304 Source="$(env.PATH_OUT)\bin\VBoxNetAdp.inf" />
305<?if $(env.VBOX_SIGNING_MODE) != none ?>
306 <File Id="vboxnetadpcat" Name="VBoxNAdp.cat" LongName="VBoxNetAdp.cat" DiskId="1" Vital="yes"
307 Source="$(env.PATH_OUT)\bin\VBoxNetAdp.cat" />
308<?endif ?>
309 </Component> <!-- NetAdpDriver -->
310 </Directory> <!-- Directory "drivers\network\netadp" -->
311 </Directory> <!-- Directory "drivers\network" -->
312<?endif ?>
313 </Directory> <!-- Directory "drivers" -->
314
315
316 <!-- National Language Support directory -->
317 <Directory Id="nls" Name="nls">
318 <Component Id="nls" Guid="D63517D7-1CF3-4D06-B3EE-C561E323069B">
319 <!-- Include the autogenerated NLS file list -->
320 <?include $(env.PATH_TARGET)\VBoxGuiNLS.wxi ?>
321 </Component>
322 </Directory>
323
324 <!-- COM components have a separate entry mainly because of the KeyPath attribute (that hints the
325 TypeLib element where to take the TLB resource from) may appear only once per Component. -->
326 <Component Id="MainCOM" Guid="CD4A3C6C-C2D5-428D-90A1-B6DA3D0777D6" Win64="$(var.Property_Win64)">
327
328 <File Id="VBoxSVC" Name="VBoxSVC.exe" DiskId="1" Vital="yes"
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="VBoxC" Name="VBoxC.dll" DiskId="1" Vital="yes"
336 Source="$(env.PATH_OUT)\bin\VBoxC.dll"
337 KeyPath="yes">
338 </File>
339
340 <!-- Include the autogenerated TypeLib block -->
341 <?include $(env.PATH_TARGET)\VirtualBox_TypeLib.wxi ?>
342
343 </Component>
344
345 <Component Id="DesktopShortcut" Guid="668F8A1A-F5CE-48B3-BB1A-3042EE27B279" Win64="$(var.Property_Win64)">
346 <Condition>INSTALLDESKTOPSHORTCUT</Condition>
347 <CreateFolder/>
348 <Shortcut Id="VBoxDesktopShortcut" Directory="DesktopFolder"
349 Name="VBox" LongName="$(env.VBOX_PRODUCT)" WorkingDirectory="INSTALLDIR"
350 Advertise="no" Target="[#vbox]" />
351 </Component>
352
353 <Component Id="QuicklaunchShortcut" Guid="CC19E026-938A-41CB-8E77-3F33296244B6" Win64="$(var.Property_Win64)">
354 <Condition>INSTALLQUICKLAUNCHSHORTCUT</Condition>
355 <CreateFolder/>
356 <Shortcut Id="VBoxQuicklaunchShortcut" Directory="QuicklaunchFolder"
357 Name="VBox" LongName="$(env.VBOX_PRODUCT)" WorkingDirectory="INSTALLDIR"
358 Advertise="no" Target="[#vbox]" />
359 </Component>
360
361 <!-- All Binaries, DLLs (except COM) and drivers are in one component because they belong together. Additional
362 binaries e.g. test tools, utilities etc. should be in another component so they"re clearly separated. -->
363 <Component Id="MainBinaries" Guid="5C8FE57A-F744-4DE0-AA3F-A563F486AD98" Win64="$(var.Property_Win64)">
364 <!-- Set required environment variables. -->
365 <Environment Id="EnvVBoxInstallDir" Action="set" Name="VBOX_INSTALL_PATH"
366 System="yes" Part="last" Permanent="no" Value="[INSTALLDIR]" />
367 <!-- Register file extensions. Note: Extension Id's *must not* be changed! These specify the actual
368 file extension to handle. Also, here would be the place to add more fancy DDE stuff later.
369 Important: The IDs in "IconIndex" *must* be matching "Resources\resource.h". -->
370 <ProgId Id="VirtualBox.Shell.vbox" Description="VirtualBox Machine Definition" Icon="[#vboxresdll]" IconIndex="-201">
371 <Extension Id="vbox" ContentType="application/x-virtualbox-vbox">
372 <Verb Id="open" Sequence="1" Command="Open" Target="[#vbox]" Argument="&quot;%1&quot;" />
373 </Extension>
374 </ProgId>
375 <ProgId Id="VirtualBox.Shell.vbox-extpack" Description="VirtualBox Extension Pack" Icon="[#vboxresdll]" IconIndex="-202">
376 <Extension Id="vbox-extpack" ContentType="application/x-virtualbox-vbox-extpack">
377 <Verb Id="open" Sequence="1" Command="Open" Target="[#vbox]" Argument="&quot;%1&quot;" />
378 </Extension>
379 </ProgId>
380 <ProgId Id="VirtualBox.Shell.ovf" Description="Open Virtualization Format" Icon="[#vboxresdll]" IconIndex="-301">
381 <Extension Id="ovf" ContentType="application/x-virtualbox-ovf">
382 <Verb Id="open" Sequence="1" Command="Open" Target="[#vbox]" Argument="&quot;%1&quot;" />
383 </Extension>
384 </ProgId>
385 <ProgId Id="VirtualBox.Shell.ova" Description="Open Virtualization Format Archive" Icon="[#vboxresdll]" IconIndex="-302">
386 <Extension Id="ova" ContentType="application/x-virtualbox-ova">
387 <Verb Id="open" Sequence="1" Command="Open" Target="[#vbox]" Argument="&quot;%1&quot;" />
388 </Extension>
389 </ProgId>
390 <!-- The "Name" attribute must always be present. If the name is longer than 8.3 the additional "LongName"
391 attribute can be used. -->
392 <File Id="vbox" Name="vbox.exe" LongName="VirtualBox.exe" DiskId="1" Vital="yes"
393 Source="$(env.PATH_OUT)\bin\VirtualBox.exe">
394 <!-- The target folder for the shortcut in the "Programs" menu is defined below. -->
395 <Shortcut Id="startmenuVBox" Directory="ProgramMenuDir" Name="VBox"
396 LongName="VirtualBox" WorkingDirectory="INSTALLDIR"/>
397 </File>
398<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
399 <!-- Include all user manual .CHM files (file is generated by makefile). -->
400 <?include $(env.PATH_TARGET)\Files_Main.wxi ?>
401<?endif ?>
402 <!-- Include all license files (file is generated by makefile). -->
403 <?include $(env.PATH_TARGET)\Files_License.wxi ?>
404
405<?if $(env.VBOX_WITH_DEBUGGER_GUI) = "yes" ?>
406 <File Id="vboxdbgdll" Name="VBoxDbg.dll" DiskId="1" Vital="yes"
407 Source="$(env.PATH_OUT)\bin\VBoxDbg.dll" />
408<?endif ?>
409
410 <File Id="vboxmanage" Name="VBoxMan.exe" LongName="VBoxManage.exe" DiskId="1" Vital="yes"
411 Source="$(env.PATH_OUT)\bin\VBoxManage.exe" />
412 <File Id="vboxheadless" Name="VBoxHead.exe" LongName="VBoxHeadless.exe" DiskId="1" Vital="yes"
413 Source="$(env.PATH_OUT)\bin\VBoxHeadless.exe">
414
415 <!-- Create a simple shortcut for VBoxVRDP, which is not present anymore, pointing to VBoxHeadless.exe -->
416 <Shortcut Id="ShortcutVBoxVRDP" Directory="INSTALLDIR" Name="VBoxVRDP" Show="normal" WorkingDirectory="INSTALLDIR"/>
417
418 </File>
419
420 <File Id="vboxnetdhcp" Name="VBoxDHCP.exe" LongName="VBoxNetDHCP.exe" DiskId="1" Vital="yes"
421 Source="$(env.PATH_OUT)\bin\VBoxNetDHCP.exe"/>
422<?if $(env.VBOX_WITH_EXTPACK) = "yes" ?>
423 <File Id="vboxepha" Name="VBoxEPHA.exe" LongName="VBoxExtPackHelperApp.exe" DiskId="1" Vital="yes"
424 Source="$(env.PATH_OUT)\bin\VBoxExtPackHelperApp.exe"/>
425<?endif ?>
426
427 <!-- VBox DLL files -->
428 <File Id="vboxdddll" Name="VBoxDD.dll" DiskId="1" Vital="yes"
429 Source="$(env.PATH_OUT)\bin\VBoxDD.dll" />
430 <File Id="vboxdd2dll" Name="VBoxDD2.dll" DiskId="1" Vital="yes"
431 Source="$(env.PATH_OUT)\bin\VBoxDD2.dll" />
432 <File Id="vboxddudll" Name="VBoxDDU.dll" DiskId="1" Vital="yes"
433 Source="$(env.PATH_OUT)\bin\VBoxDDU.dll" />
434 <File Id="vboxrtdll" Name="VBoxRT.dll" DiskId="1" Vital="yes"
435 Source="$(env.PATH_OUT)\bin\VBoxRT.dll" />
436 <File Id="vboxremdll" Name="VBoxREM.dll" DiskId="1" Vital="yes"
437 Source="$(env.PATH_OUT)\bin\VBoxREM.dll" />
438<?if $(env.BUILD_TARGET_ARCH) = "amd64" ?>
439 <File Id="vboxrem2rel" Name="VBoxREM2.rel" DiskId="1" Vital="yes"
440 Source="$(env.PATH_OUT)\bin\VBoxREM2.rel" />
441<?else ?>
442 <File Id="vboxrem32dll" Name="VBoxREM3.dll" LongName="VBoxREM32.dll" DiskId="1" Vital="yes"
443 Source="$(env.PATH_OUT)\bin\VBoxREM32.dll" />
444 <File Id="vboxrem64dll" Name="VBoxREM6.dll" LongName="VBoxREM64.dll" DiskId="1" Vital="yes"
445 Source="$(env.PATH_OUT)\bin\VBoxREM64.dll" />
446<?endif ?>
447 <File Id="vboxvmmdll" Name="VBoxVMM.dll" DiskId="1" Vital="yes"
448 Source="$(env.PATH_OUT)\bin\VBoxVMM.dll" />
449<?if $(env.VBOX_WITH_VRDP) = "yes" ?>
450 <File Id="vboxvrdpdll" Name="VBoxVRDP.dll" DiskId="1" Vital="yes"
451 Source="$(env.PATH_OUT)\bin\VBoxVRDP.dll" />
452<?endif ?>
453 <File Id="vboxshfolderdll" Name="VBoxSF.dll" LongName="VBoxSharedFolders.dll" DiskId="1" Vital="yes"
454 Source="$(env.PATH_OUT)\bin\VBoxSharedFolders.dll" />
455 <File Id="vboxshclpbrddll" Name="VBoxClip.dll" LongName="VBoxSharedClipboard.dll" DiskId="1" Vital="yes"
456 Source="$(env.PATH_OUT)\bin\VBoxSharedClipboard.dll" />
457<?if $(env.VBOX_WITH_GUEST_PROPS) = "yes" ?>
458 <File Id="vboxguestpropdll" Name="VBoxProp.dll" LongName="VBoxGuestPropSvc.dll" DiskId="1" Vital="yes"
459 Source="$(env.PATH_OUT)\bin\VBoxGuestPropSvc.dll" />
460<?endif ?>
461<?if $(env.VBOX_WITH_GUEST_CONTROL) = "yes" ?>
462 <File Id="vboxguestctrldll" Name="VBoxCtrl.dll" LongName="VBoxGuestControlSvc.dll" DiskId="1" Vital="yes"
463 Source="$(env.PATH_OUT)\bin\VBoxGuestControlSvc.dll" />
464<?endif ?>
465 <File Id="vboxauthdll" Name="VBoxAuth.dll" DiskId="1" Vital="yes"
466 Source="$(env.PATH_OUT)\bin\VBoxAuth.dll" />
467 <File Id="vboxauthsimpledll" Name="VBoxASim.dll" LongName="VBoxAuthSimple.dll" DiskId="1" Vital="yes"
468 Source="$(env.PATH_OUT)\bin\VBoxAuthSimple.dll" />
469
470 <!-- Include resource DLL (icons, ...). -->
471 <File Id="vboxresdll" LongName="VBoxRes.dll" Name="VBoxRes.dll" DiskId="$(var.Property_DiskIdCommon)" Vital="yes"
472 Source="$(env.PATH_OUT)\bin\VBoxRes.dll" />
473
474 <File Id="vmmgc" Name="VMMGC.gc" DiskId="1" Vital="yes"
475 Source="$(env.PATH_OUT)\bin\VMMGC.gc" />
476 <File Id="vboxddgc" Name="VBoxDDGC.gc" DiskId="1" Vital="yes"
477 Source="$(env.PATH_OUT)\bin\VBoxDDGC.gc" />
478 <File Id="vboxdd2gc" Name="VBoxDD2.gc" LongName="VBoxDD2GC.gc" DiskId="1" Vital="yes"
479 Source="$(env.PATH_OUT)\bin\VBoxDD2GC.gc" />
480
481 <File Id="vmmr0" Name="VMMR0.r0" DiskId="1" Vital="yes"
482 Source="$(env.PATH_OUT)\bin\VMMR0.r0" />
483 <File Id="vboxddr0" Name="VBoxDDR0.r0" DiskId="1" Vital="yes"
484 Source="$(env.PATH_OUT)\bin\VBoxDDR0.r0" />
485 <File Id="vboxdd2r0" Name="VBDD2R0.r0" LongName="VBoxDD2R0.r0" DiskId="1" Vital="yes"
486 Source="$(env.PATH_OUT)\bin\VBoxDD2R0.r0" />
487
488<?if $(env.VBOX_WITH_CROGL) = "yes" ?>
489 <File Id="vboxtestogl" Name="VBTstOGL.exe" LongName="VBoxTestOGL.exe" DiskId="1" Vital="yes"
490 Source="$(env.PATH_OUT)\bin\VBoxTestOGL.exe" />
491<?endif ?>
492 <!-- Qt stuff -->
493 <File Id="qtcore4dll" Name="QtCrVBx4.dll" LongName="QtCoreVBox4.dll" DiskId="1" Vital="yes"
494 Source="$(env.PATH_OUT)\bin\QtCoreVBox4.dll" />
495 <File Id="qtgui4dll" Name="QtGuVbx4.dll" LongName="QtGuiVBox4.dll" DiskId="1" Vital="yes"
496 Source="$(env.PATH_OUT)\bin\QtGuiVBox4.dll" />
497 <File Id="qtnetwork4dll" Name="QtNwVBx4.dll" LongName="QtNetworkVBox4.dll" DiskId="1" Vital="yes"
498 Source="$(env.PATH_OUT)\bin\QtNetworkVBox4.dll" />
499<?if $(env.VBOX_GUI_USE_QGL) = "yes" ?>
500 <File Id="qtopengl4dll" Name="QtGlVBx4.dll" LongName="QtOpenGLVBox4.dll" DiskId="1" Vital="yes"
501 Source="$(env.PATH_OUT)\bin\QtOpenGLVBox4.dll" />
502<?endif?>
503
504<?if $(env.VBOX_USE_VCC80) = "yes" ?>
505 <!-- MS v8 Runtime DLL files (private assembly) -->
506 <File Id="vc80crtmft" Name="VC80CRT.mft" LongName="Microsoft.VC80.CRT.manifest" DiskId="1" Vital="yes"
507 Source="$(env.PATH_OUT)\bin\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest" />
508 <File Id="msvcr80dll" Name="msvcr80.dll" DiskId="1" Vital="yes"
509 Source="$(env.PATH_OUT)\bin\Microsoft.VC80.CRT\msvcr80.dll" />
510 <File Id="msvcp80dll" Name="msvcp80.dll" DiskId="1" Vital="yes"
511 Source="$(env.PATH_OUT)\bin\Microsoft.VC80.CRT\msvcp80.dll" />
512<?endif?>
513
514 <!-- MS v7 Runtime DLL files -->
515<?if $(env.VBOX_USE_VCC80) != "yes" ?>
516 <File Id="msvcpdll" Name="msvcp71.dll" DiskId="1" Vital="yes"
517 Source="$(env.PATH_OUT)\bin\msvcp71.dll" />
518 <File Id="msvcrtdll" Name="msvcrt.dll" DiskId="1" Vital="yes"
519 Source="$(env.PATH_OUT)\bin\msvcrt.dll" />
520<?endif?>
521<?if $(env.BUILD_TARGET_ARCH) != "amd64" ?>
522 <File Id="msvcrdll" Name="msvcr71.dll" DiskId="1" Vital="yes"
523 Source="$(env.PATH_OUT)\bin\msvcr71.dll" />
524<?endif?>
525 <!-- EFI firmware -->
526<?if $(env.VBOX_WITH_EFIFW_PACKING) = "yes" ?>
527 <File Id="vboxefifd32" LongName="VBoxEFI32.fd" Name="efi32.fd" DiskId="$(var.Property_DiskIdCommon)" Vital="yes"
528 Source="$(env.PATH_OUT)\bin\VBoxEFI32.fd" />
529 <File Id="vboxefifd64" LongName="VBoxEFI64.fd" Name="efi64.fd" DiskId="$(var.Property_DiskIdCommon)" Vital="yes"
530 Source="$(env.PATH_OUT)\bin\VBoxEFI64.fd" />
531<?endif?>
532 <!-- VBox guest additions -->
533<?if $(env.VBOX_WITH_ADDITIONS_PACKING) = "yes" ?>
534 <?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
535 <File Id="VBoxGuestAdditions.iso" Name="VBoxAdd.iso" LongName="VBoxGuestAdditions.iso" DiskId="2" Vital="yes"
536 Source="$(env.PATH_MULTIARCH_GUEST_ADDITIONS_ISO)\VBoxGuestAdditions.iso" />
537 <?else ?>
538 <File Id="vboxguest" Name="VBoxAdd.iso" LongName="VBoxGuestAdditionsiso" DiskId="1" Vital="yes"
539 Source="$(env.PATH_OUT)\bin\additions\VBoxGuestAdditions.iso" />
540 <?endif ?>
541<?endif ?>
542 <!-- Include key for VBox version -->
543 <?include $(env.PATH_TARGET)\VBoxKey.wxi ?>
544
545 </Component> <!-- MainBinaries -->
546
547<?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
548 <!-- Qt accessible plugins -->
549 <Directory Id="accessible" Name="accessbl" LongName="accessible">
550 <Component Id="qtaccessible" Guid="12040EF9-D4A8-4FB2-A69C-CA2F5C354A45">
551 <File Id="qtaccessibleplugindll" Name="qtacsw4.dll" LongName="qtaccessiblewidgets4.dll" DiskId="1" Vital="yes"
552 Source="$(env.PATH_OUT)\bin\accessible\qtaccessiblewidgets4.dll" />
553 </Component>
554 </Directory> <!-- Qt accessible plugins -->
555<?endif?>
556
557<?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
558 <!-- Python bindings -->
559 <Directory Id="sdk" Name="sdk">
560 <Directory Id="installer" Name="install">
561 <Component Id="VBoxPyInst" Guid="C9A40306-5102-11DE-A7BA-C3C555D89593">
562 <File Id="vboxapisetup" Name="pysetup.py" LongName="vboxapisetup.py" DiskId="$(var.Property_DiskIdCommon)" Vital="yes"
563 Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapisetup.py" />
564 </Component>
565 <Directory Id="vboxapi" Name="vboxapi">
566 <Component Id="VBoxPyMod" Guid="DF19CB76-5102-11DE-943B-13C755D89593">
567 <File Id="__init__.py" Name="__init__.py" DiskId="$(var.Property_DiskIdCommon)" Vital="yes"
568 Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\__init__.py" />
569 <File Id="VirtualBox_constants.py" Name="vbconst.py" LongName="VirtualBox_constants.py" DiskId="$(var.Property_DiskIdCommon)" Vital="yes"
570 Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\VirtualBox_constants.py" />
571 </Component>
572 </Directory>
573 </Directory>
574 </Directory>
575 <!-- Python bindings -->
576<?endif?>
577
578<?if $(env.VBOX_WITH_CROGL) = "yes" ?>
579 <Component Id="VBoxCROpenGL" Guid="874A1297-835A-491D-8A9D-7E723BC29EE7" Win64="$(var.Property_Win64)">
580 <File Id="vboxoglhostcrutil" Name="VbGlHCRU.dll" LongName="VBoxOGLhostcrutil.dll" DiskId="1" Vital="yes"
581 Source="$(env.PATH_OUT)\bin\VBoxOGLhostcrutil.dll" />
582 <File Id="vboxoglhosterrorspu" Name="VbGlHers.dll" LongName="VBoxOGLhosterrorspu.dll" DiskId="1" Vital="yes"
583 Source="$(env.PATH_OUT)\bin\VBoxOGLhosterrorspu.dll" />
584 <File Id="vboxoglrenderspu" Name="VbGlRndr.dll" LongName="VBoxOGLrenderspu.dll" DiskId="1" Vital="yes"
585 Source="$(env.PATH_OUT)\bin\VBoxOGLrenderspu.dll" />
586 <File Id="vboxsharedcropengl" Name="VbShCRGL.dll" LongName="VBoxSharedCrOpenGL.dll" DiskId="1" Vital="yes"
587 Source="$(env.PATH_OUT)\bin\VBoxSharedCrOpenGL.dll" />
588 </Component>
589<?endif?>
590 <!-- SDL plugins -->
591 <Component Id="VBoxSDLBinaries" Guid="F09D5FD9-E176-42B0-90A9-481BB18B0CB4" Win64="$(var.Property_Win64)">
592 <File Id="vboxsdl" Name="VBoxSDL.exe" DiskId="1" Vital="yes"
593 Source="$(env.PATH_OUT)\bin\VBoxSDL.exe" />
594 <File Id="sdldll" Name="SDL.dll" DiskId="1" Vital="yes"
595 Source="$(env.PATH_OUT)\bin\SDL.dll" />
596<?if $(env.VBOX_WITH_SECURELABEL) = "yes" ?>
597 <File Id="sdlttfdll" Name="SDL_ttf.dll" DiskId="1" Vital="yes"
598 Source="$(env.PATH_OUT)\bin\SDL_ttf.dll" />
599<?endif?>
600 </Component> <!-- SDL plugins -->
601
602<?if $(env.VBOX_WITH_WEBSERVICES) = "yes" ?>
603 <!-- Webservice -->
604 <Component Id="VBoxWebService" Guid="DD404F04-9874-43E9-AEE2-7762924D922E">
605 <File Id="vboxweb" Name="vboxwebs.exe" LongName="vboxwebsrv.exe" DiskId="1" Vital="yes"
606 Source="$(env.PATH_OUT)\bin\vboxwebsrv.exe" />
607 </Component> <!-- Webservice -->
608<?endif?>
609
610<?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
611 <!--Python -->
612 <Component Id="VBoxPythonBinding" Guid="293D7E11-78DA-4C31-AEED-AE2FE42F6881">
613 <Condition>PYTHONINSTALLED</Condition>
614 <!-- Nothing in here yet. -->
615 </Component>
616<?endif?>
617 </Directory> <!-- Installation directory -->
618 </Directory> <!-- Windows program files directory -->
619
620 <!-- Create a subdirectory in the "Programs" start menu -->
621 <Directory Id="ProgramMenuFolder" Name="PMenu" LongName="Programs">
622 <Directory Id="ProgramMenuDir" Name="vbox" LongName="$(env.VBOX_PRODUCT)" />
623 </Directory>
624
625 <Directory Id="DesktopFolder" Name="Desktop" />
626
627 <Directory Id="AppDataFolder" Name="AppData">
628 <Directory Id="AppDataMicrosoft" Name="MS" LongName="Microsoft">
629 <Directory Id="AppDataMSIE" Name="IE" LongName="Internet Explorer">
630 <Directory Id="QuicklaunchFolder" Name="QL" LongName="Quick Launch"/>
631 </Directory>
632 </Directory>
633 </Directory>
634 </Directory>
635
636 <Feature Id="VBoxApplication" Title="VirtualBox Application" Level="1"
637 Description="$(loc.VB_App)"
638 ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand"
639 Absent="disallow">
640
641 <ComponentRef Id="DesktopShortcut" />
642 <ComponentRef Id="QuicklaunchShortcut" />
643
644<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
645 <ComponentRef Id="docs" />
646<?endif?>
647 <ComponentRef Id="nls" />
648 <ComponentRef Id="MainCOM" />
649 <ComponentRef Id="MainBinaries" />
650<?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
651 <ComponentRef Id="qtaccessible" />
652<?endif?>
653<?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
654 <ComponentRef Id="VBoxPyInst" />
655 <ComponentRef Id="VBoxPyMod" />
656<?endif?>
657
658<?if $(env.VBOX_WITH_CROGL) = "yes" ?>
659 <ComponentRef Id="VBoxCROpenGL" />
660<?endif?>
661 <ComponentRef Id="VBoxSDLBinaries" />
662<?if $(env.VBOX_WITH_WEBSERVICES) = "yes" ?>
663 <ComponentRef Id="VBoxWebService" />
664<?endif?>
665 <ComponentRef Id="VBoxDrv" />
666
667 <Feature Id="VBoxUSB" Title="VirtualBox USB Support" Level="1"
668 Description="$(loc.VB_USBDriver)"
669 ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
670 <ComponentRef Id="USBFilterDriver" />
671 <ComponentRef Id="USBDeviceDriver" />
672 </Feature>
673
674<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
675 <Feature Id="VBoxNetwork" Title="VirtualBox Networking" Level="1"
676 Description="$(loc.VB_Network)"
677 ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
678 <Feature Id="VBoxNetworkFlt" Title="VirtualBox Bridged Networking" Level="1"
679 Description="$(loc.VB_NetFltDriver)"
680 ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
681 <ComponentRef Id="NetFltDriver" />
682 </Feature>
683 <Feature Id="VBoxNetworkAdp" Title="VirtualBox Host-Only Networking" Level="1"
684 Description="$(loc.VB_NetAdpDriver)"
685 ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
686 <ComponentRef Id="NetAdpDriver" />
687 </Feature>
688 </Feature>
689<?endif?>
690
691<?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
692
693 <Feature Id="VBoxPython" Title="VirtualBox Python Support" Level="1"
694 Description="$(loc.VB_Python)"
695 ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
696 <ComponentRef Id="VBoxPythonBinding" />
697 </Feature>
698<?endif?>
699
700 </Feature>
701
702 <!-- Include user interface definition. -->
703 <?include UserInterface.wxi ?>
704
705 <InstallExecuteSequence>
706
707 <!-- AppSearch must be done before "RemoveExistingProducts" and before "FindRelatedProducts". -->
708 <AppSearch Sequence="1"></AppSearch>
709 <LaunchConditions After="AppSearch" />
710 <RemoveExistingProducts After="InstallValidate"><![CDATA[NEWERVERSIONDETECTED OR PREVIOUSVERSIONSINSTALLED]]></RemoveExistingProducts>
711
712 <Custom Action="OriginalTargetDir" After="FileCost"><![CDATA[(NOT INSTALLDIR) AND (NOT EXISTINGINSTALLDIR)]]></Custom>
713 <Custom Action="DefaultTargetDir" Before="FileCost" ><![CDATA[NOT Installed AND (NOT INSTALLDIR) AND EXISTINGINSTALLDIR]]></Custom>
714
715 <Custom Action="UninstallTAPInstances" Before="InstallFiles" >1</Custom>
716<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
717 <Custom Action="CreateHostOnlyInterfaceArgs" Before="CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
718 <Custom Action="CreateHostOnlyInterface" Before="InstallFinalize" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
719 <Custom Action="RemoveHostOnlyInterfaces" After="UninstallNetFlt" ></Custom>
720
721 <Custom Action="RollbackInstallNetFltArgs" Before="RollbackInstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
722 <Custom Action="RollbackInstallNetFlt" Before="InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
723 <Custom Action="InstallNetFltArgs" Before="InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
724 <Custom Action="InstallNetFlt" Before="CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
725
726 <Custom Action="RollbackUninstallNetFltArgs" Before="RollbackUninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
727 <Custom Action="RollbackUninstallNetFlt" Before="UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
728 <Custom Action="UninstallNetFltArgs" Before="UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
729 <Custom Action="UninstallNetFlt" After="InstallInitialize" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
730<?endif?>
731 <Custom Action="InstallPythonAPI" After="InstallFinalize" ><![CDATA[&VBoxPython=3]]></Custom>
732 <Custom Action="InstallBranding" After="InstallFinalize" ><![CDATA[NOT REMOVE]]></Custom>
733 <Custom Action="UninstallBranding" After="InstallFinalize" ><![CDATA[REMOVE]]></Custom>
734
735 </InstallExecuteSequence>
736
737 </Product>
738</Wix>
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