【问题标题】:Where should I deploy my application?我应该在哪里部署我的应用程序?
【发布时间】:2009-02-09 06:03:18
【问题描述】:
在 Windows Vista(2008 和 7)下,应用程序无法写入 Program Files 文件夹。我知道 UAC 是负责任的,但它会阻止我的应用程序自我更新。是否有某个文件夹(在 Windows XP、Vista(和所有其他版本)中可用)允许我部署我的应用程序并让它自我更新而不必使其“提升”?
我想到了 ClickOnce,但我不能使用,因为我不想支付昂贵的证书(签署代码、安装程序等)。
谢谢!
【问题讨论】:
标签:
deployment
installation
uac
【解决方案1】:
我个人讨厌这个想法,但有几个应用程序走上了这条路:不要将应用程序安装到 Program Files 目录中,而是安装到 AppData 目录中。
我首先在 Microsoft 的 SyncToy PowerToy 中看到了这一点,然后是在巫妖王之怒发布之前的魔兽世界补丁集。最近,我看到 Google Chrome 也安装到了 AppData 目录中。
我讨厌这个想法的原因是,为了不得到安装或修补提示的小方便,我现在有潜在的风险,恶意软件悄悄地修改和安装到 AppData 中的应用程序的二进制文件。
【解决方案2】:
无论如何,您应该在更新应用程序之前征求许可。尝试写入C:\Program Files 本质上是用户应授权的危险操作。所以我只想告诉用户你在做什么,让她允许更新程序完成它的工作。