VirtualBox

source: vbox/trunk/src/VBox/Installer/win/VBoxMergeNetFlt.wxs@ 51009

Last change on this file since 51009 was 51009, checked in by vboxsync, 11 years ago

Windows host installer: Added merge module (msm) support.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 7.6 KB
Line 
1<?xml version="1.0"?>
2<!--
3 VirtualBox Windows Installation Script (WiX)
4
5 Copyright (C) 2006-2014 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<?include Properties.wxi ?>
17
18<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
19 xmlns:difxapp="http://schemas.microsoft.com/wix/DifxAppExtension">
20
21 <Module Id="msm_VBoxNetworkFlt"
22 Language="!(loc.LANG)"
23 Version="$(var.Property_Version)">
24
25 <Package Id="687c000b-c74b-4336-a449-dd8b3c6a060e"
26 Keywords="Installer, Setup"
27 Description="$(env.VBOX_PRODUCT) $(var.Property_VersionExt) NetFlt installation package"
28 Comments="$(env.VBOX_PRODUCT) NetFlt installation package"
29 Manufacturer="$(env.VBOX_VENDOR)"
30 InstallerVersion="200"
31 AdminImage="yes"
32 InstallPrivileges="elevated"
33 Platform="$(var.Property_Platform)"
34 SummaryCodepage="1252"/>
35
36 <!-- Custom actions -->
37 <Binary Id="VBoxInstallHelper" SourceFile="$(env.PATH_OUT)\bin\VBoxInstallHelper.dll" />
38<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
39 <CustomAction Id="ca_CreateHostOnlyInterface" BinaryKey="VBoxInstallHelper" DllEntry="CreateHostOnlyInterface" Execute="deferred" Return="check" Impersonate="no"/>
40 <CustomAction Id="ca_CreateHostOnlyInterfaceArgs" Property="ca_CreateHostOnlyInterface" Value="[INSTALLDIR]" Execute="immediate"/>
41
42 <CustomAction Id="ca_RemoveHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="RemoveHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
43 <CustomAction Id="ca_StopHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="StopHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
44
45 <CustomAction Id="ca_UpdateHostOnlyInterfaces" BinaryKey="VBoxInstallHelper" DllEntry="UpdateHostOnlyInterfaces" Execute="deferred" Return="check" Impersonate="no"/>
46 <CustomAction Id="ca_UpdateHostOnlyInterfacesArgs" Property="ca_UpdateHostOnlyInterfaces" Value="[INSTALLDIR]" Execute="immediate"/>
47
48 <CustomAction Id="ca_InstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
49 <CustomAction Id="ca_InstallNetFltArgs" Property="ca_InstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
50
51 <CustomAction Id="ca_RollbackInstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="rollback" Impersonate="no"/>
52 <CustomAction Id="ca_RollbackInstallNetFltArgs" Property="ca_RollbackInstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
53
54 <CustomAction Id="ca_UninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="UninstallNetFlt" Execute="deferred" Return="check" Impersonate="no"/>
55 <CustomAction Id="ca_UninstallNetFltArgs" Property="ca_UninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
56
57 <CustomAction Id="ca_RollbackUninstallNetFlt" BinaryKey="VBoxInstallHelper" DllEntry="InstallNetFlt" Execute="rollback" Impersonate="no"/>
58 <CustomAction Id="ca_RollbackUninstallNetFltArgs" Property="ca_RollbackUninstallNetFlt" Value="[INSTALLDIR]" Execute="immediate"/>
59<?endif ?>
60
61 <!-- Here comes the file/directory list -->
62 <Directory Id="TARGETDIR" Name="SourceDir">
63 <Directory Id="MergeRedirectFolder" FileSource=".">
64 <!-- Device driver directory -->
65 <Directory Id="dir_Drivers" Name="drivers">
66<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
67 <Directory Id="dir_Network" Name="network">
68 <Directory Id="dir_NetFlt" Name="netflt">
69 <Component Id="cp_NetFltDriver" Guid="F0A02F6B-A349-42f8-A2EB-569DCAAAF846" Win64="$(var.Property_Win64)">
70 <File Id="file_VBoxNetFlt.sys" Name="VBoxNetFlt.sys" KeyPath="yes"
71 Source="$(env.PATH_OUT)\bin\VBoxNetFlt.sys" Checksum="yes"/>
72 <File Id="file_VBoxNetFltNobj.sys" Name="VBoxNetFltNobj.dll"
73 Source="$(env.PATH_OUT)\bin\VBoxNetFltNobj.dll" Checksum="yes"/>
74 <File Id="file_VBoxNetFltM.inf" Name="VBoxNetFltM.inf"
75 Source="$(env.PATH_OUT)\bin\VBoxNetFltM.inf" />
76 <File Id="file_VBoxNetFlt.inf" Name="VBoxNetFlt.inf"
77 Source="$(env.PATH_OUT)\bin\VBoxNetFlt.inf" />
78<?if $(env.VBOX_SIGNING_MODE) != none ?>
79 <File Id="file_VBoxNetFlt.cat" Name="VBoxNetFlt.cat"
80 Source="$(env.PATH_OUT)\bin\VBoxNetFlt.cat" />
81<?endif ?>
82 </Component>
83 </Directory>
84 </Directory>
85<?endif ?>
86 </Directory> <!-- Directory "drivers" -->
87 </Directory> <!-- MergeRedirectFolder -->
88 </Directory> <!-- TARGETDIR -->
89
90 <InstallExecuteSequence>
91<?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
92 <!-- Create host-only interfaces on first-time install. -->
93 <Custom Action="ca_CreateHostOnlyInterfaceArgs" Before="ca_CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
94 <Custom Action="ca_CreateHostOnlyInterface" Before="InstallFinalize" ><![CDATA[&VBoxNetworkAdp=3]]></Custom>
95 <!-- Don't remove the host-only interfaces on update, only on uninstall. -->
96 <Custom Action="ca_RemoveHostOnlyInterfaces" After="ca_UninstallNetFlt" ><![CDATA[(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")]]></Custom>
97 <!-- First stop the existing host-only interfaces on update ... -->
98 <Custom Action="ca_StopHostOnlyInterfaces" Before="ca_UpdateHostOnlyInterfaces" ><![CDATA[UPGRADINGPRODUCTCODE]]></Custom>
99 <!-- ... then do the actual driver update. -->
100 <Custom Action="ca_UpdateHostOnlyInterfacesArgs" Before="ca_UpdateHostOnlyInterfaces" ><![CDATA[Installed AND UPGRADINGPRODUCTCODE]]></Custom>
101 <Custom Action="ca_UpdateHostOnlyInterfaces" Before="InstallFiles" ><![CDATA[Installed AND UPGRADINGPRODUCTCODE]]></Custom>
102
103 <Custom Action="ca_RollbackInstallNetFltArgs" Before="ca_RollbackInstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
104 <Custom Action="ca_RollbackInstallNetFlt" Before="ca_InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
105 <Custom Action="ca_InstallNetFltArgs" Before="ca_InstallNetFlt" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
106 <Custom Action="ca_InstallNetFlt" Before="ca_CreateHostOnlyInterface" ><![CDATA[&VBoxNetworkFlt=3]]></Custom>
107
108 <Custom Action="ca_RollbackUninstallNetFltArgs" Before="ca_RollbackUninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
109 <Custom Action="ca_RollbackUninstallNetFlt" Before="ca_UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
110 <Custom Action="ca_UninstallNetFltArgs" Before="ca_UninstallNetFlt" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
111 <Custom Action="ca_UninstallNetFlt" After="InstallInitialize" ><![CDATA[&VBoxNetworkFlt=2]]></Custom>
112<?endif?>
113 </InstallExecuteSequence>
114
115 </Module>
116</Wix>
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette