Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何更改程序名为UAC?_C#_.net_Winforms_Windows Installer_Uac - Fatal编程技术网

C# 如何更改程序名为UAC?

C# 如何更改程序名为UAC?,c#,.net,winforms,windows-installer,uac,C#,.net,Winforms,Windows Installer,Uac,我正在使用以下代码运行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}\" /

我正在使用以下代码运行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,但无法得到可能的解决方案,我认为这是不可能的。

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

或者,如果您的代码已经在运行,只需设置UseShellExecute=false

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


顺便说一句,如果您是通过MSI安装的自定义操作运行此功能,则很有可能会失败-这确实是不建议的。

不,因为您确实在运行
msiexec.exe
(恶意软件会利用此功能诱骗用户运行不安全的应用程序。)