m-y*_*m-y 3 .net windows-installer uac windows-vista windows-7
这是场景:
我编写了一个应用程序并从Visual Studio Installer项目创建了一个安装程序(我生成了一个MSI文件).我以管理员身份将应用程序安装到Program Files目录中.
当用户使用该应用程序时,我希望它能够自动更新(不需要打扰管理员).现在,Windows 7和Windows Vista都有UAC来保护Program Files目录.所以,我不确定从哪里开始.
我想我读过某个地方,ClickOnce能够安装应用程序的更新,而不会打扰用户获得管理权限.
我真的只是希望有一种简单的方法来使用MSI文件进行静默更新,因为我不希望普通用户拥有管理访问权限,我不希望管理员对此任务感到困扰.此外,显然事情不能硬编码,因为用户名和密码很容易改变.
你可以做的一件事当然是创建一个作为localsystem运行的更新服务.这个肯定会绕过UAC.
另一个选择(因为安装服务可能被视为过于侵入)是安排任务,再次通过W7任务调度程序作为本地系统运行.
在任一情况下,这必须在安装期间完成,否则UAC将再次被触发.
编辑:我只想到另一种处理方式:你可以做Chrome风格.不要在程序文件中安装任何东西,将所有应用程序二进制文件和数据保存在用户文件夹 这样您就可以只使用用户级权限进行升级,而不会触发UAC
| 归档时间: |
|
| 查看次数: |
2740 次 |
| 最近记录: |