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