2009-07-29 8 views
13

Esta pregunta podría ser considerado un duplicado de:¿Cómo se utiliza WiX para desplegar un controlador USB basada en INF

How do I deploy a .inf based driver?

Excepto que yo quiero hacer eso en su totalidad en el instalador, no con una separada programa.

No se supone que es un ejemplo descargable aquí: http://msdn.microsoft.com/en-us/library/dd163212.aspx

Pero no hay enlace de descarga en esa página.

La estructura del controlador es muy simple, solo un inf y un sistema. He intentado esto:

<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> 

con el 'wixdifxappextension.dll' y difxapp_x86 ambos incluidos como referencias a mi proyecto, y la etiqueta de 'conductor' no se reconoce . Si utilizo 'componente' en lugar de 'controlador', entonces el archivo resultante no se reconoce realmente como un controlador, y tengo que hacer una instalación manual.

¿Qué estoy haciendo mal aquí? ¿O tendré que escribir otro programa más para que este instalador funcione? Esto está en Wix 3.0.

Respuesta

9

De acuerdo con la manual <Driver> debe estar bajo <Component>, su Wix debería ser algo así como:

<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> 

Más información de this guy blog

Cuestiones relacionadas