0
私のインストーラは(すべてのユーザー用)レジストリ経由でアプリの互換モードを設定します。Windows 10:互換機能のバグ?
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Program Files (x86)\\Program\\Program.exe"="RUNASADMIN"
のWindows 10は、しかし、これを無視しない - 何のUACプロンプトを私はプロパティ/互換性タブを開くまで、手動で実行する」の選択を解除admin "を選択し、それを元に戻します。もう1つの解決策は、現在のユーザーのレジストリエントリを作成することです。
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Program Files (x86)\\Program\\Program.exe"="RUNASADMIN"
これはなぜですか?私はWindows 7でHKLMレジストリキーのみを作成することに問題はありませんでした。システムは常に必要な互換性オプションを認識していました。
これらのレジストリキーは、必要なものを正式に文書化していますか? – IInspectable
いいえ、しかし、それらは広く使用されています(例えば、インストーラのGOGによる)。また、キーはこのサイトで議論されました:http://stackoverflow.com/questions/2313045/how-to-set-run-this-program-as-an-administrator-programatically – Demeter
なぜマイクロソフトは壊れないと思いますか彼らが署名したことのない契約?どのような理由でも、文書化されたルートには行かず、代わりにアプリケーションマニフェストを使用してください(例:[/ MANIFESTUAC(マニフェストのUAC情報を埋め込む)](https://msdn.microsoft.com/en-us/library/) bb384691.aspx)リンカオプション)? – IInspectable