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 が正常に登録されている場合、問題の原因を特定するにはどうすればよいですか?