質問

レジストリにアクセスするレガシーアプリケーションがあります。 32ビットアプリケーションであるため、hkey_local_machine ソフトウェアを参照すると、レジストリ仮想化を介してWindows 7のレジストリにアクセスします。 私の質問は、Visual Studioのどの設定が、レジストリ仮想化を行わずに「正常に」レジストリにアクセスするアプリケーションをコンパイルするために変更する必要があることです。

役に立ちましたか?

解決 3

あなたはこのような意味ですか?

$web = Get-SPWeb http:/SC/site
$web.WebTemplate + " " + $web.WebTemplateId
$web.close()
.

他のヒント

レジストリ仮想化ページを綿密に読むと、仮想化が64ビットウィンドウに限定されないことに気付くでしょう。 32ビットプロセスのみが仮想化されると述べています。しかし、仮想化は、32ビットと64ビットの両方のVistaで行われます。したがって、質問のタイトルとx64タグは少し誤解を招きます。

質問に答えるために、同じページに次のように述べています。「レジストリ仮想化は以下について無効になります。...マニフェストで指定されたExexecutionLevelを要求したプロセス」。

そのため、実行レベルを指定する実行可能ファイルにマニフェストファイルを追加することにより、仮想化を無効にできます。 Visual Studio 2005でそれを行う方法については、少なくともMicrosoft KBの記事があります。 http://support.microsoft.com/kb/944276.

使用してみませんか:

Microsoft.Win32.RegistryKey key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\...");
return (string)key.GetValue("blah");

Customtrust.configファイルのレジストリへのアクセスを追加します。

それともWindows 7では機能しませんか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top