win-pvdrivers

view installer.wxs @ 1075:5e8aeb18279c

Add export methods to retrieve and set the hypercall stubs for the dump_xenpci driver
author James Harper <james.harper@bendigoit.com.au>
date Mon Dec 09 13:30:14 2013 +1100 (2013-12-09)
parents 9dbd45b40726
children 85b99b9795a6
line source
1 <?xml version='1.0' encoding='windows-1252'?>
2 <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' xmlns:difx='http://schemas.microsoft.com/wix/DifxAppExtension' xmlns:iis='http://schemas.microsoft.com/wix/IIsExtension'>
3 <?if $(env._BUILDARCH) = x86 ?>
4 <?define ARCHDIR = i386 ?>
5 <?elseif $(env._BUILDARCH) = AMD64 ?>
6 <?define ARCHDIR = amd64 ?>
7 <?endif ?>
9 <Product Name='GPL PV Drivers for Windows' Id='*'
10 UpgradeCode='4EDE5DEC-3208-4a1e-8E52-DAC44F7D7062'
11 Language='1033' Codepage='1252' Version='$(env.GPLPV_VERSION)' Manufacturer='James Harper'>
13 <Package Id='*' Keywords='Installer' Description="GPL PV Drivers for Windows"
14 Comments='no comment' Manufacturer='James Harper'
15 InstallerVersion='100' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
17 <WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
19 <UI>
20 <UIRef Id="WixUI_Mondo" />
21 <UIRef Id="WixUI_ErrorProgressText" />
22 </UI>
24 <Media Id='1' Cabinet='gplpv.cab' EmbedCab='yes' />
26 <?if $(env.DDK_TARGET_OS) != Win2K ?>
27 <Binary Id='waitfordevices.vbs' SourceFile='waitnopendinginstallevents\waitfordevices.vbs'/>
28 <Binary Id='waitnopendinginstallevents.exe' SourceFile='waitnopendinginstallevents\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\waitnopendinginstallevents.exe'/>
29 <?endif?>
30 <CustomAction Id='InstallShutdownMonService' FileKey='shutdownmon.exe' ExeCommand='-i' Execute='deferred' Return='check'/>
31 <CustomAction Id='UnInstallShutdownMonService' FileKey='shutdownmon.exe' ExeCommand='-u' Execute='deferred' Return='check' Impersonate='no'/>
32 <?if $(env.DDK_TARGET_OS) != Win2K ?>
33 <CustomAction Id='WaitForDevices' BinaryKey='waitfordevices.vbs' VBScriptCall='DoWaitForDevices' Execute='deferred' Return='check' Impersonate='no'/>
34 <CustomAction Id='WaitNoPendingInstallEvents' BinaryKey='waitnopendinginstallevents.exe' ExeCommand='300000' Execute='deferred' Return='check' Impersonate='no'/>
35 <CustomAction Id='CopyConfig' FileKey='copyconfig.exe' ExeCommand='' Execute='deferred' Return='check' Impersonate='no'/>
36 <?endif?>
38 <Property Id="SYSTEMSTARTOPTIONS">
39 <RegistrySearch Id="SystemStartOptions"
40 Root="HKLM"
41 Key="SYSTEM\CurrentControlSet\Control"
42 Name="SystemStartOptions"
43 Type="raw" />
44 </Property>
46 <?ifdef env.CERT_PUBLIC_FILENAME?>
47 <?if $(env._BUILDARCH) = AMD64?>
48 <Condition Message="Testsigning must be on for x64 when installing on Vista or newer.">
49 <![CDATA[(VersionNT < 600) OR (SYSTEMSTARTOPTIONS >< "TESTSIGNING")]]>
50 </Condition>
51 <?endif ?>
52 <?endif ?>
54 <Directory Id='TARGETDIR' Name='SourceDir'>
55 <Directory Id='ProgramFilesFolder' Name='PFiles'>
56 <Directory Id='XenProgramFilesDir' Name='Xen PV Drivers'>
57 <Directory Id='BinDir' Name='bin'>
58 <Component Id='ShutdownMon' Guid='BF8DC887-4B46-4e77-ACD3-125E8A2BAB8E'>
59 <File Id='shutdownmon.exe' Name='shutdownmon.exe' DiskId='1' Source='shutdownmon\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\shutdownmon.exe' />
60 </Component>
61 <?if $(env.DDK_TARGET_OS) != Win2K ?>
62 <Component Id='CopyConfig' Guid='C01F8A97-1410-41ce-A16E-76E6072FDFF8'>
63 <File Id='copyconfig.exe' Name='copyconfig.exe' DiskId='1' Source='copyconfig\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\copyconfig.exe' />
64 </Component>
65 <?endif ?>
66 </Directory>
67 <Directory Id='DocDir' Name='doc'>
68 <Component Id='Docs' Guid='C827FAD8-F459-42bf-9F77-921E04261B72'>
69 <File Id='Changelog.txt' Name='Changelog.txt' DiskId='1' Source='Changelog.txt' />
70 </Component>
71 </Directory>
72 <Directory Id='DriversDir' Name='drivers'>
73 <Directory Id='XenPciDir' Name='xenpci'>
74 <Component Id='XenPci' Guid='D6BB9B5F-61F9-4b6e-8FAD-289706F5EBEB'>
75 <File Id='xenpci.cat' Name='xenpci.cat' DiskId='1' Source='xenpci\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenpci.cat' />
76 <File Id='xenpci.inf' Name='xenpci.inf' DiskId='1' Source='xenpci\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenpci.inf' />
77 <File Id='xenpci.sys' Name='xenpci.sys' DiskId='1' Source='xenpci\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenpci.sys' />
78 <File Id='$(env.WDFFILENAME)' Name='$(env.WDFFILENAME)' DiskId='1' Source='xenpci\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\$(env.WDFFILENAME)' />
79 <difx:Driver Sequence='99' Legacy='yes' PlugAndPlayPrompt='no' ForceInstall='yes' />
80 </Component>
81 </Directory>
82 <?if $(env.DDK_TARGET_OS) = Win2K OR $(env.DDK_TARGET_OS) = WinXP OR $(env.DDK_TARGET_OS) = WinNET ?>
83 <Directory Id='XenVbdDir' Name='xenvbd'>
84 <Component Id='XenVbd' Guid='1F05DC54-974C-40f6-BF41-0EFDB3EBD1DC'>
85 <File Id='xenvbd.cat' Name='xenvbd.cat' DiskId='1' Source='xenvbd_scsiport\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenvbd.cat' />
86 <File Id='xenvbd.inf' Name='xenvbd.inf' DiskId='1' Source='xenvbd_scsiport\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenvbd.inf' />
87 <File Id='xenvbd.sys' Name='xenvbd.sys' DiskId='1' Source='xenvbd_scsiport\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenvbd.sys' />
88 <File Id='xenvbdfilter.sys' Name='xenvbdfilter.sys' DiskId='1' Source='xenvbd_scsiport\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenvbdfilter.sys' />
89 <difx:Driver Sequence='1' Legacy='yes' PlugAndPlayPrompt='no' ForceInstall='yes'/>
90 </Component>
91 </Directory>
92 <?else ?>
93 <Directory Id='XenVbdDir' Name='xenvbd'>
94 <Component Id='XenVbd' Guid='1F05DC54-974C-40f6-BF41-0EFDB3EBD1DC'>
95 <File Id='xenvbd.cat' Name='xenvbd.cat' DiskId='1' Source='xenvbd_storport\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenvbd.cat' />
96 <File Id='xenvbd.inf' Name='xenvbd.inf' DiskId='1' Source='xenvbd_storport\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenvbd.inf' />
97 <File Id='xenvbd.sys' Name='xenvbd.sys' DiskId='1' Source='xenvbd_storport\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenvbd.sys' />
98 <difx:Driver Sequence='1' Legacy='yes' PlugAndPlayPrompt='no' ForceInstall='yes'/>
99 </Component>
100 </Directory>
101 <?endif ?>
102 <?if $(env.DDK_TARGET_OS) != Win2K ?>
103 <Directory Id='XenScsiDir' Name='xenscsi'>
104 <Component Id='XenScsi' Guid='47C9AB48-3A7D-42b2-AE2C-7F9235C8B7B4'>
105 <File Id='xenscsi.cat' Name='xenscsi.cat' DiskId='1' Source='xenscsi\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenscsi.cat' />
106 <File Id='xenscsi.inf' Name='xenscsi.inf' DiskId='1' Source='xenscsi\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenscsi.inf' />
107 <File Id='xenscsi.sys' Name='xenscsi.sys' DiskId='1' Source='xenscsi\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenscsi.sys' />
108 <difx:Driver Sequence='2' Legacy='yes' PlugAndPlayPrompt='no' ForceInstall='yes' />
109 </Component>
110 </Directory>
111 <?endif ?>
112 <Directory Id='XenNetDir' Name='xennet'>
113 <Component Id='XenNet' Guid='F16B1EC7-35B1-42c2-9017-22DC23D80BE7'>
114 <File Id='xennet.cat' Name='xennet.cat' DiskId='1' Source='xennet\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xennet.cat' />
115 <File Id='xennet.inf' Name='xennet.inf' DiskId='1' Source='xennet\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xennet.inf' />
116 <File Id='xennet.sys' Name='xennet.sys' DiskId='1' Source='xennet\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xennet.sys' />
117 <difx:Driver Sequence='3' Legacy='yes' PlugAndPlayPrompt='no' ForceInstall='yes' />
118 </Component>
119 </Directory>
120 <?if $(env.DDK_TARGET_OS) != Win2K ?>
121 <Directory Id='XenUsbDir' Name='xenusb'>
122 <Component Id='XenUsb' Guid='83746E68-DBCC-4feb-B521-09D5328D3BB0'>
123 <File Id='xenusb.cat' Name='xenusb.cat' DiskId='1' Source='xenusb\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenusb.cat' />
124 <File Id='xenusb.inf' Name='xenusb.inf' DiskId='1' Source='xenusb\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenusb.inf' />
125 <File Id='xenusb.sys' Name='xenusb.sys' DiskId='1' Source='xenusb\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenusb.sys' />
126 <!-- we deliberately use the file from xenpci so that wix can deduplicate it -->
127 <File Id='$(env.WDFFILENAME)_usb' Name='$(env.WDFFILENAME)' DiskId='1' Source='xenpci\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\$(env.WDFFILENAME)' />
128 <difx:Driver Sequence='3' Legacy='yes' PlugAndPlayPrompt='no' ForceInstall='yes' />
129 </Component>
130 </Directory>
131 <?endif ?>
132 </Directory>
133 </Directory>
134 <?ifdef env.CERT_PUBLIC_FILENAME?>
135 <Component Id='Cert' Guid='11112EC8-8635-45fb-9AE8-C22310F1E82D'>
136 <File Id='$(env.CERT_PUBLIC_FILENAME)' Name='$(env.CERT_PUBLIC_FILENAME)' DiskId='1' Source='$(env.CERT_PUBLIC_FILENAME)' />
137 <iis:Certificate Id='$(env.CERT_PUBLIC_FILENAME)_root' Name='$(env.CERT_PUBLIC_FILENAME)' Request='no' BinaryKey='$(env.CERT_PUBLIC_FILENAME)' StoreLocation='localMachine' StoreName='root' Overwrite='no' />
138 <iis:Certificate Id='$(env.CERT_PUBLIC_FILENAME)_trustedPublisher' Name='$(env.CERT_PUBLIC_FILENAME)' Request='no' BinaryKey='$(env.CERT_PUBLIC_FILENAME)' StoreLocation='localMachine' StoreName='trustedPublisher' Overwrite='no' />
139 </Component>
140 <?endif ?>
141 </Directory>
142 </Directory>
144 <?ifdef env.CERT_PUBLIC_FILENAME?>
145 <Binary Id='$(env.CERT_PUBLIC_FILENAME)' SourceFile='$(env.CERT_PUBLIC_FILENAME)' />
146 <?endif ?>
148 <?ifdef env.CERT_PUBLIC_FILENAME?>
149 <Feature Id='Cert' Title='Install Certificate' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
150 <ComponentRef Id='Cert' />
151 </Feature>
152 <?endif ?>
153 <Feature Id='Docs' Title='Install Docs' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='disallow'>
154 <ComponentRef Id='Docs' />
155 </Feature>
156 <Feature Id='Drivers' Title='Drivers' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
157 <Feature Id='XenPci' Title='XenPci Driver' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='disallow'>
158 <ComponentRef Id='XenPci' />
159 </Feature>
160 <Feature Id='XenVbd' Title='XenVbd Driver' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
161 <ComponentRef Id='XenVbd' />
162 </Feature>
163 <?if $(env.DDK_TARGET_OS) != Win2K ?>
164 <Feature Id='XenScsi' Title='XenScsi Driver' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
165 <ComponentRef Id='XenScsi' />
166 </Feature>
167 <?endif ?>
168 <Feature Id='XenNet' Title='XenNet Driver' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
169 <ComponentRef Id='XenNet' />
170 </Feature>
171 <?if $(env.DDK_TARGET_OS) != Win2K ?>
172 <Feature Id='XenUsb' Title='XenUsb Driver' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
173 <ComponentRef Id='XenUsb' />
174 </Feature>
175 <?endif ?>
176 </Feature>
177 <Feature Id='ShutdownMon' Title='Shutdown Monitor' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
178 <ComponentRef Id='ShutdownMon' />
179 </Feature>
180 <?if $(env.DDK_TARGET_OS) != Win2K ?>
181 <Feature Id='CopyConfig' Title='Copy Network Config' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
182 <ComponentRef Id='CopyConfig' />
183 </Feature>
184 <?endif ?>
186 <InstallExecuteSequence>
187 <ScheduleReboot After='InstallFinalize' />
188 <Custom Action='UnInstallShutdownMonService' Before='StopServices'>$ShutdownMon=2</Custom>
189 <Custom Action='InstallShutdownMonService' After='StartServices'>$ShutdownMon>2</Custom>
190 <?if $(env.DDK_TARGET_OS) != Win2K ?>
191 <Custom Action='WaitForDevices' After='MsiProcessDrivers'>1</Custom>
192 <Custom Action='WaitNoPendingInstallEvents' After='WaitForDevices'>1</Custom>
193 <Custom Action='CopyConfig' After='WaitNoPendingInstallEvents'>$CopyConfig>2</Custom>
194 <?endif?>
195 </InstallExecuteSequence>
196 </Product>
197 </Wix>