1

innosetup インストール (setup.exe) を作成するアプリケーションがあります。20 個の COM dll が正常に登録されます。そうでないものがあります。

regsvr32 (管理者として実行) が 0x3 エラーを報告します。しかし、欠落している DLL を見つけるにはどうすればよいでしょうか。regsvr が動作する別のコンピューターがあります。(どちらもwin7 64ビットコンピューターで、ほとんど同じです)。

DLL (vpfmap.dll) で DEPENDENCY-WALKER.exe を実行し、すべての依存関係を確認しました。

私が知る限り、それらはすべてそのコンピューター上にあるはずです (c:\windows (多くの dll)、次にターゲット コンピューターのターゲット フォルダーにコピーした他の 8 個のファイル)。

イベント ログにエラーは表示されません。

私が欲しいのは、何が欠けているかを理解する方法ですか?

ここに画像の説明を入力

ここに画像の説明を入力

4

1 に答える 1

4

依存関係ウォーカーを使用して 64 ビット ファイルをスキャンする場合は、依存関係ウォーカーの 64 ビット バージョンを使用していることを確認してください。そうしないと、期待どおりの結果が得られません。

もう 1 つのヒント: DLL を登録してから、アプリケーション イベント ログを確認してください。多くの場合、イベント ログには、見つからないファイルのファイル名など、より詳細な情報が含まれています。

これがサイド バイ サイドの依存関係の問題である場合は、ツールsxstrace.exeによって何が不足しているかがわかります。このファイルは、Windows 7 と共にインストールされます。 http://technet.microsoft.com/en-us/library/hh875651%28v=ws.10%29.aspx

走る

sxstrace TRACE -logfile:tracelog.etl

次に、ファイルの登録を試みます。

トレースを停止した後、ログを PARSE して人間が読めるバージョンを取得する必要があります。

sxstrace PARSE -logfile:tracelog.etl -outfile:tracelog.txt
于 2013-03-11T23:40:00.873 に答える