在VS 2010中使用ClickOnce来部署“真实”应用程序是否有任何警告?

时间:2010-08-15 14:18:01

标签: clickonce windows-installer

在我看来,ClickOnce是在Intranet环境中部署.NET应用程序的便捷方式。我正在考虑将它用作桌面应用程序的部署方法,该应用程序通过Internet分发给普通用户。 (替代方案是常规安装包。)

有没有人有这方面的经验?它运作得好吗?对于开发人员或最终用户来说,我应该注意哪些问题?

1 个答案:

答案 0 :(得分:3)

我已经多次使用ClickOnce在网络上进行部署,体验各种各样。我要指的是:

  • 确保应用程序具有一个静态可交付物
  • 避免动态构建部署和应用程序清单服务器端,特别是关于可插入体系结构(即使用mage.exe根据身份和/或权限构建清单)
  • 从应用程序控制身份验证,ClickOnce在促进从安全网站下载应用程序方面具有极大的限制性。有关您将面临的选择,请参阅here
  • 避免提供先决条件,或将其保持在最低限度。例如,只有.NET框架,SQL express。
  • 应用程序不应要求客户端具有重要权限(例如,HKLM注册表更改)。应用程序最终将从登录用户的文档文件夹运行,并且在下载时您将无法判断用户是否是管理员。
  • 使用经过验证的Authenticode证书对ClickOnce清单进行签名
  • 如果交付项是静态的并且已就地更新,则ClickOnce可以更新交付项。您有两个部署选项,“安装并运行”选项和“仅运行”选项。两者在部署方面完全相同,它们将文件复制到同一个地方,权限相同。唯一的区别是安装版本将在开始菜单中创建一个条目并添加/删除程序。此更新基于名称和版本。对于已安装的版本,更新不是必需的,但仅运行选项也将获得最新的可交付成果。如果可交付成果没有改变且用户已经下载了应用程序,则不会再次下载,只是从保留目录启动。

这项技术非常酷,但有几点需要注意我。