2017-07-07 3 views
5

Je suis en train de faire un installateur pour un pilote d'imprimante, utilisant WixWIX Installer une imprimante à base pilote INF

Je

  • certains Dlls
  • un fichier * .cat
  • a * .gdp fichier
  • un fichier * .inf

Je pensais abou t utiliser l'INF pour déployer le pilote mais ne pas savoir comment l'implémenter.

Je sème aussi this Question, (peut-être duplique) mais en tant que débutant je ne pouvais pas complètement comprendre comment le faire. J'ai besoin de copier ces DLL et d'autres fichiers dans les dossiers pertinents par mon auto et Write Registry. Ou est-ce leur moyen facile d'utiliser le fichier INF pour faire la tâche par le moteur de WIX? si c'est le cas, quelqu'un peut-il m'apprendre des pas que je devrais suivre?


I Tried Copier tous les fichiers nécessaires dans un dossier

<Component Id="PRNDRV_cat" Guid="{4fba0d21-64bb-458d-9b78-23aed7a39d14}" Directory = "PrinterFolder"> 
    <difx:Driver Legacy='yes' /> 
     <File Id="Catalog" Name="sielprndrv.cat" Source="Printer\prndrv.cat" /> 
     <File Id="DataBase" Name="SIELPRNDRV.gpd" Source="Printer\PRNDRV.gpd" /> 
     <File Id="Info" Name="SIELPRNDRV.inf" KeyPath="yes" Source="Printer\PRNDRV.inf" /> 
     <File Id="ini" Name="SIELPRNDRV.ini" Source="Printer\PRNDRV.ini" /> 
    </Component> 

Et compilé avec la commande suivante

candle -ext WixDifxAppExtension SielDrivers.wxs 
light -ext WixUIExtension -ext WixDifxAppExtension SielDrivers.wixobj difxapp_x64.wixlib -o Setup.msi 

Après l'installation, je peux le voir a énuméré les « Programmes et fonctionnalités ', mais n'a pas ajouté à «Périphériques et imprimantes» en tant qu'imprimante.

Qu'est-ce que j'ai raté?

Répondre

1

Vous devriez vérifier setupapi.dev.log ou setupapi.app.log.
Vous connaissez peut-être le code d'erreur.
Vous pouvez trouver les journaux à % SystemRoot% \ inf.
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/setupapi-device-installation-log-entries


Est-il réussir lorsque vous utilisez « Ajouter une imprimante » bouton dans « Périphériques et imprimantes »?
Sinon, vous devriez vérifier le package du pilote.
Vous pouvez copier des DLL pour utiliser la directive INF CopyFiles et enregistrer des DLL pour utiliser la directive INF RegisterDlls.

+0

Le problème était dans le fichier * .inf, il était supposé avoir un ID de périphérique de l'appareil connecté. Cependant installer en utilisant "Panneau de configuration -> Ajouter une imprimante", ne nécessite pas un identifiant de l'appareil, ne pas pourquoi. mais l'ajout de l'ID d'appareil correct a résolu mon problème. Merci pour l'aide. – mhs