2

作成したいくつかのレジストリ キーに値をC#書き込むプログラム (VS2010) があります。HKEY_CURRENT_USER通常、これは正常に動作しWin XP, Vista, and 7, x86 and x64ます。しかし、一部のマシンでは、キーが書き込まれません。例外はスローされません。キーと値はその後存在しません。

なぜこれが起こるのかを理解しようとして、私たちは髪を引っ張っています. それは本当に散発的です... 1台のマシンでは機能しませんが、同じオフィスまたはドメイン内の他のすべてのマシンでは機能します。

何を探すべきですか?

4

1 に答える 1

0

あなたが説明していることは、MicrosoftのRegistry Virtualizationに非常によく似ています。

しかし、私が理解しているように、それは 32 ビット アプリケーションの HKEY_LOCAL_MACHINE\Software にのみ適用されます。

レジストリの仮想化は、Vista の UAC を考慮して作成されていないアプリケーションとの下位互換性を提供する方法として、Windows Vista で導入されました。通常はレジストリの機密領域 (HKLM など) に影響を与えるレジストリ操作を、現在のユーザーにのみ影響を与える特別な場所にリダイレクトするという考え方です。逆方向にも動作するはずです-レジストリのこれらの部分の1つにアクセスすると、存在しないキーで失敗する前に、リダイレクトされた場所がチェックされます。

于 2012-10-11T22:37:00.807 に答える