1

长话短说,我雇主的一个客户有一个 aaS 平台,该平台依赖于一款 ClickOnce 应用程序。这个特定的应用程序由第 3 方软件开发商开发,并授权给我雇主的客户公司。它还碰巧有大量的先决条件/依赖项应用程序需要安装才能使其运行,但并未作为 ClickOnce 安装的一部分进行部署。重要的是,由于它是由第 3 方开发并获得许可的,因此无法对应用程序本身进行任何更改。

到目前为止,在端点上实际安装应用程序已经由客户公司通过提供预映像计算机来处理,或者当他们的客户希望使用他们自己的硬件时,给他们的客户服务代表一个包含一堆 .bat 的大 zip 文件他们必须在任何用作其服务端点的计算机上手动运行脚本。批处理脚本基本上完成引导程序的工作并安装先决条件,进行必要的系统配置更改和检查,然后调用 ClickOnce 应用程序安装程序。

正如预期的那样,他们不喜欢这个解决方案,并且想要一个实际的安装程序,所以我已经开始使用 WiX/Burn 创建一个引导程序,但我现在坚持如何在我的引导程序项目中包含 ClickOnce 应用程序。我似乎无法在网上找到关于此的文档,提示问题:

我可以将 ClickOnce 应用程序捆绑到 WiX 引导程序中吗?如何?

如果有所不同,则 ClickOnce 应用程序是从客户公司的服务器之一发布的,因此我可以完全访问 ClickOnce 清单和所有 .deploy 文件。

4

1 回答 1

1

你不能用母猪的耳朵做一个丝绸钱包。我认为您能做的最好的事情是为 ClickOnce 安装程序的某个版本制作依赖项安装程序。没有人应该期望应用程序的未来版本会具有相同的依赖关系。

(不过,到那个时候,也许他们会通过包含依赖项来修复 ClickOnce 安装程序。或者,放弃他们无法放入 ClickOnce 的依赖项,比如那些过时的 Windows 版本所需的依赖项。)

安装依赖项后,您可以让引导程序启动应用程序,该应用程序将安装或更新它。(从逻辑上讲,这遵循链条。)

<Variable Name="LaunchTarget" Value="http://example.com/path/product.application"/>

稍微备份一下,您可以创建一个包含所有 ClickOnce 文件的 MsiPackage,并为 LaunchTarget 使用“file://”URI。这将要求您重新构建和重新部署每个新版本(违背 ClickOnce 的本质),但会将您与未经测试的应用程序更新隔离开来。

于 2016-04-24T23:49:03.167 回答