間違った道を進む前に、ポインタを探しているだけです。HKEY_LOCAL_MACHINEとHKEY_CURRENT_USERの両方でユーザーレジストリを開き、読み取り、書き込み、削除する小さなC#コンソールアプリを作成しました
もちろん、自分のPCとすべてのテストPCで動作するようになりましたが、クライアントの1つが.exeを実行しようとするとエラーが発生します。
System.Security.SecurityException:タイプ'System.Security.Permissions.RegistryPermission、mscorlib、Version = 2.0.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089'のアクセス許可の要求が失敗しました。
System.Security.CodeAccessSecurityEngine.Check(Object request、StackCrawlMark&stackMark、Boolean isPermSet)at System.Security.CodeAccessPermission.Demand()at Microsoft.Win32.RegistryKey.CheckSubKeyReadPermission(String subkeyName)at Microsoft.Win32.RegistryKey.CheckOpenSubKeyPermission(String subkeyName、Boolean> subKeyWritable)at Microsoft.Win32.RegistryKey.OpenSubKey(String name、Boolean writable)at EstateMasterClearReg.Program.Main(String [] args)
失敗したアクションは次のとおりです。
要求する。失敗した最初のアクセス許可のタイプは次のとおりです。System.Security.Permissions.RegistryPermission失敗したアセンブリのゾーンは次のとおりです。イントラネット
クライアントマシンでこれをテストすることはできません(そして、.exeがローカルで実行されており、管理者としてログインしていると言われています)ので、アプリが任意のマシンで実行されることを確認するためにできることはありますか?マシーン?
厳密な名前キーとAllowPartiallyTrustedCallersを使用する必要がありますか、それともSystem.Security.Permissions.RegistryPermissionを使用する必要がありますか?
ご協力いただきありがとうございます。