0

Windowsサービスとして実行するアプリケーションの場合
設定値はHKLM \ Software ...レジストリキーに保存されます。winkyの動作vs2010実行管理者でもHKLMの値を取得するC#.NET 4

私は自分のレジストリ値にアクセスするライブラリを持っています。

私は、コードが動作することを確認するために使用する簡単なテストコンソールアプリケーションを用意しました。

私のテストコンソールアプリケーションでデバッグするには、vs2010を管理者として実行する必要があります。

すべての作品:

Console.WriteLine(WindowsRegistry.getTaleoOrgCode("test")); 

はデバッグ経由

Microsoft.Win32.RegistryKey hklmLocalMachineRoot = 
Microsoft.Win32.Registry.LocalMachine; 
Microsoft.Win32.RegistryKey hklmLocalMachineHbsiTaleoClient = 
hklmLocalMachineRoot.OpenSubKey(@"SOFTWARE\Taleo\" + clientName.Trim(), false); 
// read only 
if (hklmLocalMachineHbsiTaleoClient != null) 

を呼び出し、それがhklmLocalMachineHbsiTaleoClientがnullでないことは明らかです。

私は上記のライブラリサブルーチンを使用するアプリケーションを持っています。

vs2010でそのアプリケーションを管理者としても開始します。

デバッグでは、hklmLocalMachineHbsiTaleoClientがnullであることは明らかです。

デバッグする前に、エラーが発生したアプリケーション
に最新のレジストリルーチンライブラリがインストールされていることを確認します。

VS2010 Proのバージョンは、Windows 7の下で

ヘルプを実行している、してください、あなたに感謝しています。

+0

64ビットバージョンのWindowsでのレジストリ仮想化に注意してください。 –

+0

ハンス、レジストリの仮想化は、明確な可能性があります。私はちょうどそれを探しました。例:http://msdn.microsoft.com/en-us/library/aa965884(v=vs.85).aspx; 1つのコマンドウィンドウで "reg flags HKLM \ Software \ ... query"は機能しますが、通常のコマンドウィンドウと64のvs2010コマンドウィンドウの両方で同じコマンドが実行されます(管理者として実行するかどうかにかかわらず)** "ERROR: **指定されたレジストリキーまたは値を検索します。** QUERYが動作する場合、すべてのフラグがクリアとマークされますが、SET/With/sスイッチの同じコマンドウィンドウに「ERROR:Access is denied」と表示されます。 ??? – gerryLowry

+0

wierder still:私がエクスポートしたキー/値をSlickRunからregeditが開始しました。 Windows/System32のregedt32はインポートした後でなければ私のキー/値を表示しませんでした。キー/値が仮想レジストリと非仮想レジストリの両方になければならないと思っても、キー/値を見つけることができないというテストをしました。私はアイデアが不足しています。いずれにしても、これらの異常はレジストリ仮想化に必ず関係していると私は推測しています。リードに感謝します。私はもはやSlickRunからregeditを実行することはできません。 – gerryLowry

答えて

関連する問題