64ビットの問題が発生しています。これがスクープです:
私は32ビットのCOMexe(FoxProで書かれています)を持っています。このexeは、32ビットのCOM dll(これもFoxProで記述されています)を呼び出します。32ビットWindowsの世界では、dllはC:/Windows/System32
ディレクトリに配置され、に登録されてC:/Windows/System32/regsvr32.exe
おり、すべて問題ありません。exeを起動でき、dllを必要とするすべてのプロセスに問題はありません。
64ビットの世界では別の話です。Windows 7 x64
私はこのアプリケーションを次のように 実行されているマシンにインストールしようとしました:
- dllを配置します
C:/Windows/SysWOW64
- に登録しましたが、「管理者として実行」コンテキストメニューオプションを使用して
C:/Windows/SysWow64/regsvr32.exe
実行することによってのみ、登録を成功させることができました。regsvr32
これで、exeを実行しようとすると、[管理者として実行]オプションを使用してexeを起動した場合を除いて、dllを呼び出すことができません。これは良くない。単純なアプリを実行するためだけに、ユーザーが管理者である必要はありません。
「管理者として実行」オプションを必要とせずにこれを機能させる方法を知っている人はいますか?
ありがとうございました!
-ケン