我开发了一个 DLL 作为 RMS 服务器和他想以编程方式使用其服务的任何人之间的代理,该 DLL 工作得很好,但是当我想在 .Net Web 服务中使用这个 DLL 时出现问题,它在 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
选择 NOHASH
C:\\Users\\administrator\\Documents\\Visual Studio 2008\\Projects\\TestWBS
\\TestWBS\\bin\\RMSPROXY.dll
请求 NOHASH
%SYSTEMROOT%\\system32\\msdrm.dll
政策列表包容性公钥
C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin
\\isvtier5appsigningpubkey.dat
排除
笔记
- TestWBS.dll 是 Web 服务生成的 DLL
- RMSPROXY.dll 是已开发用作代理的 DLL
- 我将清单文件作为 base64 编码字符串传递给 RMSPROXY
- 我创建了 C# 控制台应用程序来使用 DLL,它工作得很好,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
政策列表包容性公钥
C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Bin
\\isvtier5appsigningpubkey.dat
排除
我知道问题出在清单中,但我不知道是什么以及在哪里。