1

Windows 8.1 を実行している Windows 64 ビット セットアップで、HKLM\Software\Microsoft\VisualStudio に格納されているキーにアクセスしようとしている 32 ビット プログラムがあります。

通常は問題なく動作し、実際に Software\Wow6432Node からそのキーを読み取ります。

ただし、読み取りに失敗するマシンが 1 台あります (他のマシンとそれほど変わらないようです)。Process Monitor を使用してレジストリ アクセスを確認すると、VirtualStore からレジストリ アクセスを読み取ろうとしていることが示されますが、存在しないため失敗します。

他のインストールのように Windows がマージされたビューをアプリケーションに表示しない理由は何ですか?

ありがとう、マヌー

4

1 に答える 1

2

仮想ストアは、UAC で導入された互換メカニズムであり、WOW64 とは直接関係ありません。Windows Vista との互換性を宣言していないプログラムがキーまたはファイルを作成しようとしたが、そのためのアクセス権がない場合、Windows は書き込みを仮想ストアにリダイレクトします。それ以降、そのキーまたはファイルを開こうとすると、仮想ストアに自動的にリダイレクトされます。

別のアプリケーションが作成した可能性のある仮想ストア キーまたはファイルにリダイレクトされないようにするには、マニフェストを使用して、アプリケーションが Windows Vista と互換性があることを宣言します。

于 2015-03-24T21:47:30.020 に答える