2009-12-03 31 views
6

我正在处理一个由通过ClickOnce部署的服务器和客户端应用程序组成的项目。 第一次安装客户端时,用户点击http://...file.application链接,并且在安装过程中与用户的交互是最小的(只是标准的ClickOnce安装/不安装对话框)。是否可以自动执行ClickOnce部署?

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

提供这种部署的软件是否存在?

我的问题来自于这个事实,我不知道ClickOnce部署是如何工作的(我甚至不知道是否可以从命令行运行ClickOnce安装程序......) clickonce应用程序并不像Windows Installer那样打包,我不确定任何事情。

有关这方面的任何信息都是值得欢迎的。

+3

所以....点击Nunce部署。 :) – Craig 2009-12-03 17:19:45

回答

5

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

ClickOnce专门设计用于由最终用户进行手动部署,并且只在目标是自动部署时才会造成混淆。显然,您可以保留ClickOnce部署,以防有人想手动安装您的应用程序,但如果您将其单独打包以进行自动部署,它会使事情更轻松。

+0

“ClickOnce专门为最终用户的手动部署而设计,只在目标是自动部署时才会造成混淆。” 这是真的,我在想这件事时实际上很困惑。 如果像您建议的那样,我将应用程序打包为自动部署的不同方式,那么应用程序注册的方式与ClickOnce部署的应用程序不同吗?两次安装相同的应用程序是不可能的? – 2009-12-04 10:49:42

+0

确实如此,ClickOnce安装将独立于自动部署的应用程序而存在。但是,如果发布的ClickOnce部署永远不会比自动部署版本旧,那么这应该不成问题。只要启动ClickOnce版本的用户没有获得比自动部署的软件包更早的版本,那么他们正在运行单独的安装并不重要。 – 2009-12-05 09:05:38

1

您可以构建标准的msi安装程序并通过组策略进行部署,但更新有点棘手。作为一个混合体,你可以是一个msi安装程序(通过组策略部署),它只是在桌面上安装正确的clickonce地址的快捷方式。

1

可以将其自动化。诀窍是清单生成和签署的方式。

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