0

64 ビット Windows Server 2008 で実行されている VB6 Web アプリケーションで作業しています。1 つの dll コンポーネントを変更する必要がありましたが、64 ビット マシンに登録しようとするとエラーが発生します。

新しい dll は、ビルドしている NT 環境に正常に登録されます。開始時にSysWOW64の下のディレクトリに既に配置されていた古いdllは、問題なく登録解除および再登録できます。

C:\Windows\SysWOW64\sps>regsvr32 UserServices.old.dll
C:\Windows\SysWOW64\sps>regsvr32 /u UserServices.old.dll

しかし、新しい dll を登録しようとすると、regsvr32 がエラーを返します。メッセージから、問題は 64 ビット サーバーに既に存在する dll との互換性にある可能性があると思われます。コンパイル オプションは「互換性なし」を指定します。

C:\Windows\SysWOW64\sps>regsvr32 UserServices.new.dll

モジュール "UserServices.new.dll" の読み込みに失敗しました。バイナリが指定されたパスに格納されていることを確認するか、デバッグして、バイナリまたは依存する .DLL ファイルに問題がないか確認してください。指定されたモジュールが見つかりませんでした。

ビルド マシンで dll が正常に登録されている場合、問題の原因を特定するにはどうすればよいですか?

4

1 に答える 1

0

一部の依存関係が不足している場合は、dependencywalkerを使用して不足している依存関係を確認し、インストールしてください。

于 2015-10-15T10:41:22.927 に答える