2017-07-07 41 views
5

Próbuję dokonać instalator sterownika drukarki, używając WIXWIX instalator oparty na INF sterownika drukarki

mam

  • niektóre dll
  • a * .cat plik
  • a * .gdp złożyć
  • plik * .inf

Myślałam Abou t użycie INF do wdrożenia sterownika, ale nie wiem, jak go wdrożyć.

I siać this Question też, (prawdopodobnie duplikaty) , ale jako początkujący nie mogłem całkowicie zrozumieć, jak to zrobić.

Czy muszę skopiować te pliki DLL i inne pliki do odpowiednich folderów przez siebie i Zapisz rejestr. Czy jest to ich łatwy sposób użycia pliku INF do wykonania zadania przez silnik WIX? jeśli tak, czy ktoś może nauczyć mnie kroków, którymi powinienem podążać?


Próbowałem Kopiowanie wszystkie potrzebne pliki do folderu

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

i skompilowane z następującą komendę

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

Po zainstalowaniu, widzę to wymienione na „Programy i funkcje ", ale nie dodano do" Urządzeń i drukarek "jako drukarki.

Co przegapiłem?

Odpowiedz

1

Należy sprawdzić setupapi.dev.log lub setupapi.app.log.
Być może znasz kod błędu.
Można znaleźć dzienniki pod adresem % SystemRoot% \ inf.
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/setupapi-device-installation-log-entries


Czy to się uda, gdy używasz „Dodaj drukarkę” przycisk „Urządzenia i drukarki”?
Jeśli nie, powinieneś sprawdzić pakiet sterowników.
Można skopiować biblioteki DLL, aby korzystać z dyrektywy INF CopyFiles, i można zarejestrować biblioteki DLL, aby korzystać z dyrektywy INF RegisterDlls.

+0

Problem był w pliku * .inf, miał być podłączony identyfikator urządzenia. jednak zainstaluj za pomocą "panelu sterowania -> Dodaj drukarkę", nie wymaga identyfikatora urządzenia, nie ma powodu. ale dodanie prawidłowego identyfikatora urządzenia rozwiązało mój problem. Dziękuję za pomoc. – mhs