如何安装非托管共享并行程序集

时间:2011-07-26 16:20:53

标签: windows side-by-side

作为概念验证,我试图将虚拟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)调用所有工作。

1 个答案:

答案 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