我已经开始使用Microsoft Team Foundation Service(云中的TFS,以下称 TFService )预览一个小项目,我目前正在使用包含的在线构建服务设置构建与TFService。
我想要做的是添加某种安装程序。我之前使用的是InstallShield限量版,WIX和Inno安装程序,如果可能的话,我希望继续使用其中之一。
我之前已将Inno Setup集成为构建过程的一部分(TFS 2010)。这包括在构建计算机上安装Inno Setup,并添加自定义构建任务以运行inno安装脚本。最后一部分也应该可以与TFService一起使用,因为可以创建自定义构建过程模板。
但是,我意识到安装Inno Setup或InstallShield等任何东西都无法与TFService一起使用,因为它无法在构建计算机上安装任何第三方软件(它只是在某个未知虚拟计算机上运行的云服务,而我无法访问)。
所以我的问题是;有没有办法自动创建安装程序作为在TFService上运行的构建过程的一部分?例如,构建服务是否能够开箱即用构建installshield项目(毕竟Visual Studio附带了许可证)?或者还有其他方法可以做到这一点吗?
答案 0 :(得分:2)
我有一些经验,试图让WiX和InstallShield使用他们的托管构建代理与Microsoft TFS预览云服务一起工作。在这些代理上,您没有管理员权限,也无法安装软件。
这当前排除了必须安装的InstallShield。
然而,可以将WiX二进制文件检查到源代码控制中,并将其作为构建的一部分将其拉下来。
WiX使用.wixproj文件(MSBuild)来定义他们的项目编译活动。这引用了目标文件和其他属性(引用注册表值),这些属性在您部署时将不存在。一小部分黑客攻击将使所有这些属性解析为可行的值。
您可能仍然遇到的一个问题(我正在考虑TFS托管构建环境)是您可能必须将项目配置为跳过MSI ICE验证套件。在Windows安装程序服务上玩的构建机器被禁用,这阻止了测试运行。