Question

I'm trying to create a MSBuild script that could build a VB project and an InstallShield Setup project.

Here's a BuildAll.XML file as the MSBuild script:

<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <Target Name="Build">
    <MSBuild Projects="D:\WindowsApplication1\WindowsApplication1\WindowsApplication1.vbproj" />
    <MSBuild Projects="D:\WindowsApplication1\Setup1\Setup1.isproj" />
  </Target>

</Project>

Running this command on the Developer Command Prompt for VS2012.

msbuild.exe D:\WindowsApplication1\WindowsApplication1\BuildAll.xml /t:Build

The first MSBuild for the WindowApplication1.vbproc completes the build, but when the MSBuild would try to build the Setup1.isproj it fails.

Here's the warning and error:

"D:\WindowsApplication1\WindowsApplication1\BuildAll.xml" (Build target) ( 1) -> "D:\WindowsApplication1\Setup1\Setup1.isproj" (default target) (3) -> (Build target) -> C:\Program Files (x86)\MSBuild\InstallShield\2013Limited\InstallShield.target s : warning : -7235: InstallShield could not create the software identification tag because the Tag Creator ID setting in the General Information view is empt y. [D:\WindowsApplication1\Setup1\Setup1.isproj] C:\Program Files (x86)\MSBuild\InstallShield\2013Limited\InstallShield.target s : warning : -1527: No files are included in the project. [D:\WindowsAppl ication1\Setup1\Setup1.isproj]

"D:\WindowsApplication1\WindowsApplication1\BuildAll.xml" (Build target) ( 1) -> "D:\WindowsApplication1\Setup1\Setup1.isproj" (default target) (3) -> (Build target) -> C:\Program Files (x86)\MSBuild\InstallShield\2013Limited\InstallShield.target s(108,3): error : No outputs for project "WindowsApplication1" were provided, b ut the installation project references "WindowsApplication1.ContentFiles". [D:\ \WindowsApplication1\Setup1\Setup1.isproj] C:\Program Files (x86)\MSBuild\InstallShield\2013Limited\InstallShield.target s(108,3): error : No outputs for project "WindowsApplication1" were provided, b ut the installation project references "WindowsApplication1.Built". [D:\WindowsApplication1\Setup1\Setup1.isproj]

The Setup1 Project has two Application Files:

  • WindowsApplication1.ContentFiles
  • WindowsApplication1.PrimaryOutput

But when I use the Build > Build Solution on the Visual Studio 2012, it works fine. It produces the Setup.exe.

How can I make my BuildAll.xml make the same building process with the Visual Studio's Build Solution?

No correct solution

OTHER TIPS

Got my answer from this post.

I should have built the entire solution rather than per project

Here's the correct script:

<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <Target Name="Build">
    <MSBuild Projects="D:\WindowsApplication1\WindowsApplication1.sln" />
  </Target>

</Project>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top