简体   繁体   English

在没有UAC提示的情况下实现客户端更新应用程序的可能方法

[英]Possible way to implement client update application without UAC prompt

I need to develop an application that will run on clients. 我需要开发一个将在客户端上运行的应用程序。 The main focus is to let the application update another -specific- application and be able to monitor own defined states for clients. 主要焦点是让应用程序更新另一个特定于应用程序的应用程序,并能够监视客户端自己定义的状态。 I'm considering something like a console application with TopShelf because it makes debug a lot easier. 我正在考虑使用TopShelf之类的控制台应用程序,因为它使调试更加容易。 However... to install or update this specific application I must use a MSI. 但是...要安装或更新此特定应用程序,我必须使用MSI。 But if for example I create a process that executes msiexec the client/end user will be prompt with UAC. 但是,例如,如果我创建了一个执行msiexec的进程,则将使用UAC提示客户端/最终用户。 This is a big issue because clients should be updated unattended. 这是一个大问题,因为应该在无人值守的情况下更新客户端。 And UAC must stay the way it is : highest level. UAC必须保持现状:最高水平。

I've read a lot of questions/answer concerning UAC prompt... and to be honest I'm starting to doubt my own approach. 我已经阅读了很多有关UAC提示的问题/答案……老实说,我开始怀疑自己的做法。 I was not able to find any question that I could relate to.. so I would appreciate it if someone could give me some good advise, tips, references etc on a possible way to approach this issue. 我找不到任何可能与我有关的问题。因此,如果有人可以给我一些好的建议,技巧,参考等以可能的方式解决此问题,我将不胜感激。

Thanks in advance 提前致谢

Create a Task Scheduler job with the "Run with highest privileges" option checked. 创建一个“任务计划程序”作业,并选中“以最高权限运行”选项。 You can easily create this job programatically , even using a XML configuration file. 您甚至可以使用XML配置文件以编程方式轻松地创建此作业

This way the user is prompted to allow UAC only once (when first clicking an exe for example). 这样,系统会提示用户仅允许一次UAC(例如,第一次单击exe时)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM