如何更改程序名称是UAC

本文关键字:UAC 更改程序 | 更新日期: 2023-09-27 18:26:10

我正在使用以下代码运行msiexec.exe。

Process setupProc = new Process();
setupProc.StartInfo.UseShellExecute = true;
setupProc.StartInfo.CreateNoWindow = true;
setupProc.StartInfo.FileName = "msiexec.exe";
setupProc.StartInfo.Arguments = String.Format("/i '"{0}'" /qn {1}",
sSetupFilePath, installerProperties);
setupProc.StartInfo.Verb = "runas";         
setupProc.Start();

我想在UAC中更改程序名称,这有可能更改程序名称吗。

程序名称为"C:''Windows''SysWOW64''msiexec.exe,带有我提供的运行参数。

我只想摆脱来自rhe msiexec.exe.的争论

我做了很多rnd,但没有得到可能的解决方案,我认为这是不可能的。

如何更改程序名称是UAC

您应该解释您的实际目标是什么。例如,如果您希望从独立进程启动MSI安装,则为该进程提供一个提升清单,以便它请求提升(您的程序名称)并运行提升,然后使用代码的CreateProcess版本UseShellExecute=false。

或者,如果您的代码已经在提升运行,只需将UseShellExecute设置为false。

在这两种情况下,msiexec都将运行提升的请求,而不显示提升请求,因为您在CreateProcess模式下启动它。

顺便说一句,如果你是从MSI安装的自定义操作中运行这个,它很有可能会失败——这真的不建议。