- 締切済み
WoW64経由と通常の32bit起動は違いますか?
32bitのアプリケーションランチャーから起動させた32bitファイラーと x64のアプリケーションランチャーから起動させた32bitファイラーがあります。 32bitはWoW64を利用していますが、32bitのアプリケーションを起動するという意味では x64との違いは無いと思っています。 しかし、32bitファイラーは、x64から起動された場合振る舞いが変わっています。 具体的には、ファイルを書き込もうとすると権限絡みでアクセス拒否が発生。 WoW64から起動させたときには表示されなかった、外部のポータブルデバイスが表示されます。 これは同じ32bitアプリケーションを起動させるにも、WoW64とx64からでは違いがあるということでしょうか? どうしてこのような違いが出るのかご教授頂けないでしょうか? どうぞよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- hidebun
- ベストアンサー率50% (92/181)
32bitファイラーをランチャー経由ではなく、直接起動して、WoW64で動作させた場合には、 権限絡みのアクセス拒否は発生しないのでしょうか?
- rinkun
- ベストアンサー率44% (706/1571)
環境変数などを表示する簡単な32bitアプリケーションを作って、32bitファイラの代わりに起動してみてはいかがでしょう。 32bitプログラムを起動するときにWoW64で環境パスを切り替えるなどの処理をしているので、x64ランチャでのShellExecuteの呼び出し方では上手く切り替わらなくておかしくなっているのかもしれません。そもそも64ビット環境から32ビットアプリをShellExecuteで呼び出すことが正しいのかどうか疑問ですけど。
OS は 32bit / 64bit が異なるだけで同じものを使っていて、挙動が違うのでしょうか?
- SAYKA
- ベストアンサー率34% (944/2776)
x64ランチャーがWoW64の役目を果たしてないからでしょ? WoW64が ランチャの一種だと思えば判る?
補足
ご回答有難うございます。 x64ランチャーがWoW64の役目を果たしていないとはどういうことでしょうか? x64のExeから32bitのアプリケーションが起動されても、その32bitはWoWで動作するという認識でいますが これは誤っていますでしょうか?
補足
ご回答ありがとうございます。 OSはWindows7のx64です。異なっているのは、32bitをアプリケーションを起動するランチャーが 32bit、x64という点のみです。 ランチャーの内部も、只ShellExecuteしているだけです。