2013-05-08 53 views
1

我有2个产品A和B作为我们项目的一部分...我们使用wix安装程序...安装程序代码是用C#使用visual studio 2008编写的并且我们在构建或使用这些安装程序时没有任何问题。wix安装程序问题:jenkins自动生成

最近,我们决定实施一个自动构建系统(Jenkins),我们在这里自动构建产品以及它们的安装程序。

当我们从jenkins进行构建时,产品A的安装程序构建失败。它说 - “命名空间”部署“在Microsoft命名空间中不存在”。 和其他一些依赖关系失败了这一点。有趣的是,在同一台机器上完成视觉工作室时的相同构建工作...但通过jenkins完成时失败。

我们以admin用户身份运行所有这些。不确定詹金斯是否有访问“Microsoft.Deployment”的问题?

我试着重新安装wix框架(以确保jenkins不访问一些损坏的安装程序或部署dll),并添加了对“Microsoft.Deployment”的显式引用......但没有帮助。

而且,同一台机器上的其他产品B的安装程序运行时没有问题。

有什么建议可能是错的?

回答

1

听起来好像您已将WiX toolset与Visual Studio一起安装。这将自动安装DTF,这听起来像是Jenkins构建中缺少的先决条件。要获得DTF,您可以在您的构建机器上安装WiX工具集,或者,更好的选项恕我直言,是将WiX工具集检入源代码控制。 WiX手册中有一个主题提供了名为Integrating WiX Projects Into Daily Builds的分步说明来完成后者。

如果您签入WiX工具集到您的版本,您可能需要更新一些现有的引用以指向WiX工具集的本地副本。

+0

不 - 我安装wix分开..不与视觉工作室。另外,我可以看到SDK中的Microsoft.Deployment dll和wix安装文件夹中的bin文件夹。它的理由为什么詹金斯无法访问它。 – techieChamp 2013-05-08 06:06:42

+0

查看失败项目中的'Reference'元素。他们可能有不能在构建机器上正确解析的路径。 – 2013-05-08 06:57:55

+0

好吧..我想我解决了它......我使用devenv而不是MSBuild来构建,并且帮助解决了大部分问题。 – techieChamp 2013-05-09 04:04:21