在MSBuild脚本中找不到ApplicationFile文件的问题

时间:2014-10-10 17:01:43

标签: msbuild wix

我的问题是msbuild脚本无法找到我的MSI安装程序文件。 这是脚本文件bootstrapper.msbuild:

<Project ToolsVersion="3.5"
   xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <ItemGroup>
        <BootstrapperFile Include="Microsoft.Windows.Installer.4.5" >
           <ProductName>Windows Installer 4.5</ProductName>
        </BootstrapperFile>
        <!--<BootstrapperFile Include="DotNetFX40" >
           <ProductName>Microsoft DotNet Framework 4.5 SP1</ProductName>
        </BootstrapperFile>-->
    </ItemGroup>

    <!-- from http://stackoverflow.com/questions/346175/use-32bit-program-files-directory-in-msbuild
    -->
    <PropertyGroup>
         <ProgramFiles32>$(MSBuildProgramFiles32)</ProgramFiles32> 
         <ProgramFiles32 Condition=" '' == '$(ProgramFiles32)'">$(ProgramFiles%28x86%29)</ProgramFiles32>
         <ProgramFiles32 Condition=" '' == '$(ProgramFiles32)'">$(ProgramFiles)</ProgramFiles32>
    </PropertyGroup>

    <Target Name="SetupExe">
        <GenerateBootstrapper
            ApplicationFile="..\MySetup\MySetup\bin\Debug\MySetup.msi"
            ApplicationName="MyApplication"
            Culture="en"
            BootstrapperItems="@(BootstrapperFile)"
            ComponentsLocation="HomeSite"
            Path="$(ProgramFiles32)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\"
            OutputPath="output"/>
    </Target>

</Project>

文件夹结构如下: enter image description here

文件boostrapper.msbuild在Mybootstrapper中。我已经使用命令行尝试了路径,它运行正常。为什么不在ms构建?我错过了什么吗?

问题是GenerateBootstrapper所指的任务目录是什么?

你能告诉我吗?

2 个答案:

答案 0 :(得分:0)

看起来你的相对路径不正确。尝试:

ApplicationFile="..\MySetup\bin\Debug\MySetup.msi"

答案 1 :(得分:0)

问题是我没有将MSI文件放在生成的setup.exe所在的路径中。我以为后来会包含所有文件...... 我错了吗?