You could create a separate configuration, say Custom|AnyCPU, for your 
solution, where all of your projects' output paths are set to the same 
folder, along with all assemblies having CopyLocal set to true, so you 
can just run Heat on that directory to grab everything. You would do 
this by adding something along these lines to each project:

   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 
'Custom|AnyCPU' ">
     <DebugType>pdbonly</DebugType>
     <Optimize>true</Optimize>
     <OutputPath>PATH WITH TRAILING SLASH</OutputPath>
     <DefineConstants>TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>

You could also put that fragment of xml in a separate file and include 
it in each project using the Import element.

Short of a set up like that, you could write a Heat extension to do it 
all for you.

On 22/06/2013 5:46 AM, Tom - wrote:
> This is a follow-up to my previous conundrum of all needed assemblies not 
> getting included in my setup-package. The answer seems simpler than I 
> thought. Previous setup projects in VS.NET 2010 was obviously kind enough to 
> detect and include all references. Setting Heat.exe to a single output 
> directory (the one that creates the main application .exe) does not include 
> all the references because all the assemblies are not in that directory. The 
> assemblies are spread around the project-folders of the 30+ project large 
> application. This is a quite awful problem to have because it will still 
> install, but it won't crash until the installed application wants to load 
> whatever assembly was not included by heat.exe. So how do I work with this? 
> Merge all project folders into a single folder that I heat.exe before 
> building? Manually verify all components are included after installing the 
> finished product? How do you guys handle it? All I do in my pre-build event 
> today is:
>   
> "$(WIX)bin\heat.exe" dir "D:\MyApplication\Project1\bin" -var var.AppBuildDir 
> -cg HeatBinaryFiles -gg -scom -sreg -sfrag -srd -dr INSTALLDIRECTORY -out 
> "$(ProjectDir)Fragments\HeatDirectoryFragment.wxs"
>
> That will obviously not get all dependencies as "Project1", albeit being the 
> startup-project with the main .exe, is but one of 30+ projects.
>                                       
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
>
> Build for Windows Store.
>
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>



------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to