3

作为概念证明,我正在尝试将虚拟 DLL 安装为共享的并行程序集。

我已经创建了一个带有嵌入式版本信息资源的 .dll,创建了清单和 .cat 文件,并使用了 sxs.dll 功能来 InstallAssembly() 但这个函数一直返回 0x800736FD (ERROR_SXS_UNTRANSLATABLE_HRESULT:An HRESULT 无法翻译成相应的 Win32 错误代码)。

(我已按照http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/90f09d5b-0c37-47a7-8ff1-11a16e691987的“第 1 部分”的步骤,从 6 月 15 日星期五发布, 2007 年 10:25 AM,严格遵循 MSDN http://msdn.microsoft.com/en-us/library/aa374228%28v=vs.85%29.aspx的说明

编辑:解决方案 我发现该代码在 Windows XP 上工作,但在 Vista 和 Windows 7 上失败并出现此错误。我已调试 sxs.dll 以发现 COM 函数返回错误 0x800401F0 (CO_E_NOTINITIALIZED:CoInitialize 尚未被调用.) 添加 CoInitialize(0) 后调用所有工作。

4

1 回答 1

2

这完全不能解决它,但 0x90092004 表示“找不到对象或属性” - 我通过以下方式找到了这个:

## This is from the Debugging Tools for Windows
C:\Debuggers\kd.exe -z C:\Windows\Notepad.exe  ## Can be any EXE/DLL
!error 0x90092004     ## Try this with any error code
于 2011-07-27T04:08:27.497 回答