在Windows Vista(2008和Seven)下,应用程序无法在Program Files文件夹中写入。我知道UAC是负责任的,但它阻止我的应用程序自我更新。是否有某个文件夹(在Windows XP,Vista(和所有其他版本)中可用),这将允许我部署我的应用程序并让它自我更新,而不必使其“提升”?< / p>
我想到了ClickOnce,但我无法使用,因为我不想支付昂贵的证书(签署代码,安装程序等)。
谢谢!
答案 0 :(得分:2)
无论如何,您应该在更新应用程序之前获得许可。尝试写入C:\Program Files
本质上是一个用户应该授权的冒险操作。所以我只是告诉用户你正在做什么,让她允许更新者完成它的工作。
答案 1 :(得分:2)
我个人厌恶这个想法,但是有几个应用程序走了这条路:不是将应用程序安装到Program Files目录中,而是安装到AppData目录中。
我首先在微软的SyncToy PowerToy中看到了这个,然后在巫妖王之怒发布之前看到了魔兽世界的补丁。最近,我看到Google Chrome也会安装到AppData目录中。
我讨厌这个想法的原因是,为了不方便安装或修补,我现在可能会有恶意软件悄悄修改的风险以及安装到AppData中的应用程序的二进制文件。