views:

539

answers:

2

Am I required to install Visual Studio 2008 in order to build a bootstrapper for my msi installer?

I don't have VS2008 installed on my build server, and I'd rather not install it just to generate this one bootstrapper, but it appears that the required bootstrapper files (setup.bin, the Microsoft SDKs folder, etc) are included in the VS setup.

A: 

It should be possible to install the Windows SDK on your build server which includes the bootstrapper.

In order to build Visual Studio setup and deployment projects you will need to have VS installed. However, you can use an MSBuild script to build the bootstrapper without VS (a good combination would be to use WiX for your MSI and MSBuild to create the bootstrapper). You will need to use the GenerateBootstrapper task (the following would output a localized bootstrapper installing the .NET Framework):

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"&gt;
    <ItemGroup>
        <BootstrapperFile Include="Microsoft.Net.Framework.2.0">
                <ProductName>.NET Framework 2.0</ProductName>
        </BootstrapperFile>
        <BootstrapperFile Include="Microsoft.Windows.Installer.3.1">
                <ProductName>Windows Installer 3.1</ProductName>
        </BootstrapperFile>
    </ItemGroup>

    <Target Name="Bootstrapper">
        <GenerateBootstrapper ApplicationFile="mySetup.msi" 
            Culture="de-DE" 
            ApplicationName="My Application" 
            OutputPath="$(OutDir)\de-DE" 
            BootstrapperItems="@(BootstrapperFile)" 
            Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\" />

        <GenerateBootstrapper ApplicationFile="mySetup.msi" 
            Culture="en-US" 
            ApplicationName="My Application" 
            OutputPath="$(OutDir)\en-US" 
            BootstrapperItems="@(BootstrapperFile)" 
            Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\" />
    </Target>
</Project>

These related questions might be helpful:

0xA3
I installed the SDK on the build server which created the Microsoft SDKs folder structure, etc. but did not include the bootstrapper directory. The bootstrapper, while in that folder is *not* part of the SDK. See: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=361924
James Thigpen
+3  A: 

I just ended up copying the files from my dev box to the build server. That worked fine.

Installing the Windows SDK didn't help, as the bootstrapper isn't part of the SDK even though that's where the files are located.

James Thigpen