1
私はWebアプリケーションの値を取得できるように、コンソールアプリケーションのいくつかのレジストリキーを読み込もうとしています(自己ホスト型Owinアプリケーションを設定する前に)アプリケーションはIISで使用します。コンソールアプリケーションは、IISで実行しているときにWeb APIアプリケーションが実行できるキーエントリと同じキーエントリを表示できません。コンソールアプリケーションは、IISアプリケーションが読み取ることができるレジストリキーを読み取ることができません
var c = Registry.LocalMachine
.OpenSubKey(
@"SOFTWARE\APCI\AppServer",
RegistryKeyPermissionCheck.ReadSubTree,
System.Security.AccessControl.RegistryRights.ReadKey
)
.GetSubKeyNames();
Registry.LocalMachine.Close();
return c[0];
コンソールアプリケーションで、Web APIアプリケーションと同じようにレジストリから読み取れるように変更する必要はありますか?
ユーザーの身元情報を使用してコンソールアプリケーションを実行していると思われます。ほとんどの場合、レジストリ仮想化互換機能(https://msdn.microsoft.com/en-us/library/aa965884(VS.85).aspx)とHKEY_LOCAL_MACHINEではなくHKEY_USERSエントリに透過的にリダイレクトされます.HKEY_LOCAL_MACHINEは、IISプロセスとしてAPIを実行しているときに使用された可能性が最も高いものです。 –