build - 使用团队基础服务自动构建安装程序

标签 build installation installshield tfsbuild azure-devops

我已经开始使用 Microsoft Team Foundation Service 的预览版(云中的 TFS,下文称为 TFService)用于一个小型项目,我目前正在使用 TFService 附带的在线构建服务来设置构建。

我想做的是添加某种安装程序。我之前曾使用过 InstallShield Limited Edition、WIX 和 Inno Setup,如果可能的话,我希望继续使用其中之一。

我之前已将 Inno Setup 作为构建过程的一部分进行集成 (TFS 2010)。这涉及在构建计算机上安装 Inno Setup,并添加用于运行 inno setup 脚本的自定义构建任务。最后一部分也应该可以通过 TFService 实现,因为可以创建自定义构建过程模板。

但是,我意识到安装 Inno Setup 或 InstallShield 之类的任何东西都无法与 TFService 一起使用,因为不可能在构建计算机上安装任何第 3 方软件(它只是在某个未知虚拟计算机上运行的云服务,我无法访问)。

所以我的问题是;有没有办法在 TFService 上运行的构建过程中自动创建安装程序?例如,构建服务是否能够构建开箱即用的 installshield 项目(毕竟 Visual Studio 包含许可证)?或者还有其他方法可以做到这一点吗?

最佳答案

我在尝试让 WiX 和 InstallShield 使用其托管构建代理与 Microsoft TFS Preview 云服务配合使用方面有一些经验。在这些代理上,您没有管理员权限,也无法安装软件。

目前排除了必须安装 InstallShield 的情况。

但是,可以将 WiX 二进制文件 checkin 源代码管理并将其作为构建的一部分进行拉取。

WiX 使用 .wixproj 文件 (MSBuild) 来定义其项目编译事件。这引用了以这种方式部署时不存在的目标文件和其他属性(引用注册表值)。一点点黑客攻击就能将所有这些属性解析为可行的值。

您可能仍然遇到的一个问题(我正在考虑 TFS 托管构建环境)是您可能必须配置项目以跳过 MSI ICE 验证套件。在构建机器上,我在 Windows 安装程序服务上玩的游戏被完全禁用,这导致测试无法运行。

关于build - 使用团队基础服务自动构建安装程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11821064/

相关文章:

java - 如何为 Z3 设置 Java 开发环境

python - 如何最好地使用 InstallShield 在 Windows 上安装 Python + 模块

java - 如何发送 Maven 构建的电子邮件通知

使用多个标签构建

c# - 为什么 WaitForExit() 不等待?

svn - 您将代码签名证书的私钥存储在哪里?

c# - 如何修复 InstallShield 的图标

eclipse - "Order and Export"中的 "Java Build Path"选项卡

Angular - 构建配置中 "optimization"和 "buildOptimizer"之间的差异(angular.json)

installation - Wix:如何在自定义安装位置进行 DirectorySearch