Search code examples
.netmsbuildwixhudson

WiX, hudson, msbuild, and installing .NET via a bootstrapper


I want to have our WiX installer that is currently building on a build server via hudson calling msbuild scripts to incorporate the full .NET 3.5 sp1 installer executable. It turns out that our users can always get access to a CD, but not always to the internet, so we can't use the over-the-net installer. We can also require that all of our users are running XP, which is good, because we're also requiring them to run .NET 3.5.

Our build server does not have a copy of Visual Studio installed, but just builds the project via MSBuild.

Following the WiX helpfile with version 3.0.5120, I've added this line to my wixproj:

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

as well as this line:

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

Yes, I realize that that 'path' is not what's in the help file, but that's because I don't have visual studio on the build server. What are the magic words to make this work?


Solution

  • There were a few things wrong with what I was doing.

    First, because I didn't have Visual Studio installed on that machine, I needed to copy over the c:\program files\common components\microsoft SDKs\ etc directory to the build machine. That's the hudson tag; no visual studio, it won't work without that directory.

    Second, the tutorial includes a section on windows installer 3.1 as well as the .net thing. That's critical.

    Third, to get the .NET 3.5 sp1 installer to work, you have to follow the instructions in the vs2008 sp1 installation readme,

    Fourth, and this is crucial, make sure to not have a space in the beginning of the xml tags described in the visual studio 2008 sp1.