English 中文(简体)
自动更新我的。net应用程序在Vista没有管理的权利
原标题:
  • 时间:2009-04-16 22:09:20
  •  标签:

我知道有很多关于如何实现自动更新的问题在. net应用程序中,可能我已经读他们中的大多数。不幸的是,我看到没有一个适合我的情况我可以告诉。

我试图建立一个自更新。net应用程序,该应用程序将运行在一个环境有限的用户帐户。没有管理的权利。应用程序必须运行在Vista和XP,可能赢得7时。一个X-copy部署会好。我不愿意用鼠标单击

到目前为止,我已经尝试了系统应用程序检查清单和下载二进制文件更新,与其说在发展伟大的工作,但当应用程序被安装。Vista的拒绝让我将文件复制到程序文件。之后,我试着下载一个更新的MSI,除了MSI UAC提示——不走如果用户没有一个帐户与本地管理员权限。

一些文章认为AppData运行程序,使用x-copy方法可能会工作,但我没有见过任何人说,他们已经试过,那样的工作。没有管理的权利将适用于一个帐户?谁能保证这种方法之前,我开始编写更多的代码吗?

最佳回答

你只需要确保你安装(也就是复制)一个非特权用户访问的位置。

对程序文件年代没有什么魔法,只知道一个非特权用户可以t写(默认情况下)。

如果你有一个管理你的初始安装,那么你可以改变你的程序文件的文件夹的权限,以便后续升级可以覆盖这些文件。但这不是真正的精神的东西。

ClickOnce的主要缺点是不常见的安装位置和原始的安装程序,如果你要做选择复制文件到奇怪的地方,那么你已经已经冷酷ClickOnce的年代,没有任何的优势。

问题回答

虽然相当复杂,工作的一个策略是创建一个windows服务运行本地系统。安装一次作为一个管理用户,然后有这个服务下载更新,并将其复制到程序文件目录。

你可能还需要做一些用户界面显示进展和状态更新过程中。很容易暴露它通过WCF服务,或类似的。





相关问题
热门标签