3

WDK と印刷ドライバー v4 で仮想印刷ドライバーを作成しようとしています。システムに仮想プリンターをインストールし、印刷時に独自の UI を表示したい - 理想的には .NET win または wpf フォーム。最終的に、仮想プリンターは Web サービスに接続し、UI に入力されたメタデータを含む XPS ファイルと XML をそこに送信します。

v4ドライバーを使用しようとしました。これまでのところ、Visual Studio 2013 でプリンター プロジェクトを変更しようとしました。これが私の inf ファイルです。

[Version]
Signature="$Windows NT$"
Class=Printer
ClassGuid={4D36E979-E325-11CE-BFC1-08002BE10318}
Provider=%ManufacturerName%
CatalogFile=MyV4PrintDriver.cat
ClassVer=4.0
DriverVer=08/01/2012,1.0.0.0

[DestinationDirs]
DefaultDestDir = 66000

[SourceDisksNames]
1 = %DiskName%,,,""

[SourceDisksFiles]
MyV4PrintDriver.gpd=1
MyV4PrintDriver-manifest.ini=1

[Manufacturer]
%ManufacturerName%=Standard,NT$ARCH$

[Standard.NT$ARCH$]
%PrinterName%=DriverInstall,,test_virtual_printer

[Strings]
ManufacturerName="My company"
PrinterName="Test print driver"
DiskName="MyV4PrintDriver Installation Disk"

[DriverInstall]
CopyFiles=DriverFiles

[DriverFiles]
MyV4PrintDriver.gpd
MyV4PrintDriver-manifest.ini

ドライバーを展開するテスト PC があります (HyperV の Win 8.1)。Visual Studio はデプロイ時にエラーを返します。残念ながら、C:\DriverTest\Logs のログ情報はあまり役に立ちません。「COM コンポーネントへの呼び出しからエラー HRESULT E_FAIL が返されました」と表示されます。

また、次のコマンドを実行してドライバーを手動でインストールしようとしました。

rundll32 printui.dll,PrintUIEntry /ia /f "D:\Driver\MyV4PrintDriver.inf" /m "Test print driver"

しかし、0x80004005 - 不明なエラーが表示されます。

ログ ファイル %windir%\inf\setupapi.* にもエラー メッセージは含まれていません。- Visual Studio によるデプロイの実行およびコマンドの実行によるログを含む zip はこちら

私の質問は次のとおりです。- INF ファイルの構文、特にハードウェア ID の部分は正しいですか? - 仮想プリンターをインストールしているため、HWID がありません。

[Standard.NT$ARCH$]
%PrinterName%=DriverInstall,,test_virtual_printer
  • ドライバー パッケージはテスト証明書で署名されていますが、実行中です

    signtool verify /v /c myv4printdriver.cab myv4printdriver.inf

「証明書チェーンは処理されましたが、信頼プロバイダーによって信頼されていないルート証明書で終了しました」というエラーが表示されます。私のテスト証明書は、信頼されたルート証明書のテスト マシンにインストールされています。

  • より適切なエラー メッセージを表示したり、問題に関する情報を見つけたりするには、どのログを有効/確認する必要がありますか、またはどのツールを使用する必要がありますか?
4

1 に答える 1

2

問題を解決するのに十分な情報が得られるかどうかはわかりませんが、SetupApi のログから詳細な情報が得られます。同様の問題がありました。ログは包括的ですが、今回は役に立ちませんでした。

いずれにせよ、いくつかのレジストリを有効にする必要があります。詳細については、こちらをご覧ください: - 申し訳ありませんが、投稿をもう一度お読みください。ログを見たようです。あなたの投稿から詳細設定を確認することはできません。そのため、SetupAPI ログが最も詳細に設定されているかどうかを確認して、追加情報を取得できるかどうかを確認してください。ここで設定を確認できます。

https://msdn.microsoft.com/en-us/library/windows/hardware/ff550808%28v=vs.85%29.aspx

基本的に、このレジストリの値を変更する必要があります。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\LogLevel

また、報告された最後のエラーから、これは v4 ドライバーであるため、Windows 8 の署名付きドライバー強制ルールが原因である可能性が高いと思われます。証明書をインストールして信頼する必要があります。そうでない場合、ドライバーのインストールに失敗します。

テスト目的で物事を機能させたいだけだと仮定すると、ここには2つのオプションがあり、次のいずれかを実行できます。

Bcdedit.exe -set TESTSIGNING ON

  • 使用している証明書をターゲット デバイスにインストールします
于 2015-03-19T16:10:45.007 に答える