3

概念実証として、ダミー DLL を共有サイド バイ サイド アセンブリとしてインストールしようとしています。

埋め込みバージョン情報リソースで .dll を作成し、マニフェストと .cat ファイルを作成し、InstallAssembly() に sxs.dll 機能を使用しましたが、この関数は 0x800736FD (ERROR_SXS_UNTRANSLATABLE_HRESULT:HRESULT を対応する Win32 エラー コードに変換できませんでした) を返し続けました。 )。

(私はhttp://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/90f09d5b-0c37-47a7-8ff1-11a16e691987の「パート 1」の手順に従いました。 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 に答える