Comment puis-je utiliser Wix pour déployer un pilote USB à base INF
Question
Cette question pourrait être considérée comme un double de:
Comment déployer un pilote basé .inf?
Sauf que je veux faire tout à l'installateur, pas avec un programme distinct.
Il est censé être un exemple téléchargeable ici: http://msdn.microsoft.com/en-us/library/dd163212. aspx
Mais il n'y a pas de lien de téléchargement sur cette page.
La structure du pilote est très simple, il suffit qu'INF et un sys. Je l'ai essayé ceci:
<Directory Id='SystemFolder' Name='System32'>
<Directory Id='DriversFolder' Name='Drivers'/>
</Directory>
...
<DirectoryRef Id="DriversFolder">
<Driver Id="cyusb" Guid="*">
<File Id="cyusb.inf" Source="..\Includes\cyusb.inf" />
</Driver>
<Driver Id="cyusb_sys" Guid="*">
<File Id="cyusb.sys" Source="..\Includes\cyusb.sys" />
</Driver>
</DirectoryRef>
avec le « wixdifxappextension.dll » et difxapp_x86 inclus à la fois comme des références à mon projet, et l'étiquette « conducteur » n'est pas reconnu. Si j'utilise « composant » au lieu de « conducteur », le fichier résultant est pas réellement reconnu comme un pilote, et je dois faire une installation manuelle.
Qu'est-ce que je fais mal ici? Ou vais-je écrire encore un autre programme pour faire ce travail d'installation? Ceci est en Wix 3.0.
La solution
D'après le manuel, <Driver>
devrait être sous <Component>
, et votre Wix devrait ressembler à:
<DirectoryRef Id="DriversFolder" FileSource="..\Includes\">
<Component Id="MyDriver" Guid="[PUT GUID]">
<Driver Legacy='yes' />
<File Id="cyusb.inf" Vital="yes" />
<File Id="cyusb.sys" Vital="yes" />
</Component>
</DirectoryRef>
Plus d'informations blog de ce type