How to install unmanaged shared side-by-side assembly

3

As a proof of concept I am trying to install dummy DLL as a shared side-by-side assembly.

I have created a .dll vith embedded version info resource, created manifest and .cat file, and used sxs.dll functionality to InstallAssembly() but this function kept returning 0x800736FD (ERROR_SXS_UNTRANSLATABLE_HRESULT:An HRESULT could not be translated to a corresponding Win32 error code).

(I have followed steps from "Part 1" of http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/90f09d5b-0c37-47a7-8ff1-11a16e691987 , post from Friday, June 15, 2007 10:25 AM, which closely follow instructions from MSDN http://msdn.microsoft.com/en-us/library/aa374228%28v=vs.85%29.aspx)

EDIT: solution I have found out that the code does work on Windows XP but fails with this error on Vista and Windows 7. I have debugged sxs.dll to find out that COM function is returning error 0x800401F0 (CO_E_NOTINITIALIZED:CoInitialize has not been called.) After adding CoInitialize(0) call all works.

windows
side-by-side
asked on Stack Overflow Jul 26, 2011 by Ondrej Kolacek • edited Aug 2, 2011 by Ondrej Kolacek

1 Answer

2

This totally doesn't solve it, but 0x90092004 means "Cannot find Object or Property" - I found this by:

## 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
answered on Stack Overflow Jul 27, 2011 by Ana Betts

User contributions licensed under CC BY-SA 3.0