如何在c#中生成一个不在机器上请求管理员权限的进程

时间:2017-03-15 04:25:29

标签: c# clickonce

我似乎在问其他人。我想生成一个进程,而不是让它在机器上请求管理员权限。

我有2个可执行文件: 1)申请 2)更新程序

应用程序会定期检查Web服务以查看是否有任何软件更新。如果有,它将生成更新程序.exe并关闭当前应用程序。

更新程序然后下载文件,解压缩并生成原始进程。

这里似乎没有任何东西需要管理员权限,但UAC一直参与其中。

这是一台在没有键盘或鼠标的机器上运行的应用程序,我希望更新过程能够在没有用户交互的情况下运行。

我是否必须关闭UAC才能使其正常工作,或者我是否启用了需要禁用的功能?

我认为在这里添加的唯一另一件事是我使用ClickOnce最初部署一个最小的应用程序,它将始终运行更新程序并下载该程序的最新副本。

我正在使用以下行来生成更新程序或调用应用程序:

 if (System.IO.File.Exists("AppUpdater.exe"))
 {
   Process.Start(fileName: "AppUpdater.exe", arguments: appId + " " + versionNo + " " + callingApp);
 }


 if (File.Exists(CallingApp))
 {
   Process.Start(CallingApp);
 }

由于

1 个答案:

答案 0 :(得分:0)

原来这是导致问题的更新程序应用程序的可执行文件。我不得不更改项目属性中的一些设置。

我不确定究竟是哪一个导致了这个问题,因为我更改了许多设置以匹配另一个不会导致显示UAC消息的应用程序。

我怀疑主要的是" Icon and Manifest"设置;我将其更改为"使用默认设置嵌入清单"。

相关问题