VirtualBox

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

Last change on this file since 38080 was 37975, checked in by vboxsync, 14 years ago

Windows host installer: Ship "vbox-img.exe".

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