win-pvdrivers

view installer.wxs @ 947:a05b13795cb2

storport calls StartIo even when the adapter fails to initialise. Make sure this doesn't crash.
author James Harper <james.harper@bendigoit.com.au>
date Mon Aug 22 23:14:01 2011 +1000 (2011-08-22)
parents 9c0c4210b778
children 3f3cc40cb3ae
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 <?if $(env._BUILDARCH) = AMD64 ?>
47 <Condition Message="Testsigning must be on for x64 when installing on Vista or newer.">
48 <![CDATA[(VersionNT < 600) OR (SYSTEMSTARTOPTIONS >< "TESTSIGNING")]]>
49 </Condition>
50 <?endif ?>
52 <Directory Id='TARGETDIR' Name='SourceDir'>
53 <Directory Id='ProgramFilesFolder' Name='PFiles'>
54 <Directory Id='XenProgramFilesDir' Name='Xen PV Drivers'>
55 <Directory Id='BinDir' Name='bin'>
56 <Component Id='ShutdownMon' Guid='BF8DC887-4B46-4e77-ACD3-125E8A2BAB8E'>
57 <File Id='shutdownmon.exe' Name='shutdownmon.exe' DiskId='1' Source='shutdownmon\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\shutdownmon.exe' />
58 </Component>
59 <?if $(env.DDK_TARGET_OS) != Win2K ?>
60 <Component Id='CopyConfig' Guid='C01F8A97-1410-41ce-A16E-76E6072FDFF8'>
61 <File Id='copyconfig.exe' Name='copyconfig.exe' DiskId='1' Source='copyconfig\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\copyconfig.exe' />
62 </Component>
63 <?endif ?>
64 </Directory>
65 <Directory Id='DocDir' Name='doc'>
66 <Component Id='Docs' Guid='C827FAD8-F459-42bf-9F77-921E04261B72'>
67 <File Id='Changelog.txt' Name='Changelog.txt' DiskId='1' Source='Changelog.txt' />
68 </Component>
69 </Directory>
70 <Directory Id='DriversDir' Name='drivers'>
71 <Directory Id='XenPciDir' Name='xenpci'>
72 <Component Id='XenPci' Guid='D6BB9B5F-61F9-4b6e-8FAD-289706F5EBEB'>
73 <File Id='xenpci.cat' Name='xenpci.cat' DiskId='1' Source='xenpci\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenpci.cat' />
74 <File Id='xenpci.inf' Name='xenpci.inf' DiskId='1' Source='xenpci\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenpci.inf' />
75 <File Id='xenpci.sys' Name='xenpci.sys' DiskId='1' Source='xenpci\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenpci.sys' />
76 <File Id='$(env.WDFFILENAME)' Name='$(env.WDFFILENAME)' DiskId='1' Source='xenpci\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\$(env.WDFFILENAME)' />
77 <difx:Driver Sequence='99' Legacy='yes' PlugAndPlayPrompt='no' ForceInstall='yes' />
78 </Component>
79 </Directory>
80 <Directory Id='XenVbdDir' Name='xenvbd'>
81 <Component Id='XenVbd' Guid='1F05DC54-974C-40f6-BF41-0EFDB3EBD1DC'>
82 <File Id='xenvbd.cat' Name='xenvbd.cat' DiskId='1' Source='xenvbd\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenvbd.cat' />
83 <File Id='xenvbd.inf' Name='xenvbd.inf' DiskId='1' Source='xenvbd\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenvbd.inf' />
84 <File Id='xenvbd.sys' Name='xenvbd.sys' DiskId='1' Source='xenvbd\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenvbd.sys' />
85 <difx:Driver Sequence='1' Legacy='yes' PlugAndPlayPrompt='no' ForceInstall='yes'/>
86 </Component>
87 </Directory>
88 <?if $(env.DDK_TARGET_OS) != Win2K ?>
89 <Directory Id='XenScsiDir' Name='xenscsi'>
90 <Component Id='XenScsi' Guid='47C9AB48-3A7D-42b2-AE2C-7F9235C8B7B4'>
91 <File Id='xenscsi.cat' Name='xenscsi.cat' DiskId='1' Source='xenscsi\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenscsi.cat' />
92 <File Id='xenscsi.inf' Name='xenscsi.inf' DiskId='1' Source='xenscsi\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenscsi.inf' />
93 <File Id='xenscsi.sys' Name='xenscsi.sys' DiskId='1' Source='xenscsi\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenscsi.sys' />
94 <difx:Driver Sequence='2' Legacy='yes' PlugAndPlayPrompt='no' ForceInstall='yes' />
95 </Component>
96 </Directory>
97 <?endif ?>
98 <Directory Id='XenNetDir' Name='xennet'>
99 <Component Id='XenNet' Guid='F16B1EC7-35B1-42c2-9017-22DC23D80BE7'>
100 <File Id='xennet.cat' Name='xennet.cat' DiskId='1' Source='xennet\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xennet.cat' />
101 <File Id='xennet.inf' Name='xennet.inf' DiskId='1' Source='xennet\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xennet.inf' />
102 <File Id='xennet.sys' Name='xennet.sys' DiskId='1' Source='xennet\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xennet.sys' />
103 <difx:Driver Sequence='3' Legacy='yes' PlugAndPlayPrompt='no' ForceInstall='yes' />
104 </Component>
105 </Directory>
106 <?if $(env.DDK_TARGET_OS) != Win2K ?>
107 <Directory Id='XenUsbDir' Name='xenusb'>
108 <Component Id='XenUsb' Guid='83746E68-DBCC-4feb-B521-09D5328D3BB0'>
109 <File Id='xenusb.cat' Name='xenusb.cat' DiskId='1' Source='xenusb\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenusb.cat' />
110 <File Id='xenusb.inf' Name='xenusb.inf' DiskId='1' Source='xenusb\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenusb.inf' />
111 <File Id='xenusb.sys' Name='xenusb.sys' DiskId='1' Source='xenusb\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\xenusb.sys' />
112 <!-- we deliberately use the file from xenpci so that wix can deduplicate it -->
113 <File Id='$(env.WDFFILENAME)_usb' Name='$(env.WDFFILENAME)' DiskId='1' Source='xenpci\obj$(env.BUILD_ALT_DIR)\$(var.ARCHDIR)\$(env.WDFFILENAME)' />
114 <difx:Driver Sequence='3' Legacy='yes' PlugAndPlayPrompt='no' ForceInstall='yes' />
115 </Component>
116 </Directory>
117 <?endif ?>
118 </Directory>
119 </Directory>
120 <Component Id='Cert' Guid='11112EC8-8635-45fb-9AE8-C22310F1E82D'>
121 <File Id='gplpv.cer' Name='gplpv.cer' DiskId='1' Source='gplpv.cer' />
122 <iis:Certificate Id='gplpv.cer_root' Name='gplpv.cer' Request='no' BinaryKey='gplpv.cer' StoreLocation='localMachine' StoreName='root' Overwrite='no' />
123 <iis:Certificate Id='gplpv.cer_trustedPublisher' Name='gplpv.cer' Request='no' BinaryKey='gplpv.cer' StoreLocation='localMachine' StoreName='trustedPublisher' Overwrite='no' />
124 </Component>
125 </Directory>
126 </Directory>
128 <Binary Id='gplpv.cer' SourceFile='gplpv.cer' />
130 <Feature Id='Cert' Title='Install Certificate' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
131 <ComponentRef Id='Cert' />
132 </Feature>
133 <Feature Id='Docs' Title='Install Docs' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='disallow'>
134 <ComponentRef Id='Docs' />
135 </Feature>
136 <Feature Id='Drivers' Title='Drivers' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
137 <Feature Id='XenPci' Title='XenPci Driver' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='disallow'>
138 <ComponentRef Id='XenPci' />
139 </Feature>
140 <Feature Id='XenVbd' Title='XenVbd Driver' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
141 <ComponentRef Id='XenVbd' />
142 </Feature>
143 <?if $(env.DDK_TARGET_OS) != Win2K ?>
144 <Feature Id='XenScsi' Title='XenScsi Driver' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
145 <ComponentRef Id='XenScsi' />
146 </Feature>
147 <?endif ?>
148 <Feature Id='XenNet' Title='XenNet Driver' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
149 <ComponentRef Id='XenNet' />
150 </Feature>
151 <?if $(env.DDK_TARGET_OS) != Win2K ?>
152 <Feature Id='XenUsb' Title='XenUsb Driver' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
153 <ComponentRef Id='XenUsb' />
154 </Feature>
155 <?endif ?>
156 </Feature>
157 <Feature Id='ShutdownMon' Title='Shutdown Monitor' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
158 <ComponentRef Id='ShutdownMon' />
159 </Feature>
160 <?if $(env.DDK_TARGET_OS) != Win2K ?>
161 <Feature Id='CopyConfig' Title='Copy Network Config' Level='1' AllowAdvertise='no' InstallDefault='local' Absent='allow'>
162 <ComponentRef Id='CopyConfig' />
163 </Feature>
164 <?endif ?>
166 <InstallExecuteSequence>
167 <ScheduleReboot After='InstallFinalize' />
168 <Custom Action='UnInstallShutdownMonService' Before='StopServices'>$ShutdownMon=2</Custom>
169 <Custom Action='InstallShutdownMonService' After='StartServices'>$ShutdownMon>2</Custom>
170 <?if $(env.DDK_TARGET_OS) != Win2K ?>
171 <Custom Action='WaitForDevices' After='MsiProcessDrivers'>1</Custom>
172 <Custom Action='WaitNoPendingInstallEvents' After='WaitForDevices'>1</Custom>
173 <Custom Action='CopyConfig' After='WaitNoPendingInstallEvents'>$CopyConfig>2</Custom>
174 <?endif?>
175 </InstallExecuteSequence>
176 </Product>
177 </Wix>