レジストリにサブキーHKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector
を作成しました。起動したアプリケーションが実行されていないときにVisual Studioのイミディエイトウィンドウを使用してこのサブキーを読み込むと、そのサブキーを読み取ることができます。レジストリ仮想化をバイパスできません
しかし、私のアプリケーションがHKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector
を探すと、それを見つけることができません。それはHKEY_LOCAL_MACHINE\SOFTWARE\MyApp
を見つけることさえできません。
しかし、アプリケーションをデバッグモードで実行しているときに一時停止している場合、まったく同じコードではというだけではなく、HKEY_LOCAL_MACHINE\SOFTWARE\MyApp\APIConnector
が見つかりません。
少し掘り下げた後、私はレジストリ仮想化の犠牲になったようです。そこで、管理者権限(UACダイアログ)が必要なマニフェストを追加しましたが、レジストリの仮想化はまだ発生しています。この問題に関するマイクロソフトの文書では、これが当てはまるべきではないと主張している。助けて!
おそらく、Wow64レジストリリダイレクトの代わりに(または?)レジストリ仮想化の影響を受けている可能性があります。http://msdn.microsoft.com/en-us/library/aa384253.aspx Windowsには、ミラーはレジストリにアクセスするときに実行されます。 –
はい、WoW64が原因です。何らかの理由で、アセンブリは任意のCPUの代わりにx86をターゲットにしていました。私はそれを任意のCPUに変更し、うまくいった。あなたのコメントを答えに変えれば、私はそれを受け入れます。ありがとう:) –
@スティーブあなたは本当に管理者権限を必要としたくありません。 –