2009-06-11 64 views
2

我想要通过调用msbuild脚本的hudson构建当前构建于构建服务器上的WiX安装程序,以合并完整的.NET 3.5 sp1安装程序可执行文件。事实证明,我们的用户总是可以访问CD,但并不总是访问互联网,所以我们不能使用网络安装程序。我们还可以要求我们所有的用户都运行XP,这很好,因为我们还要求他们运行.NET 3.5。WiX,hudson,msbuild,并通过引导程序安装.NET

我们的构建服务器没有安装Visual Studio的副本,而只是通过MSBuild构建项目。

继WiX的帮助文件与3.0.5120版本,我已经添加了此行我wixproj:

<ItemGroup> 
    <BootstrapperFile Include="dotnetfx.exe"> 
    <ProductName>.NET Framework 3.5 sp1</ProductName> 
    </BootstrapperFile> 
</ItemGroup> 

以及该行:

<Target Name="AfterBuild"> 
    <GenerateBootstrapper ApplicationFile="$(TargetPath)" 
         ApplicationName="MyApp" 
         BootstrapperItems="@(BootstrapperFile)" 
         ComponentsLocation="Relative" 
         CopyComponents="True" 
         OutputPath="$(OutputPath)" 
         Path="C:\downloads\"/> 
</Target> 

是的,我知道,那'path'不是帮助文件中的内容,但那是因为我没有在构建服务器上安装Visual Studio。有什么神奇的词让这个工作?

+0

删除了'哈德森'标签,因为它只与该问题相切。 – 2009-08-14 15:11:52

回答

0

有几个我在做什么事情不对。

首先,因为我没有在该机器上安装Visual Studio,我需要将c:\ program files \ common components \ microsoft SDKs \ etc目录复制到生成机器上。这就是哈德森标签;没有视觉工作室,没有那个目录就无法工作。

其次,本教程包含一个关于windows installer 3.1以及.net的部分。这很关键。

第三,拿到了.NET 3.5 SP1的安装工作,你必须遵循在vs2008 sp1 installation readme的指示,

四,这是至关重要的,确保没有一个空间开始Visual Studio 2008 sp1中描述的xml标签。

2

要让引导程序从cd安装.net,您需要将组件位置更改为“绝对”。

您还需要在生成机器上安装平台sdk以获取正确的靴带文件。然后你将'Path'指向平台sdk install中的引导程序位置,在我的电脑上它是C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper

0

如何使用Hudson构建而不使用VS for WP8,是否有可能将MSbuild命令行工具与Wix一起用于64位系统。