始める前に、UAC のプログラミングに関する知識がほとんどないことをお詫びします。そうは言っても…</p>
まったく別のプログラムの setup.exe を起動する ac# アプリケーションがあります。その主な目的は、その 2 番目のプログラムが UAC の下で実行できるようにすることです。簡単に言えば、昇格したコマンド プロンプトでそのプログラムの setup.exe ファイルを実行します。私はその 2 番目のプログラムを制御できないため、UAC 互換にすることはできません。Vista が最初にリリースされたときにプログラムを作成しましたが、UAC 情報はほとんど見つかりませんでした。setup.exe ファイルをこの方法で実行すると、実際に機能し、UAC をオンにしてプログラムを実行できることに注意してください。しかし、私のプログラムの一部では、「requireAdministrator」を実行レベルとして「theirapp.exe.manifest」ファイルも追加しています。したがって、私の質問はこれです。最終的に実行しようとしているプログラムが管理されていないアプリケーション (CBuilder C++) である場合、そのファイルが必要ですか? 途中で、マニフェスト ファイルが必要だと思いました。
ありがとう
編集: 要約すると... UAC の下で管理されていないプログラムを実行するには、マニフェスト ファイルが必要ですか?
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
編集: 他のプログラム setup.exe を実行するための私の主な方法
private void RunElevated()
{
ProcessStartInfo processInfo = new ProcessStartInfo("cmd.exe", @"/C " + AppDomain.CurrentDomain.BaseDirectory + @"setup.exe");
processInfo.Verb = "runas";
try
{
Process.Start(processInfo);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}