-
-
Notifications
You must be signed in to change notification settings - Fork 11
/
xenvif.wxs
81 lines (73 loc) · 3.21 KB
/
xenvif.wxs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'
xmlns:difx='http://schemas.microsoft.com/wix/DifxAppExtension'>
<?if $(env.DDK_ARCH) = x64 ?>
<?define PFILESDIR = ProgramFiles64Folder ?>
<?define SYSDIR = System64Folder ?>
<?else?>
<?define PFILESDIR = ProgramFilesFolder ?>
<?define SYSDIR = SystemFolder ?>
<?endif ?>
<Module
Id='XenVif'
Language='1033'
Codepage='1252'
Version='$(env.VERSION)'
>
<Package
Id='{6647F075-99F6-400F-AB5F-FD93452F1DC8}'
Description='Xen Paravitual Network Class Driver'
Manufacturer='Invisible Things Lab'
InstallScope='perMachine'
InstallerVersion='200'
Languages='1033'
SummaryCodepage='1252'
InstallPrivileges='elevated'
/>
<Configuration
Name='ProductFolder'
Format='Key'
Type='Identifier'
DefaultValue='QubesProgramFilesDir'
Description='Installation directory'
DisplayName='Installation directory'
/>
<Substitution Table='Directory' Column='Directory_Parent' Row='DriversDir' Value='[=ProductFolder]'/>
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id='$(var.PFILESDIR)'>
<Directory Id='ITLProgramFilesDir' Name='Invisible Things Lab'>
<Directory Id='QubesProgramFilesDir' Name='Qubes Tools'>
<Directory Id='DriversDir' Name='Drivers'>
<Directory Id='XenvifDir' Name='xenvif'>
<Component Id='XenvifDriver' Guid='{90BC2F5A-7414-4FF6-96E4-5789DDB1AECF}'>
<File Id='XenvifInf' Source='xenvif\xenvif\$(env.DDK_ARCH)\xenvif.inf' KeyPath='yes' />
<File Id='XenvifCat' Source='xenvif\xenvif\$(env.DDK_ARCH)\xenvif.cat' />
<File Id='XenvifSys' Source='xenvif\xenvif\$(env.DDK_ARCH)\xenvif.sys' />
<File Id='XenvifCoinst' Source='xenvif\xenvif\$(env.DDK_ARCH)\xenvif_coinst.dll' />
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
<!-- Cannot use difx:Driver element because it requires difx lib linked with
this module, which causes conflict with any other merge module using that.
This basically means that only one merge module can use the DIFx extension
(see http://wixtoolset.org/issues/1876/).
But this also means that the final MSI will already have all necessary steps to
install the drivers (as long as one of the merge modules does use DIFx).
So just append our driver to the MsiDriverPackage table, to be also installed. -->
<!-- Table schema here: http://msdn.microsoft.com/en-us/library/windows/hardware/ff549362%28v=vs.85%29.aspx -->
<CustomTable Id="MsiDriverPackages">
<Column Id="Component" Modularize="Column" Nullable="no" Type="string" Width="255" Description="An identifier that represents a driver package" PrimaryKey="yes"/>
<Column Id="Flags" Nullable="no" Type="int" Width="4" Description="DIFxApp configuration flags"/>
<Column Id="Sequence" Nullable="yes" Type="int" Width="4" Description="Installation sequence number"/>
<Row>
<Data Column="Component">XenvifDriver</Data>
<Data Column="Flags">15</Data>
<Data Column="Sequence">4</Data>
</Row>
</CustomTable>
</Module>
</Wix>