VirtualBox.wxs revision 69dd1b64f43626d325a21e24c549683af3630d36
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe VirtualBox Windows Installation Script (WiX)
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe Copyright (C) 2006-2010 Oracle Corporation
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe This file is part of VirtualBox Open Source Edition (OSE), as
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe available from http://www.virtualbox.org. This file is free software;
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe you can redistribute it and/or modify it under the terms of the GNU
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe General Public License (GPL) as published by the Free Software
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe Foundation, in version 2 as it comes in the "COPYING" file of the
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe VirtualBox OSE distribution. VirtualBox OSE is distributed in the
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe<?define Property_RegKey ="Software\$(env.VBOX_VENDOR_SHORT)\VirtualBox" ?>
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe<?define Property_Version = "$(env.VBOX_VERSION_STRING)" ?>
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <?define Property_ProgramFiles = "ProgramFiles64Folder" ?>
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <?define Property_ProgramFiles = "ProgramFilesFolder" ?>
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!-- Note: Settings this to 'no' breaks win2k installs (!) -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi">
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!-- Note: GUIDs in WiX *must* be uppercase! -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!-- Always include an upgrade ID or otherwise upgrade installation will not be possible. When doing
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe a major upgrade (more than just fixing a few files) change the product GUID. -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!-- Update / Upgrade policies:
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe Update Type Package Code Product Version Product Code Upgrade Code
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe Small update change don't change don't change don't change
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe Minor update change change don't change don't change
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe Major upgrade change change change don't change -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!-- Old product ID: <Product Id="B59FE77B-738F-4f1c-AB48-3104895AF676"
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe Old upgrade code of innotek: UpgradeCode="F5FFAEBF-97AE-4038-8F91-4DE719456127" -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe UpgradeCode="C4BAD770-BFE8-4D2C-A592-693028A7215B"
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe Language="$(loc.LANG)"
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe Codepage="1252"
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe Manufacturer="$(env.VBOX_VENDOR)">
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!-- Package GUIDs must be different for each package. The "???" directs WiX to create one. -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <Package Id="????????-????-????-????-????????????" Keywords="Installer"
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe Description="$(env.VBOX_PRODUCT) $(var.Property_Version) installation package"
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe Comments="$(env.VBOX_PRODUCT) installation package"
94428f1ef6be7cb7b6338bd884c95ad1d6d95c8awrowe Manufacturer="$(env.VBOX_VENDOR)"
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe InstallerVersion="200"
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe Compressed="yes"
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe InstallPrivileges="elevated"
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe Platforms="$(var.Property_Platform)"/>
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!-- *************************** Upgrade packages only ******************************* -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!-- Minimum and Maximum specify the range of versions we are supposed to update with this upgrade.
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe IncludeMaximum and IncludeMinimum specify whether the bound value is actually included in the range or not
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe (IncludeMaximum = yes meaning to find versions below or equal to the version specified in Maximum while
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe IncludeMaximum = no only finds those below the Maximum).
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe OnlyDetect tells the installer not to remove the previous product. This is useful as long as we
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe only change files in the package. -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <Upgrade Id="C4BAD770-BFE8-4D2C-A592-693028A7215B"> <!-- Upgrade of Sun xVM VirtualBox >= v1.6.0 -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!-- Upgrade is flagged if current-install is newer than or equal to package - TODO: should make a dialog appear asking user to confirm downgrade. -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!--- Setting "OnlyDetect" to "no" makes the installer uninstall an already newer installed version. -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <UpgradeVersion Property="NEWERVERSIONDETECTED" Minimum="$(var.Property_Version)" OnlyDetect="no" />
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!-- Flag is set if the install will trigger an upgrade of an existing install -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <UpgradeVersion Property="PREVIOUSVERSIONSINSTALLED" Minimum="1.0.0.0" Maximum="$(var.Property_Version)" IncludeMaximum="yes" />
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!-- The product's icon table. -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <Icon Id="IconVirtualBox" SourceFile="$(env.VBOX_WINDOWS_ICON_FILE)" />
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!-- Global properties. -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <Property Id="ARPPRODUCTICON">IconVirtualBox</Property>
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <Property Id="ARPURLINFOABOUT">http://www.virtualbox.org</Property>
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <Property Id="ARPURLUPDATEINFO">http://www.virtualbox.org</Property>
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <Property Id="INSTALLDESKTOPSHORTCUT" Value="1"></Property>
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <Property Id="INSTALLQUICKLAUNCHSHORTCUT" Value="1"></Property>
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!-- Install the product for all users on the system -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe <!-- Make sure installation will not start on anything other but the NT family -->
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe VersionNT64
6da048f951889f3087d40c2da8f63c662ff4f97dwrowe </Condition>
<CustomAction Id="OriginalTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[ProgramFiles64Folder]\$(env.VBOX_VENDOR_SHORT)\VirtualBox" />
<RegistrySearch Id="RegistryGetInstallPath" Root="HKLM" Key="$(var.Property_RegKey)" Name="InstallDir" Type="raw" Win64="$(var.Property_Win64)"/>
<CustomAction Id="DefaultTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[EXISTINGINSTALLDIR]" />
<CustomAction Id="OriginalTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[ProgramFilesFolder]\$(env.VBOX_VENDOR_SHORT)\VirtualBox" />
<RegistrySearch Id="RegistryGetInstallPath" Root="HKLM" Key="$(var.Property_RegKey)" Name="InstallDir" Type="raw" Win64="$(var.Property_Win64)"/>
<CustomAction Id="DefaultTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[EXISTINGINSTALLDIR]" />
<CustomAction Id="CheckSerial" BinaryKey="VBoxInstallHelper" DllEntry="CheckSerial" Impersonate="no"/>
<CustomAction Id="InstallPythonAPI" BinaryKey="VBoxInstallHelper" DllEntry="InstallPythonAPI" Impersonate="no"/>
<CustomAction Id="InstallBranding" BinaryKey="VBoxInstallHelper" DllEntry="InstallBranding" Impersonate="no"/>
<CustomAction Id="UninstallBranding" BinaryKey="VBoxInstallHelper" DllEntry="UninstallBranding" Impersonate="no"/>
<CustomAction Id="CreateHostOnlyInterfaceArgs" Property="CreateHostOnlyInterface" Value="[INSTALLDIR]" Execute="immediate"/>
<CustomAction Id="CreateHostOnlyInterface" BinaryKey="VBoxInstallHelper" DllEntry="CreateHostOnlyInterface" Execute="deferred" Return="check" Impersonate="no"/>
<CustomAction Id="RemoveHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="RemoveHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
<CustomAction Id="InstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
<CustomAction Id="InstallNetFltArgs" Property="InstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
<CustomAction Id="RollbackInstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="rollback" Impersonate="no"/>
<CustomAction Id="RollbackInstallNetFltArgs" Property="RollbackInstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
<CustomAction Id="UninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
<CustomAction Id="UninstallNetFltArgs" Property="UninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
<CustomAction Id="RollbackUninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="rollback" Impersonate="no"/>
<CustomAction Id="RollbackUninstallNetFltArgs" Property="RollbackUninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
<RegistrySearch Id="RegSearchSunVersion" Root="HKLM" Key="SOFTWARE\Sun\VirtualBox" Name="Version" Type="raw" Win64="$(var.Property_Win64)"/>
<RegistrySearch Id="RegSearchInnotekVersion" Root="HKLM" Key="SOFTWARE\Innotek\VirtualBox" Name="Version" Type="raw" Win64="$(var.Property_Win64)"/>
Source="$(env.PATH_OUT)\bin\VBoxDrv.sys"/>
Source="$(env.PATH_OUT)\bin\VBoxDrv.inf" />
Source="$(env.PATH_OUT)\bin\VBoxDrv.cat" />
Source="$(env.PATH_OUT)\bin\VBoxUSBMon.sys" />
Source="$(env.PATH_OUT)\bin\VBoxUSBMon.inf" />
Source="$(env.PATH_OUT)\bin\VBoxUSBMon.cat" />
Source="$(env.PATH_OUT)\bin\VBoxUSB.sys" />
Source="$(env.PATH_OUT)\bin\VBoxUSB.inf" />
Source="$(env.PATH_OUT)\bin\VBoxUSB.cat" />
<Component Id="NetFltDriver" Guid="F0A02F6B-A349-42f8-A2EB-569DCAAAF846" Win64="$(var.Property_Win64)">
<File Id="vboxnetfltsys" Name="VBoxNFlt.sys" LongName="VBoxNetFlt.sys" DiskId="1" Vital="yes" KeyPath="yes"
Source="$(env.PATH_OUT)\bin\VBoxNetFlt.sys"
<File Id="vboxnetfltnobjdll" Name="VBoxNob.dll" LongName="VBoxNetFltNobj.dll" DiskId="1" Vital="yes"
Source="$(env.PATH_OUT)\bin\VBoxNetFltNobj.dll"
Source="$(env.PATH_OUT)\bin\VBoxNetFltM.inf" />
Source="$(env.PATH_OUT)\bin\VBoxNetFlt.inf" />
Source="$(env.PATH_OUT)\bin\VBoxNetFlt.cat" />
<Component Id="NetAdpDriver" Guid="7adf3e12-af3c-4d36-8bec-36d5064cf84f" Win64="$(var.Property_Win64)">
<File Id="vboxnetadpsys" Name="VBoxNAdp.sys" LongName="VBoxNetAdp.sys" DiskId="1" Vital="yes" KeyPath="yes"
Source="$(env.PATH_OUT)\bin\VBoxNetAdp.sys"
Source="$(env.PATH_OUT)\bin\VBoxNetAdp.inf" />
Source="$(env.PATH_OUT)\bin\VBoxNetAdp.cat" />
Source="$(env.PATH_OUT)\bin\VBoxSVC.exe">
in VBoxSVC.exe - it's just a matter of choice which one to use -->
Source="$(env.PATH_OUT)\bin\VBoxC.dll"
<Component Id="DesktopShortcut" Guid="668F8A1A-F5CE-48B3-BB1A-3042EE27B279" Win64="$(var.Property_Win64)">
<Component Id="QuicklaunchShortcut" Guid="CC19E026-938A-41CB-8E77-3F33296244B6" Win64="$(var.Property_Win64)">
<!-- All Binaries, DLLs (except COM) and drivers are in one component because they belong together. Additional
binaries e.g. test tools, utilities etc. should be in another component so they"re clearly separated. -->
<Component Id="MainBinaries" Guid="5C8FE57A-F744-4DE0-AA3F-A563F486AD98" Win64="$(var.Property_Win64)">
Important: The IDs in "IconIndex" *must* be matching "Resources\resource.h". -->
<ProgId Id="VirtualBox.Shell.vbox" Description="VirtualBox Machine Definition" Icon="[#vboxresdll]" IconIndex="-201">
<ProgId Id="VirtualBox.Shell.vbox-extpack" Description="VirtualBox Extension Pack" Icon="[#vboxresdll]" IconIndex="-202">
<ProgId Id="VirtualBox.Shell.ovf" Description="Open Virtualization Format" Icon="[#vboxresdll]" IconIndex="-301">
<ProgId Id="VirtualBox.Shell.ova" Description="Open Virtualization Format Archive" Icon="[#vboxresdll]" IconIndex="-302">
<!-- The "Name" attribute must always be present. If the name is longer than 8.3 the additional "LongName"
Source="$(env.PATH_OUT)\bin\VirtualBox.exe">
Source="$(env.PATH_OUT)\bin\VBoxDbg.dll" />
Source="$(env.PATH_OUT)\bin\VBoxManage.exe" />
Source="$(env.PATH_OUT)\bin\VBoxHeadless.exe">
<!-- Create a simple shortcut for VBoxVRDP, which is not present anymore, pointing to VBoxHeadless.exe -->
<Shortcut Id="ShortcutVBoxVRDP" Directory="INSTALLDIR" Name="VBoxVRDP" Show="normal" WorkingDirectory="INSTALLDIR"/>
Source="$(env.PATH_OUT)\bin\VBoxNetDHCP.exe"/>
Source="$(env.PATH_OUT)\bin\VBoxExtPackHelperApp.exe"/>
<File Id="vboxballoonctrl" Name="VBoxBCtl.exe" LongName="VBoxBalloonCtrl.exe" DiskId="1" Vital="yes"
Source="$(env.PATH_OUT)\bin\VBoxBalloonCtrl.exe"/>
Source="$(env.PATH_OUT)\bin\VBoxDD.dll" />
Source="$(env.PATH_OUT)\bin\VBoxDD2.dll" />
Source="$(env.PATH_OUT)\bin\VBoxDDU.dll" />
Source="$(env.PATH_OUT)\bin\VBoxRT.dll" />
Source="$(env.PATH_OUT)\bin\VBoxREM.dll" />
Source="$(env.PATH_OUT)\bin\VBoxREM2.rel" />
Source="$(env.PATH_OUT)\bin\VBoxREM32.dll" />
Source="$(env.PATH_OUT)\bin\VBoxREM64.dll" />
Source="$(env.PATH_OUT)\bin\VBoxVMM.dll" />
Source="$(env.PATH_OUT)\bin\VBoxVRDP.dll" />
<File Id="vboxshfolderdll" Name="VBoxSF.dll" LongName="VBoxSharedFolders.dll" DiskId="1" Vital="yes"
Source="$(env.PATH_OUT)\bin\VBoxSharedFolders.dll" />
<File Id="vboxshclpbrddll" Name="VBoxClip.dll" LongName="VBoxSharedClipboard.dll" DiskId="1" Vital="yes"
Source="$(env.PATH_OUT)\bin\VBoxSharedClipboard.dll" />
<File Id="vboxguestpropdll" Name="VBoxProp.dll" LongName="VBoxGuestPropSvc.dll" DiskId="1" Vital="yes"
Source="$(env.PATH_OUT)\bin\VBoxGuestPropSvc.dll" />
<File Id="vboxguestctrldll" Name="VBoxCtrl.dll" LongName="VBoxGuestControlSvc.dll" DiskId="1" Vital="yes"
Source="$(env.PATH_OUT)\bin\VBoxGuestControlSvc.dll" />
Source="$(env.PATH_OUT)\bin\VBoxAuth.dll" />
<File Id="vboxauthsimpledll" Name="VBoxASim.dll" LongName="VBoxAuthSimple.dll" DiskId="1" Vital="yes"
Source="$(env.PATH_OUT)\bin\VBoxAuthSimple.dll" />
<File Id="vboxresdll" LongName="VBoxRes.dll" Name="VBoxRes.dll" DiskId="$(var.Property_DiskIdCommon)" Vital="yes"
Source="$(env.PATH_OUT)\bin\VBoxRes.dll" />
Source="$(env.PATH_OUT)\bin\VMMGC.gc" />
Source="$(env.PATH_OUT)\bin\VBoxDDGC.gc" />
Source="$(env.PATH_OUT)\bin\VBoxDD2GC.gc" />
Source="$(env.PATH_OUT)\bin\VMMR0.r0" />
Source="$(env.PATH_OUT)\bin\VBoxDDR0.r0" />
Source="$(env.PATH_OUT)\bin\VBoxDD2R0.r0" />
Source="$(env.PATH_OUT)\bin\VBoxTestOGL.exe" />
Source="$(env.PATH_OUT)\bin\QtCoreVBox4.dll" />
Source="$(env.PATH_OUT)\bin\QtGuiVBox4.dll" />
Source="$(env.PATH_OUT)\bin\QtNetworkVBox4.dll" />
Source="$(env.PATH_OUT)\bin\QtOpenGLVBox4.dll" />
<File Id="vc80crtmft" Name="VC80CRT.mft" LongName="Microsoft.VC80.CRT.manifest" DiskId="1" Vital="yes"
Source="$(env.PATH_OUT)\bin\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest" />
Source="$(env.PATH_OUT)\bin\Microsoft.VC80.CRT\msvcr80.dll" />
Source="$(env.PATH_OUT)\bin\Microsoft.VC80.CRT\msvcp80.dll" />
Source="$(env.PATH_OUT)\bin\msvcp71.dll" />
Source="$(env.PATH_OUT)\bin\msvcrt.dll" />
Source="$(env.PATH_OUT)\bin\msvcr71.dll" />
<File Id="vboxefifd32" LongName="VBoxEFI32.fd" Name="efi32.fd" DiskId="$(var.Property_DiskIdCommon)" Vital="yes"
Source="$(env.PATH_OUT)\bin\VBoxEFI32.fd" />
<File Id="vboxefifd64" LongName="VBoxEFI64.fd" Name="efi64.fd" DiskId="$(var.Property_DiskIdCommon)" Vital="yes"
Source="$(env.PATH_OUT)\bin\VBoxEFI64.fd" />
<File Id="VBoxGuestAdditions.iso" Name="VBoxAdd.iso" LongName="VBoxGuestAdditions.iso" DiskId="2" Vital="yes"
Source="$(env.PATH_MULTIARCH_GUEST_ADDITIONS_ISO)\VBoxGuestAdditions.iso" />
Source="$(env.PATH_OUT)\bin\additions\VBoxGuestAdditions.iso" />
<File Id="qtaccessibleplugindll" Name="qtacsw4.dll" LongName="qtaccessiblewidgets4.dll" DiskId="1" Vital="yes"
Source="$(env.PATH_OUT)\bin\accessible\qtaccessiblewidgets4.dll" />
<File Id="vboxapisetup" Name="pysetup.py" LongName="vboxapisetup.py" DiskId="$(var.Property_DiskIdCommon)" Vital="yes"
Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapisetup.py" />
Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\__init__.py" />
<File Id="VirtualBox_constants.py" Name="vbconst.py" LongName="VirtualBox_constants.py" DiskId="$(var.Property_DiskIdCommon)" Vital="yes"
Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\VirtualBox_constants.py" />
<Component Id="VBoxCROpenGL" Guid="874A1297-835A-491D-8A9D-7E723BC29EE7" Win64="$(var.Property_Win64)">
<File Id="vboxoglhostcrutil" Name="VbGlHCRU.dll" LongName="VBoxOGLhostcrutil.dll" DiskId="1" Vital="yes"
Source="$(env.PATH_OUT)\bin\VBoxOGLhostcrutil.dll" />
<File Id="vboxoglhosterrorspu" Name="VbGlHers.dll" LongName="VBoxOGLhosterrorspu.dll" DiskId="1" Vital="yes"
Source="$(env.PATH_OUT)\bin\VBoxOGLhosterrorspu.dll" />
<File Id="vboxoglrenderspu" Name="VbGlRndr.dll" LongName="VBoxOGLrenderspu.dll" DiskId="1" Vital="yes"
Source="$(env.PATH_OUT)\bin\VBoxOGLrenderspu.dll" />
<File Id="vboxsharedcropengl" Name="VbShCRGL.dll" LongName="VBoxSharedCrOpenGL.dll" DiskId="1" Vital="yes"
Source="$(env.PATH_OUT)\bin\VBoxSharedCrOpenGL.dll" />
<Component Id="VBoxSDLBinaries" Guid="F09D5FD9-E176-42B0-90A9-481BB18B0CB4" Win64="$(var.Property_Win64)">
Source="$(env.PATH_OUT)\bin\VBoxSDL.exe" />
Source="$(env.PATH_OUT)\bin\SDL.dll" />
Source="$(env.PATH_OUT)\bin\SDL_ttf.dll" />
Source="$(env.PATH_OUT)\bin\vboxwebsrv.exe" />
Description="$(loc.VB_App)"
Description="$(loc.VB_USBDriver)"
Description="$(loc.VB_Network)"
Description="$(loc.VB_NetFltDriver)"
Description="$(loc.VB_NetAdpDriver)"
Description="$(loc.VB_Python)"
<RemoveExistingProducts After="InstallValidate"><![CDATA[NEWERVERSIONDETECTED OR PREVIOUSVERSIONSINSTALLED]]></RemoveExistingProducts>
<Custom Action="OriginalTargetDir" After="FileCost"><![CDATA[(NOT INSTALLDIR) AND (NOT EXISTINGINSTALLDIR)]]></Custom>
<Custom Action="DefaultTargetDir" Before="FileCost" ><![CDATA[NOT Installed AND (NOT INSTALLDIR) AND EXISTINGINSTALLDIR]]></Custom>
<Custom Action="CreateHostOnlyInterfaceArgs" Before="CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
<Custom Action="CreateHostOnlyInterface" Before="InstallFinalize" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
<Custom Action="RollbackInstallNetFltArgs" Before="RollbackInstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
<Custom Action="RollbackInstallNetFlt" Before="InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
<Custom Action="InstallNetFlt" Before="CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
<Custom Action="RollbackUninstallNetFltArgs" Before="RollbackUninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
<Custom Action="RollbackUninstallNetFlt" Before="UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>