作为概念验证,我试图将虚拟DLL安装为共享的并排程序集。
我创建了一个.dll vith嵌入式版本信息资源,创建了清单和.cat文件,并使用了sxs.dll功能来安装InstallAssembly()但是这个函数保持返回0x800736FD(ERROR_SXS_UNTRANSLATABLE_HRESULT:HRESULT无法转换为相应的Win32错误代码)。
(我已按照http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/90f09d5b-0c37-47a7-8ff1-11a16e691987的“第1部分”中的步骤进行操作,发布于2007年6月15日星期五上午10:25,紧跟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)调用所有工作。
答案 0 :(得分: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