2014-10-10 82 views
0

我的問題是msbuild腳本找不到我的MSI安裝程序文件。 這裏是腳本文件bootstrapper.msbuild:在MSBuild腳本中找不到ApplicationFile文件問題

<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引用的目錄?

請問您能建議嗎?

回答

0

看起來你的相對路徑不正確。嘗試:

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

對不起@Tom Blodget,但我試過這個徒勞無功......我甚至把msi文件放在msbuild文件的同一目錄中。 – Sofiane 2014-10-12 09:55:30

0

問題是我沒有把MSI文件放在生成的setup.exe所在的路徑中。我在想這個以後會包含所有文件... 我錯了嗎?

相關問題