是否可以自动执行ClickOnce部署?

时间:2009-12-03 17:14:42

标签: .net installer automation clickonce

我处理的项目包括通过ClickOnce部署的服务器和客户端应用程序。客户端在用户第一次单击http://...file.application链接时安装,并且在安装过程中与用户的交互最少(只需标准的ClickOnce安装/不安装对话框)。

我们的一位客户希望能够在用户的计算机上自动安装客户端。有没有办法在没有任何用户交互的情况下安装ClickOnce应用程序,以便自动化部署过程?

是否存在提供此类部署的软件?

我的问题来自于我不知道ClickOnce部署如何工作(我甚至不知道是否可以从命令行运行ClickOnce安装程序......),以及ClickOnce像Windows Installer一样,应用程序都没有打包,我不确定。

3 个答案:

答案 0 :(得分:5)

有许多第三方解决方案可用于自动部署。您也可以创建自己的脚本,但需要某种方式来调用它们。如果客户端的计算机配置为查找位于网络的启动脚本,那么这将是一种理想的方法。通常,自动部署使用标准部署包,即包含setup.exe和所需文件,因此这可能是打包应用程序的最佳方式。

ClickOnce专为最终用户的手动部署而设计,仅在目标为自动部署时混淆。显然,如果有人想手动安装您的应用程序,您可以保留ClickOnce部署,但如果您单独打包以进行自动部署,它将使事情变得更容易。

答案 1 :(得分:1)

您可以构建标准MSI安装程序并通过Group Policy进行部署,但更新有点棘手。作为混合,您可以构建一个MSI安装程序(通过组策略部署),只需在桌面上安装正确的ClickOnce地址的快捷方式即可。通过这种方式,用户始终可以运行ClickOnce版本,该版本在运行时保证是最新版本。

答案 2 :(得分:1)

可以自动化它。诀窍是清单的生成和签名方式。

构建应用程序清单并重命名已部署的文件后,您就可以将一组文件和文件夹复制到安装源。