RMS サーバーと、そのサービスをプログラムで利用したい人の間でプロキシとして機能する DLL を開発しました。DLL は問題なく動作しますが、この DLL を .Net Web サービスで使用しようとすると、DRMInitEnvironment でエラーが発生します。エラーコードは0x8004930c
、マニフェスト違反エラーと関係があります。
マニフィストの構成は以下のようなものです
自動ガイド
C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin
\\isvtier5appsigningprivkey.dat
モジュールリスト要求ハッシュ
C:\\Users\\administrator\\Documents\\Visual Studio 2008\\Projects
\\TestWBS\\TestWBS\\bin\\TestWBS.dll
OPT NOHASH
C:\\Users\\administrator\\Documents\\Visual Studio 2008\\Projects\\TestWBS
\\TestWBS\\bin\\RMSPROXY.dll
REQ NOHASH
%SYSTEMROOT%\\system32\\msdrm.dll
POLICYLIST インクルージョン PUBLICKEY
C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin
\\isvtier5appsigningpubkey.dat
除外
ノート
- TestWBS.dll は、Web サービスによって生成された DLL です。
- RMSPROXY.dll は、プロキシとして機能するように開発された DLL です。
- マニフェスト ファイルを base64 でエンコードされた文字列として RMSPROXY に渡します
- DLL を使用する C# コンソール アプリケーションを作成したところ、問題なく動作し、C# アプリケーション マニフェストは次のようになります。
自動ガイド
C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin
\\isvtier5appsigningprivkey.dat
モジュールリスト要求ハッシュ
C:\\Users\\administrator\\Documents\\Visual Studio 2008\\Projects
\\testLibcClient\\testLibcClient\\bin\\Debug\\testLibcClient.exe
REQ NOHASH %SYSTEMROOT%\\system32\\msdrm.dll
POLICYLIST インクルージョン PUBLICKEY
C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin
\\isvtier5appsigningpubkey.dat
除外
問題がマニフェストにあることは知っていますが、何がどこにあるのかわかりません。