VirtualBox.wxs revision 80335d1c08a501abd1a1ab50cd2b956f00df3e18
97a9a944b5887e91042b019776c41d5dd74557aferikabele<?xml version="1.0"?>
97a9a944b5887e91042b019776c41d5dd74557aferikabele<!--
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd VirtualBox Windows Installation Script (WiX)
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd Copyright (C) 2006-2011 Oracle Corporation
a945f35eff8b6a88009ce73de6d4c862ce58de3cslive
a945f35eff8b6a88009ce73de6d4c862ce58de3cslive This file is part of VirtualBox Open Source Edition (OSE), as
a945f35eff8b6a88009ce73de6d4c862ce58de3cslive available from http://www.virtualbox.org. This file is free software;
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd you can redistribute it and/or modify it under the terms of the GNU
96ad5d81ee4a2cc66a4ae19893efc8aa6d06fae7jailletc General Public License (GPL) as published by the Free Software
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd Foundation, in version 2 as it comes in the "COPYING" file of the
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd VirtualBox OSE distribution. VirtualBox OSE is distributed in the
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
2e545ce2450a9953665f701bb05350f0d3f26275nd-->
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen<?define Property_RegKey = "Software\$(env.VBOX_VENDOR_SHORT)\VirtualBox" ?>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<?define Property_RegKeyInstall = "Software\$(env.VBOX_VENDOR_SHORT)\VirtualBox\Install" ?>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<?define Property_Version = "$(env.VBOX_VERSION_STRING_RAW)" ?>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<?define Property_VersionExt = "$(env.VBOX_VERSION_STRING)" ?>
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen<?define Property_Upgrade = "yes" ?>
3f08db06526d6901aa08c110b5bc7dde6bc39905nd
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<?if $(env.BUILD_TARGET_ARCH) = "amd64" ?>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <?define Property_ProgramFiles = "ProgramFiles64Folder" ?>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <?define Property_Platform = "x64" ?>
3f08db06526d6901aa08c110b5bc7dde6bc39905nd <?define Property_Win64 = "yes" ?>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<?if $(env.VBOX_SIGNING_MODE) != none ?>
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd <?define Property_DriverLegacy = "no" ?>
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd<?else ?>
cc8190433d13f5e9de618c5d7f10c824c0c1919cgryzor <?define Property_DriverLegacy = "yes" ?>
7f5b59ccc63c0c0e3e678a168f09ee6a2f51f9d0nd<?endif ?>
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd<?else ?>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <?define Property_ProgramFiles = "ProgramFilesFolder" ?>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <?define Property_Platform = "x86" ?>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <?define Property_Win64 = "no" ?>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<?if $(env.VBOX_SIGNING_MODE) != none ?>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <!-- Note: Settings this to 'no' breaks win2k installs (!) -->
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <?define Property_DriverLegacy = "yes" ?>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<?else ?>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <?define Property_DriverLegacy = "yes" ?>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<?endif ?>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<?endif ?>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<!-- If we build a combined installer (32- and 64-bit in one installer), we
06ba4a61654b3763ad65f52283832ebf058fdf1cslive use two installer "disks": One for all platform-specific stuff and one which
06ba4a61654b3763ad65f52283832ebf058fdf1cslive contains all common (platform independent) stuff (like manuals, bitmaps etc). -->
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
c44eeebd065e2c8cd028016b45c58afb480aaf8fdruggeri <?define Property_DiskIdCommon = "2" ?>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd<?else ?>
53bae66d3dc14a667e14a451f7bc65a893dd450fnd <?define Property_DiskIdCommon = "1" ?>
c44eeebd065e2c8cd028016b45c58afb480aaf8fdruggeri<?endif ?>
c44eeebd065e2c8cd028016b45c58afb480aaf8fdruggeri
c44eeebd065e2c8cd028016b45c58afb480aaf8fdruggeri<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
c44eeebd065e2c8cd028016b45c58afb480aaf8fdruggeri xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd <!-- Note: GUIDs in WiX *must* be uppercase! -->
53bae66d3dc14a667e14a451f7bc65a893dd450fnd <!-- Always include an upgrade ID or otherwise upgrade installation will not be possible. When doing
06ba4a61654b3763ad65f52283832ebf058fdf1cslive a major upgrade (more than just fixing a few files) change the product GUID. -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- Update / Upgrade policies:
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Update Type Package Code Product Version Product Code Upgrade Code
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Small update change don't change don't change don't change
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Minor update change change don't change don't change
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Major upgrade change change change don't change -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
9bcfc3697a91b5215893a7d0206865b13fc72148nd <!-- Old product ID: <Product Id="B59FE77B-738F-4f1c-AB48-3104895AF676"
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Old upgrade code of innotek: UpgradeCode="F5FFAEBF-97AE-4038-8F91-4DE719456127" -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Product Id="*"
06ba4a61654b3763ad65f52283832ebf058fdf1cslive UpgradeCode="C4BAD770-BFE8-4D2C-A592-693028A7215B"
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Name="$(env.VBOX_PRODUCT) $(env.VBOX_VERSION_STRING)"
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Language="!(loc.LANG)"
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Codepage="1252"
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Version="$(var.Property_Version)"
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Manufacturer="$(env.VBOX_VENDOR)">
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- Package GUIDs must be different for each package. The "???" directs WiX to create one. -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Package Id="*" Keywords="Installer"
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Description="$(env.VBOX_PRODUCT) $(var.Property_VersionExt) installation package"
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Comments="$(env.VBOX_PRODUCT) installation package"
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Manufacturer="$(env.VBOX_VENDOR)"
06ba4a61654b3763ad65f52283832ebf058fdf1cslive InstallerVersion="200"
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Compressed="yes"
06ba4a61654b3763ad65f52283832ebf058fdf1cslive InstallPrivileges="elevated"
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Platform="$(var.Property_Platform)"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- *************************** Upgrade packages only ******************************* -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- Minimum and Maximum specify the range of versions we are supposed to update with this upgrade.
06ba4a61654b3763ad65f52283832ebf058fdf1cslive IncludeMaximum and IncludeMinimum specify whether the bound value is actually included in the range or not
06ba4a61654b3763ad65f52283832ebf058fdf1cslive (IncludeMaximum = yes meaning to find versions below or equal to the version specified in Maximum while
06ba4a61654b3763ad65f52283832ebf058fdf1cslive IncludeMaximum = no only finds those below the Maximum).
06ba4a61654b3763ad65f52283832ebf058fdf1cslive OnlyDetect tells the installer not to remove the previous product. This is useful as long as we
06ba4a61654b3763ad65f52283832ebf058fdf1cslive only change files in the package. -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Upgrade Id="C4BAD770-BFE8-4D2C-A592-693028A7215B"> <!-- Upgrade of Sun xVM VirtualBox >= v1.6.0 -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- Upgrade is flagged if current-install is newer than or equal to package - TODO: should make a dialog appear asking user to confirm downgrade. -->
1937357c6969cbc6a1eb245e80faa6f3723cfa0awrowe <!--- Setting "OnlyDetect" to "no" makes the installer uninstall an already newer installed version. -->
1937357c6969cbc6a1eb245e80faa6f3723cfa0awrowe <UpgradeVersion Property="NEWERVERSIONDETECTED" Minimum="$(var.Property_Version)" OnlyDetect="no" />
1937357c6969cbc6a1eb245e80faa6f3723cfa0awrowe
1937357c6969cbc6a1eb245e80faa6f3723cfa0awrowe <!-- Flag is set if the install will trigger an upgrade of an existing install -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <UpgradeVersion Property="PREVIOUSVERSIONSINSTALLED" Minimum="1.0.0.0" Maximum="$(var.Property_Version)" IncludeMaximum="yes" />
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive </Upgrade>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- The product's icon table. -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Icon Id="IconVirtualBox" SourceFile="$(env.VBOX_WINDOWS_ICON_FILE)" />
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- Global properties. -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Property Id="ARPPRODUCTICON">IconVirtualBox</Property>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Property Id="ARPURLINFOABOUT">http://www.virtualbox.org</Property>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Property Id="ARPURLUPDATEINFO">http://www.virtualbox.org</Property>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Property Id="INSTALLDESKTOPSHORTCUT" Value="1"></Property>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Property Id="INSTALLQUICKLAUNCHSHORTCUT" Value="1"></Property>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Property Id="STARTVBOX" Value="1"></Property>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- Install the product for all users on the system -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Property Id="ALLUSERS"><![CDATA[1]]></Property>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- Make sure installation will not start on anything other but the NT family -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<?if $(env.BUILD_TARGET_ARCH) = "amd64" ?>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Condition Message="!(loc.Only64Bit)">
06ba4a61654b3763ad65f52283832ebf058fdf1cslive VersionNT64
06ba4a61654b3763ad65f52283832ebf058fdf1cslive </Condition>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<?else ?>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Condition Message="!(loc.Only32Bit)">
06ba4a61654b3763ad65f52283832ebf058fdf1cslive NOT VersionNT64
06ba4a61654b3763ad65f52283832ebf058fdf1cslive </Condition>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Condition Message="!(loc.WrongOS)">
06ba4a61654b3763ad65f52283832ebf058fdf1cslive NOT VersionNT=500 AND NOT Version9X AND NOT VersionNT64
06ba4a61654b3763ad65f52283832ebf058fdf1cslive </Condition>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<?endif ?>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Condition Message="!(loc.NeedAdmin)">
06ba4a61654b3763ad65f52283832ebf058fdf1cslive Privileged
06ba4a61654b3763ad65f52283832ebf058fdf1cslive </Condition>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- Force overwriting all files and re-create shortcuts to guarantee a working environment -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Property Id='REINSTALLMODE' Value='amus'/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- Custom actions -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- Figure out where a previous installation was, if any -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<?if $(env.BUILD_TARGET_ARCH) = "amd64" ?>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_OriginalTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[ProgramFiles64Folder]\$(env.VBOX_VENDOR_SHORT)\VirtualBox" />
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Property Id="EXISTINGINSTALLDIR" Secure="yes">
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <RegistrySearch Id="RegistryGetInstallPath" Root="HKLM" Key="$(var.Property_RegKey)" Name="InstallDir" Type="raw" Win64="$(var.Property_Win64)"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive </Property>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_DefaultTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[EXISTINGINSTALLDIR]" />
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<?else ?>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_OriginalTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[ProgramFilesFolder]\$(env.VBOX_VENDOR_SHORT)\VirtualBox" />
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Property Id="EXISTINGINSTALLDIR" Secure="yes">
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <RegistrySearch Id="RegistryGetInstallPath" Root="HKLM" Key="$(var.Property_RegKey)" Name="InstallDir" Type="raw" Win64="$(var.Property_Win64)"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive </Property>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_DefaultTargetDir" Execute="firstSequence" Property="INSTALLDIR" Value="[EXISTINGINSTALLDIR]" />
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<?endif ?>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_CheckSerial" BinaryKey="VBoxInstallHelper" DllEntry="CheckSerial" Impersonate="no"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_InstallPythonAPI" BinaryKey="VBoxInstallHelper" DllEntry="InstallPythonAPI" Execute="deferred" Return="check" Impersonate="no"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_InstallPythonAPIArgs" Property="ca_InstallPythonAPI" Value="[INSTALLDIR]" Execute="immediate"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_InstallBranding" BinaryKey="VBoxInstallHelper" DllEntry="InstallBranding" Execute="deferred" Return="check" Impersonate="no"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_InstallBrandingArgs" Property="ca_InstallBranding" Value="[INSTALLDIR]" Execute="immediate"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
1937357c6969cbc6a1eb245e80faa6f3723cfa0awrowe <CustomAction Id="ca_UninstallBranding" BinaryKey="VBoxInstallHelper" DllEntry="UninstallBranding" Execute="deferred" Return="check" Impersonate="no"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_UninstallBrandingArgs" Property="ca_UninstallBranding" Value="[INSTALLDIR]" Execute="immediate"/>
1937357c6969cbc6a1eb245e80faa6f3723cfa0awrowe
1937357c6969cbc6a1eb245e80faa6f3723cfa0awrowe <CustomAction Id="ca_UninstallTAPInstances" BinaryKey="VBoxInstallHelper"
1937357c6969cbc6a1eb245e80faa6f3723cfa0awrowe DllEntry="UninstallTAPInstances" Execute="deferred" Return="check" Impersonate="no"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
1937357c6969cbc6a1eb245e80faa6f3723cfa0awrowe<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_CreateHostOnlyInterface" BinaryKey="VBoxInstallHelper" DllEntry="CreateHostOnlyInterface" Execute="deferred" Return="check" Impersonate="no"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_CreateHostOnlyInterfaceArgs" Property="ca_CreateHostOnlyInterface" Value="[INSTALLDIR]" Execute="immediate"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_RemoveHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="RemoveHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_InstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_InstallNetFltArgs" Property="ca_InstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_RollbackInstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="rollback" Impersonate="no"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_RollbackInstallNetFltArgs" Property="ca_RollbackInstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_UninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_UninstallNetFltArgs" Property="ca_UninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_RollbackUninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="rollback" Impersonate="no"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_RollbackUninstallNetFltArgs" Property="ca_RollbackUninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive<?endif ?>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <CustomAction Id="ca_StartVBox" FileKey="file_VirtualBox.exe" ExeCommand="" Return="asyncNoWait" Impersonate="yes" />
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
11235fe555f482044904c555d3725c7d38575bf6jailletc <!-- Detect old Sun installation -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- Force a manual uninstall of an already installed Sun VirtualBox version first -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!--<Property Id="VBOXSUN">
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <RegistrySearch Id="RegSearchSunVersion" Root="HKLM" Key="SOFTWARE\Sun\VirtualBox" Name="Version" Type="raw" Win64="$(var.Property_Win64)"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive </Property>
1937357c6969cbc6a1eb245e80faa6f3723cfa0awrowe <Condition Message="!(loc.SunFound)">
06ba4a61654b3763ad65f52283832ebf058fdf1cslive NOT VBOXSUN
06ba4a61654b3763ad65f52283832ebf058fdf1cslive </Condition>-->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- Detect old innotek installation -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <!-- Force a manual uninstall of an already installed innotek VirtualBox version first -->
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Property Id="VBOXINNOTEK">
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <RegistrySearch Id="RegSearchInnotekVersion" Root="HKLM" Key="SOFTWARE\Innotek\VirtualBox" Name="Version" Type="raw" Win64="$(var.Property_Win64)"/>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive </Property>
06ba4a61654b3763ad65f52283832ebf058fdf1cslive <Condition Message="!(loc.InnotekFound)">
06ba4a61654b3763ad65f52283832ebf058fdf1cslive NOT VBOXINNOTEK
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd </Condition>
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd
3b3b7fc78d1f5bfc2769903375050048ff41ff26nd <Media Id="1" Cabinet="product.cab" EmbedCab="yes" />
ad74a0524a06bfe11b7de9e3b4ce7233ab3bd3f7nd<?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
cc8190433d13f5e9de618c5d7f10c824c0c1919cgryzor <Media Id="2" Cabinet="common.cab" EmbedCab="no" CompressionLevel="high" />
7f5b59ccc63c0c0e3e678a168f09ee6a2f51f9d0nd<?endif ?>
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung
727872d18412fc021f03969b8641810d8896820bhumbedooh <!-- Here comes the file/directory list. -->
0d0ba3a410038e179b695446bb149cce6264e0abnd <Directory Id="TARGETDIR" Name="SourceDir">
727872d18412fc021f03969b8641810d8896820bhumbedooh <Directory Id="$(var.Property_ProgramFiles)" Name="PFiles">
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh <Directory Id="INSTALLDIR" Name="$(env.VBOX_PRODUCT)">
0d0ba3a410038e179b695446bb149cce6264e0abnd
cc7e1025de9ac63bd4db6fe7f71c158b2cf09fe4humbedooh<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
727872d18412fc021f03969b8641810d8896820bhumbedooh <Directory Id="dir_Documents" Name="doc">
0d0ba3a410038e179b695446bb149cce6264e0abnd <!-- The documentation is a separate component. This allows to split the install process
0d0ba3a410038e179b695446bb149cce6264e0abnd into pieces if ever necessary. Maintenance is easier, too. The following component
0d0ba3a410038e179b695446bb149cce6264e0abnd will be installed in the "doc" folder. -->
ac082aefa89416cbdc9a1836eaf3bed9698201c8humbedooh <Component Id="cp_Docs" Guid="40BD12C5-89A8-4B81-8A5E-5EEE2C2763C4">
0d0ba3a410038e179b695446bb149cce6264e0abnd <?include $(env.PATH_TARGET)\Files_Doc.wxi ?>
0d0ba3a410038e179b695446bb149cce6264e0abnd </Component>
0d0ba3a410038e179b695446bb149cce6264e0abnd </Directory>
727872d18412fc021f03969b8641810d8896820bhumbedooh<?endif ?>
0d0ba3a410038e179b695446bb149cce6264e0abnd <!-- Device driver directory -->
0d0ba3a410038e179b695446bb149cce6264e0abnd <Directory Id="dir_Drivers" Name="drivers">
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh <Directory Id="dir_VBoxDrv" Name="vboxdrv">
205f749042ed530040a4f0080dbcb47ceae8a374rjung <Component Id="cp_VBoxDrv" Guid="D3E2F2BB-569F-46A2-836C-BDF30FF1EDF8" Win64="$(var.Property_Win64)">
af33a4994ae2ff15bc67d19ff1a7feb906745bf8rbowen <difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
0d0ba3a410038e179b695446bb149cce6264e0abnd Legacy="$(var.Property_DriverLegacy)" Sequence="2" PlugAndPlayPrompt="no"/>
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd <File Id="file_VBoxDrv.sys" Name="VBoxDrv.sys" KeyPath="yes"
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd Source="$(env.PATH_OUT)\bin\VBoxDrv.sys"/>
7fec19672a491661b2fe4b29f685bc7f4efa64d4nd <File Id="file_VBoxDrv.inf" Name="VBoxDrv.inf"
0c4abc32c00611fe1d52c9661f5cc79a3f74c6d4nd Source="$(env.PATH_OUT)\bin\VBoxDrv.inf" />
<?if $(env.VBOX_SIGNING_MODE) != none ?>
<File Id="file_VBoxDrv.cat" Name="VBoxDrv.cat"
Source="$(env.PATH_OUT)\bin\VBoxDrv.cat" />
<?endif ?>
</Component>
</Directory>
<Directory Id="dir_USB" Name="USB">
<Directory Id="dir_USBFilter" Name="filter">
<Component Id="cp_USBFilterDriver" Guid="B7D782D2-96DF-4775-A0E1-A76CF7B04B65" Win64="$(var.Property_Win64)">
<difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
Legacy="$(var.Property_DriverLegacy)" Sequence="0" PlugAndPlayPrompt="no"/>
<File Id="file_VBoxUSBMon.sys" Name="VBoxUSBMon.sys"
Source="$(env.PATH_OUT)\bin\VBoxUSBMon.sys" />
<File Id="file_VBoxUSBMon.inf" Name="VBoxUSBMon.inf"
Source="$(env.PATH_OUT)\bin\VBoxUSBMon.inf" />
<?if $(env.VBOX_SIGNING_MODE) != none ?>
<File Id="file_VBoxUSBMon.cat" Name="VBoxUSBMon.cat"
Source="$(env.PATH_OUT)\bin\VBoxUSBMon.cat" />
<?endif ?>
</Component>
</Directory>
<Directory Id="dir_USBDevice" Name="device">
<Component Id="cp_USBDeviceDriver" Guid="010FE46A-E358-43E2-8BDC-38BC8BEC82E0" Win64="$(var.Property_Win64)">
<difxapp:Driver AddRemovePrograms="no" ForceInstall="yes"
Legacy="$(var.Property_DriverLegacy)" Sequence="0" PlugAndPlayPrompt="no"/>
<File Id="file_VBoxUSB.sys" Name="VBoxUSB.sys"
Source="$(env.PATH_OUT)\bin\VBoxUSB.sys" />
<File Id="file_VBoxUSB.inf" Name="VBoxUSB.inf"
Source="$(env.PATH_OUT)\bin\VBoxUSB.inf" />
<?if $(env.VBOX_SIGNING_MODE) != none ?>
<File Id="file_VBoxUSB.cat" Name="VBoxUSB.cat"
Source="$(env.PATH_OUT)\bin\VBoxUSB.cat" />
<?endif ?>
</Component>
</Directory>
</Directory>
<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
<Directory Id="dir_Network" Name="network">
<Directory Id="dir_NetFlt" Name="netflt">
<Component Id="cp_NetFltDriver" Guid="F0A02F6B-A349-42f8-A2EB-569DCAAAF846" Win64="$(var.Property_Win64)">
<File Id="file_VBoxNetFlt.sys" Name="VBoxNetFlt.sys" KeyPath="yes"
Source="$(env.PATH_OUT)\bin\VBoxNetFlt.sys" Checksum="yes"/>
<File Id="file_VBoxNetFltNobj.sys" Name="VBoxNetFltNobj.dll"
Source="$(env.PATH_OUT)\bin\VBoxNetFltNobj.dll" Checksum="yes"/>
<File Id="file_VBoxNetFltM.inf" Name="VBoxNetFltM.inf"
Source="$(env.PATH_OUT)\bin\VBoxNetFltM.inf" />
<File Id="file_VBoxNetFlt.inf" Name="VBoxNetFlt.inf"
Source="$(env.PATH_OUT)\bin\VBoxNetFlt.inf" />
<?if $(env.VBOX_SIGNING_MODE) != none ?>
<File Id="file_VBoxNetFlt.cat" Name="VBoxNetFlt.cat"
Source="$(env.PATH_OUT)\bin\VBoxNetFlt.cat" />
<?endif ?>
</Component>
</Directory>
<Directory Id="dir_NetAdp" Name="netadp">
<Component Id="cp_NetAdpDriver" Guid="7adf3e12-af3c-4d36-8bec-36d5064cf84f" Win64="$(var.Property_Win64)">
<File Id="file_VBoxNetAdp.sys" Name="VBoxNetAdp.sys" KeyPath="yes"
Source="$(env.PATH_OUT)\bin\VBoxNetAdp.sys" Checksum="yes"/>
<File Id="file_VBoxNetAdp.inf" Name="VBoxNetAdp.inf"
Source="$(env.PATH_OUT)\bin\VBoxNetAdp.inf" />
<?if $(env.VBOX_SIGNING_MODE) != none ?>
<File Id="file_VBoxNetAdp.cat" Name="VBoxNetAdp.cat"
Source="$(env.PATH_OUT)\bin\VBoxNetAdp.cat" />
<?endif ?>
</Component>
</Directory>
</Directory>
<?endif ?>
</Directory> <!-- Directory "drivers" -->
<!-- National Language Support directory -->
<Directory Id="dir_NLS" Name="nls">
<Component Id="cp_NLS" Guid="D63517D7-1CF3-4D06-B3EE-C561E323069B" Win64="$(var.Property_Win64)">
<!-- Include the autogenerated NLS file list -->
<?include $(env.PATH_TARGET)\VBoxGuiNLS.wxi ?>
</Component>
</Directory>
<!-- COM components have a separate entry mainly because of the KeyPath attribute (that hints the
TypeLib element where to take the TLB resource from) may appear only once per Component. -->
<Component Id="cp_MainCOM" Guid="CD4A3C6C-C2D5-428D-90A1-B6DA3D0777D6" Win64="$(var.Property_Win64)">
<!-- File ID *must not* be changed because of our typelib template generation file! -->
<File Id="VBoxSVC" Name="VBoxSVC.exe"
Source="$(env.PATH_OUT)\bin\VBoxSVC.exe">
</File>
<!-- We set KeyPath on this file to instruct TypeLib to read the TLB resource from it
and create appropriate Interface registry entries. Note that the same TLB is present
in VBoxSVC.exe - it's just a matter of choice which one to use -->
<!-- File ID *must not* be changed because of our typelib template generation file! -->
<File Id="VBoxC" Name="VBoxC.dll"
Source="$(env.PATH_OUT)\bin\VBoxC.dll" KeyPath="yes">
</File>
<!-- Include the autogenerated TypeLib block -->
<?include $(env.PATH_TARGET)\VirtualBox_TypeLib.wxi ?>
</Component>
<!--
<Component Id="Cp_StartMenuShortcut" Guid="1C137D24-E599-47BD-98D0-2F62F202A8EA" Win64="$(var.Property_Win64)">
<RegistryValue Root="HKCU" Key="$(var.Property_RegKeyInstall)" Type="string"
Value="installed" KeyPath="yes" />
<Shortcut Id="ShortcutStartMenuVBox" Directory="ProgramMenuDir"
Name="VirtualBox" WorkingDirectory="INSTALLDIR" Advertise="no" Target="VirtualBox.exe" />
<RemoveFolder Id="ShortcutStartMenuVBoxRemove" On="uninstall" />
</Component>-->
<!---->
<!-- 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="cp_MainBinaries" Guid="5C8FE57A-F744-4DE0-AA3F-A563F486AD98" Win64="$(var.Property_Win64)">
<!-- Set required environment variables. -->
<Environment Id="env_VBoxInstallDir" Action="set" Name="VBOX_INSTALL_PATH"
System="yes" Part="last" Permanent="no" Value="[INSTALLDIR]" />
<!-- Register file extensions. Note: Extension Id's *must not* be changed! These specify the actual
file extension to handle. Also, here would be the place to add more fancy DDE stuff later.
Important: The IDs in "IconIndex" *must* be matching "Resources\resource.h". -->
<ProgId Id="progId_VirtualBox.Shell.vbox" Description="VirtualBox Machine Definition" Icon="file_VBoxRes.dll" IconIndex="-201">
<Extension Id="vbox" ContentType="application/x-virtualbox-vbox">
<Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
</Extension>
</ProgId>
<ProgId Id="progId_VirtualBox.Shell.vbox-extpack" Description="VirtualBox Extension Pack" Icon="file_VBoxRes.dll" IconIndex="-202">
<Extension Id="vbox-extpack" ContentType="application/x-virtualbox-vbox-extpack">
<Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
</Extension>
</ProgId>
<ProgId Id="progId_VirtualBox.Shell.ovf" Description="Open Virtualization Format" Icon="file_VBoxRes.dll" IconIndex="-301">
<Extension Id="ovf" ContentType="application/x-virtualbox-ovf">
<Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
</Extension>
</ProgId>
<ProgId Id="progId_VirtualBox.Shell.ova" Description="Open Virtualization Format Archive" Icon="file_VBoxRes.dll" IconIndex="-302">
<Extension Id="ova" ContentType="application/x-virtualbox-ova">
<Verb Id="open" Command="Open" TargetFile="file_VirtualBox.exe" Argument="&quot;%1&quot;" />
</Extension>
</ProgId>
<ProgId Id="progId_VirtualBox.Shell.vdi" Description="Virtual Disk Image" Icon="file_VBoxRes.dll" IconIndex="-303">
<Extension Id="vdi" ContentType="application/x-virtualbox-vdi" />
</ProgId>
<ProgId Id="progId_VirtualBox.Shell.vmdk" Description="Virtual Machine Disk Format" Icon="file_VBoxRes.dll" IconIndex="-304">
<Extension Id="vmdk" ContentType="application/x-virtualbox-vmdk" />
</ProgId>
<ProgId Id="progId_VirtualBox.Shell.vhd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-305">
<Extension Id="vhd" ContentType="application/x-virtualbox-vhd" />
</ProgId>
<ProgId Id="progId_VirtualBox.Shell.hdd" Description="Virtual Hard Disk" Icon="file_VBoxRes.dll" IconIndex="-306">
<Extension Id="hdd" ContentType="application/x-virtualbox-hdd" />
</ProgId>
<!-- Files -->
<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
<!-- Include all user manual .CHM files (file is generated by makefile). -->
<?include $(env.PATH_TARGET)\Files_Main.wxi ?>
<?endif ?>
<!-- Include all license files (file is generated by makefile). -->
<?include $(env.PATH_TARGET)\Files_License.wxi ?>
<!-- Frontends -->
<File Id="file_VBoxManage.exe" Name="VBoxManage.exe"
Source="$(env.PATH_OUT)\bin\VBoxManage.exe" />
<File Id="file_VBoxHeadless.exe" Name="VBoxHeadless.exe"
Source="$(env.PATH_OUT)\bin\VBoxHeadless.exe">
<File Id="file_VBoxHeadlessSVC.exe" Name="VBoxHeadlessSVC.exe"
Source="$(env.PATH_OUT)\bin\VBoxHeadlessSVC.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"/> -->
</File>
<File Id="file_VBoxBalloonCtrl.exe" Name="VBoxBalloonCtrl.exe"
Source="$(env.PATH_OUT)\bin\VBoxBalloonCtrl.exe"/>
<!-- Misc tools -->
<File Id="file_VBoxNetDHCP.exe" Name="VBoxNetDHCP.exe"
Source="$(env.PATH_OUT)\bin\VBoxNetDHCP.exe"/>
<?if $(env.VBOX_WITH_EXTPACK) = "yes" ?>
<File Id="file_VBoxExtPackHelperApp.exe" Name="VBoxExtPackHelperApp.exe"
Source="$(env.PATH_OUT)\bin\VBoxExtPackHelperApp.exe"/>
<?endif ?>
<!-- VBox DLL files -->
<File Id="file_VBoxDD.dll" Name="VBoxDD.dll"
Source="$(env.PATH_OUT)\bin\VBoxDD.dll" />
<File Id="file_VBoxDD2.dll" Name="VBoxDD2.dll"
Source="$(env.PATH_OUT)\bin\VBoxDD2.dll" />
<File Id="file_VBoxDDU.dll" Name="VBoxDDU.dll"
Source="$(env.PATH_OUT)\bin\VBoxDDU.dll" />
<File Id="file_VBoxRT.dll" Name="VBoxRT.dll"
Source="$(env.PATH_OUT)\bin\VBoxRT.dll" />
<File Id="file_VBoxREM.dll" Name="VBoxREM.dll"
Source="$(env.PATH_OUT)\bin\VBoxREM.dll" />
<?if $(env.BUILD_TARGET_ARCH) = "amd64" ?>
<File Id="file_VBoxREM2.rel" Name="VBoxREM2.rel"
Source="$(env.PATH_OUT)\bin\VBoxREM2.rel" />
<?else ?>
<File Id="file_VBoxREM32.dll" Name="VBoxREM32.dll"
Source="$(env.PATH_OUT)\bin\VBoxREM32.dll" />
<File Id="file_VBoxREM64.dll" Name="VBoxREM64.dll"
Source="$(env.PATH_OUT)\bin\VBoxREM64.dll" />
<?endif ?>
<File Id="file_VBoxVMM.dll" Name="VBoxVMM.dll"
Source="$(env.PATH_OUT)\bin\VBoxVMM.dll" />
<?if $(env.VBOX_WITH_VRDP) = "yes" ?>
<File Id="file_VBoxVRDP.dll" Name="VBoxVRDP.dll"
Source="$(env.PATH_OUT)\bin\VBoxVRDP.dll" />
<?endif ?>
<File Id="file_VBoxSharedFolders.dll" Name="VBoxSharedFolders.dll"
Source="$(env.PATH_OUT)\bin\VBoxSharedFolders.dll" />
<File Id="file_VBoxSharedClipboard.dll" Name="VBoxSharedClipboard.dll"
Source="$(env.PATH_OUT)\bin\VBoxSharedClipboard.dll" />
<?if $(env.VBOX_WITH_GUEST_PROPS) = "yes" ?>
<File Id="file_VBoxGuestPropSvc.dll" Name="VBoxGuestPropSvc.dll"
Source="$(env.PATH_OUT)\bin\VBoxGuestPropSvc.dll" />
<?endif ?>
<?if $(env.VBOX_WITH_GUEST_CONTROL) = "yes" ?>
<File Id="file_VBoxGuestControlSvc.dll" Name="VBoxGuestControlSvc.dll"
Source="$(env.PATH_OUT)\bin\VBoxGuestControlSvc.dll" />
<?endif ?>
<File Id="file_VBoxAuth.dll" Name="VBoxAuth.dll"
Source="$(env.PATH_OUT)\bin\VBoxAuth.dll" />
<File Id="file_VBoxAuthSimple.dll" Name="VBoxAuthSimple.dll"
Source="$(env.PATH_OUT)\bin\VBoxAuthSimple.dll" />
<!-- Include resource DLL (icons, ...). -->
<File Id="file_VBoxRes.dll" Name="VBoxRes.dll" DiskId="$(var.Property_DiskIdCommon)"
Source="$(env.PATH_OUT)\bin\VBoxRes.dll" />
<File Id="file_VMMGC.gc" Name="VMMGC.gc"
Source="$(env.PATH_OUT)\bin\VMMGC.gc" />
<File Id="file_VBoxDDGC.gc" Name="VBoxDDGC.gc"
Source="$(env.PATH_OUT)\bin\VBoxDDGC.gc" />
<File Id="file_VBoxDD2GC.gc" Name="VBoxDD2GC.gc"
Source="$(env.PATH_OUT)\bin\VBoxDD2GC.gc" />
<File Id="file_VMMR0.r0" Name="VMMR0.r0"
Source="$(env.PATH_OUT)\bin\VMMR0.r0" />
<File Id="file_VBoxDDR0.r0" Name="VBoxDDR0.r0"
Source="$(env.PATH_OUT)\bin\VBoxDDR0.r0" />
<File Id="file_VBoxDD2R0.r0" Name="VBoxDD2R0.r0"
Source="$(env.PATH_OUT)\bin\VBoxDD2R0.r0" />
<?if $(env.VBOX_WITH_CROGL) = "yes" ?>
<File Id="file_VBoxTestOGL.exe" Name="VBoxTestOGL.exe"
Source="$(env.PATH_OUT)\bin\VBoxTestOGL.exe" />
<?endif ?>
<!-- Qt frontend -->
<File Id="file_VirtualBox.exe" Name="VirtualBox.exe"
Source="$(env.PATH_OUT)\bin\VirtualBox.exe">
</File>
<File Id="file_QtCoreVBox4.dll" Name="QtCoreVBox4.dll"
Source="$(env.PATH_OUT)\bin\QtCoreVBox4.dll" />
<File Id="file_QtGuiVBox4.dll" Name="QtGuiVBox4.dll"
Source="$(env.PATH_OUT)\bin\QtGuiVBox4.dll" />
<File Id="file_QtNetworkVBox4.dll" Name="QtNetworkVBox4.dll"
Source="$(env.PATH_OUT)\bin\QtNetworkVBox4.dll" />
<?if $(env.VBOX_WITH_DEBUGGER_GUI) = "yes" ?>
<File Id="file_VBoxDbg.dll" Name="VBoxDbg.dll"
Source="$(env.PATH_OUT)\bin\VBoxDbg.dll" />
<?endif ?>
<?if $(env.VBOX_GUI_USE_QGL) = "yes" ?>
<File Id="file_QtOpenGLVBox4.dll" Name="QtOpenGLVBox4.dll"
Source="$(env.PATH_OUT)\bin\QtOpenGLVBox4.dll" />
<?endif?>
<?if $(env.VBOX_USE_VCC80) = "yes" ?>
<!-- MS v8 Runtime DLL files (private assembly) -->
<File Id="file_Microsoft.VC80.CRT.manifest" Name="Microsoft.VC80.CRT.manifest"
Source="$(env.PATH_OUT)\bin\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest" />
<File Id="file_msvcr80.dll" Name="msvcr80.dll"
Source="$(env.PATH_OUT)\bin\Microsoft.VC80.CRT\msvcr80.dll" />
<File Id="file_msvcp80.dll" Name="msvcp80.dll"
Source="$(env.PATH_OUT)\bin\Microsoft.VC80.CRT\msvcp80.dll" />
<?endif?>
<!-- MS v7 Runtime DLL files -->
<?if $(env.VBOX_USE_VCC80) != "yes" ?>
<File Id="file_msvcp71.dll" Name="msvcp71.dll"
Source="$(env.PATH_OUT)\bin\msvcp71.dll" />
<File Id="file_msvcrt.dll" Name="msvcrt.dll"
Source="$(env.PATH_OUT)\bin\msvcrt.dll" />
<?endif?>
<?if $(env.BUILD_TARGET_ARCH) != "amd64" ?>
<File Id="msvcrdll" Name="msvcr71.dll"
Source="$(env.PATH_OUT)\bin\msvcr71.dll" />
<?endif?>
<!-- EFI firmware -->
<?if $(env.VBOX_WITH_EFIFW_PACKING) = "yes" ?>
<File Id="file_VBoxEFI32.fd" Name="VBoxEFI32.fd" DiskId="$(var.Property_DiskIdCommon)"
Source="$(env.PATH_OUT)\bin\VBoxEFI32.fd" />
<File Id="file_VBoxEFI64.fd" Name="VBoxEFI64.fd" DiskId="$(var.Property_DiskIdCommon)"
Source="$(env.PATH_OUT)\bin\VBoxEFI64.fd" />
<?endif?>
<!-- VBox guest additions -->
<?if $(env.VBOX_WITH_ADDITIONS_PACKING) = "yes" ?>
<?if $(env.VBOX_WITH_COMBINED_PACKAGE) = "yes" ?>
<File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso" DiskId="$(var.Property_DiskIdCommon)"
Source="$(env.PATH_MULTIARCH_GUEST_ADDITIONS_ISO)\VBoxGuestAdditions.iso" />
<?else ?>
<File Id="file_VBoxGuestAdditions.iso" Name="VBoxGuestAdditions.iso"
Source="$(env.PATH_OUT)\bin\additions\VBoxGuestAdditions.iso" />
<?endif ?>
<?endif ?>
<!-- Include key for VBox version -->
<?include $(env.PATH_TARGET)\VBoxKey.wxi ?>
</Component> <!-- MainBinaries -->
<?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
<!-- Qt accessible plugins -->
<Directory Id="dir_Accessible" Name="accessible">
<Component Id="cp_QtAccessible" Guid="12040EF9-D4A8-4FB2-A69C-CA2F5C354A45" Win64="$(var.Property_Win64)">
<File Id="file_qtaccessiblewidgets4.dll" Name="qtaccessiblewidgets4.dll"
Source="$(env.PATH_OUT)\bin\accessible\qtaccessiblewidgets4.dll" />
</Component>
</Directory>
<?endif?>
<?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
<!-- Python bindings -->
<Directory Id="dir_SDK" Name="sdk">
<Directory Id="dir_SDKInstall" Name="install">
<Component Id="cp_VBoxPyInst" Guid="C9A40306-5102-11DE-A7BA-C3C555D89593" Win64="$(var.Property_Win64)">
<File Id="file_vboxapisetup.py" Name="vboxapisetup.py" DiskId="$(var.Property_DiskIdCommon)"
Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapisetup.py" />
</Component>
<Directory Id="dir_SDKVBoxAPI" Name="vboxapi">
<Component Id="cp_VBoxPyMod" Guid="DF19CB76-5102-11DE-943B-13C755D89593" Win64="$(var.Property_Win64)">
<File Id="file___init__.py" Name="__init__.py" DiskId="$(var.Property_DiskIdCommon)"
Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\__init__.py" />
<File Id="file_VirtualBox_constants.py" Name="VirtualBox_constants.py" DiskId="$(var.Property_DiskIdCommon)"
Source="$(env.PATH_OUT)\bin\sdk\installer\vboxapi\VirtualBox_constants.py" />
</Component>
</Directory>
</Directory>
</Directory>
<?endif?>
<?if $(env.VBOX_WITH_CROGL) = "yes" ?>
<Component Id="cp_VBoxCROpenGL" Guid="874A1297-835A-491D-8A9D-7E723BC29EE7" Win64="$(var.Property_Win64)">
<File Id="file_VBoxOGLhostcrutil.dll" Name="VBoxOGLhostcrutil.dll"
Source="$(env.PATH_OUT)\bin\VBoxOGLhostcrutil.dll" />
<File Id="file_VBoxOGLhosterrorspu.dll" Name="VBoxOGLhosterrorspu.dll"
Source="$(env.PATH_OUT)\bin\VBoxOGLhosterrorspu.dll" />
<File Id="file_VBoxOGLrenderspu.dll" Name="VBoxOGLrenderspu.dll"
Source="$(env.PATH_OUT)\bin\VBoxOGLrenderspu.dll" />
<File Id="file_VBoxSharedCrOpenGL.dll" Name="VBoxSharedCrOpenGL.dll"
Source="$(env.PATH_OUT)\bin\VBoxSharedCrOpenGL.dll" />
</Component>
<?endif?>
<!-- SDL plugins -->
<Component Id="cp_VBoxSDLBinaries" Guid="F09D5FD9-E176-42B0-90A9-481BB18B0CB4" Win64="$(var.Property_Win64)">
<File Id="file_VBoxSDL.exe" Name="VBoxSDL.exe"
Source="$(env.PATH_OUT)\bin\VBoxSDL.exe" />
<File Id="file_SDL.dll" Name="SDL.dll"
Source="$(env.PATH_OUT)\bin\SDL.dll" />
<?if $(env.VBOX_WITH_SECURELABEL) = "yes" ?>
<File Id="file_SDL_ttf.dll" Name="SDL_ttf.dll"
Source="$(env.PATH_OUT)\bin\SDL_ttf.dll" />
<?endif?>
</Component> <!-- SDL plugins -->
<?if $(env.VBOX_WITH_WEBSERVICES) = "yes" ?>
<!-- Webservice -->
<Component Id="cp_VBoxWebService" Guid="DD404F04-9874-43E9-AEE2-7762924D922E">
<File Id="file_VBoxWebSrv.exe" Name="VBoxWebSrv.exe"
Source="$(env.PATH_OUT)\bin\vboxwebsrv.exe" />
</Component>
<?endif?>
<?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
<Component Id="cp_VBoxPythonBinding" Guid="293D7E11-78DA-4C31-AEED-AE2FE42F6881">
<Condition>PYTHON_INSTALLED</Condition>
</Component>
<?endif?>
</Directory> <!-- Installation directory -->
</Directory> <!-- Windows program files directory -->
<!-- Set up special directory IDs for referencing to the start menu
or the Quick Launch bar.
See: http://msdn.microsoft.com/en-us/library/aa368276.aspx
http://wix.mindcapers.com/wiki/Shortcuts_in_WiX -->
<Directory Id="ProgramMenuFolder">
<Directory Id="dir_StartMenuVBox" Name="$(env.VBOX_PRODUCT)"/>
</Directory>
<Directory Id="DesktopFolder" Name="Desktop"/>
<Directory Id="AppDataFolder" Name="AppData">
<Directory Id="dir_AppDataMicrosoft" Name="Microsoft">
<Directory Id="dir_AppDataMSIE" Name="Internet Explorer">
<Directory Id="dir_QuicklaunchFolder" Name="Quick Launch"/>
</Directory>
</Directory>
</Directory>
<!-- Shortcut(s) in start menu -->
<Component Id="cp_StartMenuVBox" Guid="C2DC321A-CE63-40EE-8A98-724DF8BD12FB" Win64="$(var.Property_Win64)">
<Shortcut Id="sc_StartMenuVBox" Directory="dir_StartMenuVBox" Name="$(env.VBOX_PRODUCT)" Description="$(env.VBOX_PRODUCT)"
Target="[INSTALLDIR]VirtualBox.exe" WorkingDirectory="INSTALLDIR"/>
<RegistryValue Root="HKCU" Key="$(var.Property_RegKeyInstall)"
Type="string" Value="installed" KeyPath="yes" />
<?include $(env.PATH_TARGET)\Shortcuts_StartMenu.wxi ?>
</Component>
<Component Id="cp_DesktopShortcut" Guid="668F8A1A-F5CE-48B3-BB1A-3042EE27B279" Win64="$(var.Property_Win64)">
<Condition>INSTALLDESKTOPSHORTCUT</Condition>
<Shortcut Id="sc_DesktopVBox" Directory="DesktopFolder" Name="$(env.VBOX_PRODUCT)" Description="$(env.VBOX_PRODUCT)"
Target="[INSTALLDIR]VirtualBox.exe" WorkingDirectory="INSTALLDIR"/>
<RegistryValue Root="HKCU" Key="$(var.Property_RegKeyInstall)" Type="string"
Value="installed" KeyPath="yes" />
</Component>
<Component Id="cp_QuickLaunchVBox" Guid="CC19E026-938A-41CB-8E77-3F33296244B6" Win64="$(var.Property_Win64)">
<CreateFolder/>
<Condition>INSTALLQUICKLAUNCHSHORTCUT</Condition>
<Shortcut Id="sc_QuickLaunchVBox" Directory="dir_QuicklaunchFolder" Name="$(env.VBOX_PRODUCT)" Description="$(env.VBOX_PRODUCT)"
Target="[INSTALLDIR]VirtualBox.exe" WorkingDirectory="INSTALLDIR"/>
<RegistryValue Root="HKCU" Key="$(var.Property_RegKeyInstall)"
Type="string" Value="installed" KeyPath="yes" />
</Component>
</Directory> <!-- TARGETDIR -->
<!-- Note: Feature IDs *must not* be renamed to use any prefixes or such,
otherwise this will break manual selection using the ADDLOCAL= syntax
when using the command line / scripts (see VBox manual). -->
<Feature Id="VBoxApplication" Title="VirtualBox Application" Level="1"
Description="!(loc.VB_App)"
ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand"
Absent="disallow">
<ComponentRef Id="cp_StartMenuVBox" />
<ComponentRef Id="cp_DesktopShortcut" />
<ComponentRef Id="cp_QuickLaunchVBox" />
<?if $(env.VBOX_WITH_DOCS_PACKING) = "yes" ?>
<ComponentRef Id="cp_Docs" />
<?endif?>
<ComponentRef Id="cp_NLS" />
<ComponentRef Id="cp_MainCOM" />
<ComponentRef Id="cp_MainBinaries" />
<?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
<ComponentRef Id="cp_QtAccessible" />
<?endif?>
<?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
<ComponentRef Id="cp_VBoxPyInst" />
<ComponentRef Id="cp_VBoxPyMod" />
<?endif?>
<?if $(env.VBOX_WITH_CROGL) = "yes" ?>
<ComponentRef Id="cp_VBoxCROpenGL" />
<?endif?>
<ComponentRef Id="cp_VBoxSDLBinaries" />
<?if $(env.VBOX_WITH_WEBSERVICES) = "yes" ?>
<ComponentRef Id="cp_VBoxWebService" />
<?endif?>
<ComponentRef Id="cp_VBoxDrv" />
<Feature Id="VBoxUSB" Title="VirtualBox USB Support" Level="1"
Description="!(loc.VB_USBDriver)"
ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
<ComponentRef Id="cp_USBFilterDriver" />
<ComponentRef Id="cp_USBDeviceDriver" />
</Feature>
<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
<Feature Id="VBoxNetwork" Title="VirtualBox Networking" Level="1"
Description="!(loc.VB_Network)"
ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
<Feature Id="VBoxNetworkFlt" Title="VirtualBox Bridged Networking" Level="1"
Description="!(loc.VB_NetFltDriver)"
ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
<ComponentRef Id="cp_NetFltDriver" />
</Feature>
<Feature Id="VBoxNetworkAdp" Title="VirtualBox Host-Only Networking" Level="1"
Description="!(loc.VB_NetAdpDriver)"
ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
<ComponentRef Id="cp_NetAdpDriver" />
</Feature>
</Feature>
<?endif?>
<?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
<Feature Id="VBoxPython" Title="VirtualBox Python 2.x Support" Level="1"
Description="!(loc.VB_Python)"
ConfigurableDirectory="INSTALLDIR" TypicalDefault="install" Display="expand" >
<ComponentRef Id="cp_VBoxPythonBinding" />
</Feature>
<?endif?>
</Feature>
<!-- Include user interface definition. -->
<?include UserInterface.wxi ?>
<InstallExecuteSequence>
<!-- AppSearch must be done before "RemoveExistingProducts" and before "FindRelatedProducts". -->
<AppSearch Sequence="1"></AppSearch>
<LaunchConditions After="AppSearch" />
<RemoveExistingProducts After="InstallValidate"><![CDATA[NEWERVERSIONDETECTED OR PREVIOUSVERSIONSINSTALLED]]></RemoveExistingProducts>
<Custom Action="ca_OriginalTargetDir" After="FileCost"><![CDATA[(NOT INSTALLDIR) AND (NOT EXISTINGINSTALLDIR)]]></Custom>
<Custom Action="ca_DefaultTargetDir" Before="FileCost" ><![CDATA[NOT Installed AND (NOT INSTALLDIR) AND EXISTINGINSTALLDIR]]></Custom>
<Custom Action="ca_UninstallTAPInstances" Before="InstallFiles" >1</Custom>
<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
<Custom Action="ca_CreateHostOnlyInterfaceArgs" Before="ca_CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
<Custom Action="ca_CreateHostOnlyInterface" Before="InstallFinalize" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
<Custom Action="ca_RemoveHostOnlyInterfaces" After="ca_UninstallNetFlt" ></Custom>
<Custom Action="ca_RollbackInstallNetFltArgs" Before="ca_RollbackInstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
<Custom Action="ca_RollbackInstallNetFlt" Before="ca_InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
<Custom Action="ca_InstallNetFltArgs" Before="ca_InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
<Custom Action="ca_InstallNetFlt" Before="ca_CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
<Custom Action="ca_RollbackUninstallNetFltArgs" Before="ca_RollbackUninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
<Custom Action="ca_RollbackUninstallNetFlt" Before="ca_UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
<Custom Action="ca_UninstallNetFltArgs" Before="ca_UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
<Custom Action="ca_UninstallNetFlt" After="InstallInitialize" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
<?endif?>
<Custom Action="ca_InstallPythonAPIArgs" Before="ca_InstallPythonAPI" ><![CDATA[&VBoxPython=3]]></Custom>
<Custom Action="ca_InstallPythonAPI" Before="InstallFinalize" ><![CDATA[&VBoxPython=3]]></Custom>
<Custom Action="ca_InstallBrandingArgs" Before="ca_InstallBranding" ><![CDATA[NOT REMOVE]]></Custom>
<Custom Action="ca_InstallBranding" Before="InstallFinalize" ><![CDATA[NOT REMOVE]]></Custom>
<Custom Action="ca_UninstallBrandingArgs" Before="ca_UninstallBranding" ><![CDATA[REMOVE]]></Custom>
<Custom Action="ca_UninstallBranding" Before="InstallFinalize" ><![CDATA[REMOVE]]></Custom>
</InstallExecuteSequence>
</Product>
</Wix>