2

我已经开始为一个小项目使用Microsoft Team Foundation Service(云中的 TFS,以下简称 TFService)的预览版,并且我目前正在使用 TFService 中包含的在线构建服务来设置构建。

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

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

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

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

4

1 回答 1

2

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

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

但是,可以将 WiX 二进制文件检查到源代码管理中,并将它们作为构建的一部分拉下来。

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

您可能仍然遇到的一个问题(我在想 TFS 管理的构建环境)是您可能必须配置您的项目以跳过 MSI ICE 验证套件。在构建机器上,我玩的 windows 安装程序服务被彻底禁用,这阻止了测试运行。

于 2012-08-06T02:31:19.320 回答