VirtualBox

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

Last change on this file since 38938 was 38938, checked in by vboxsync, 13 years ago

Windows host installer: Corrected typo which prevented from installing.

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