WiX (Votive) Link to Project Cleanup (HEAT) ASP.Net Web Application

What am I doing

I have an ASP.Net web application and a WiX installation project in Visual Studio 2010. I can explicitly build a web application with the following set of HEAT commands as a pre-build event for the installation project:

"% WIX% \ bin \ heat.exe" project "$ (SolutionDir) Application.WebUI \ Application.WebUI.vbproj" -o "$ (ProjectDir) ProjectOutputContent.wxs" -pog Content -ag -template fragment - nologo -directoryid RUNTIMEFOLDER

"% WIX% \ bin \ heat.exe" project "$ (SolutionDir) Application.WebUI \ Application.WebUI.vbproj" -o "$ (ProjectDir) ProjectOutputBinariesAndSymbols.wxs" -pog Binaries -pog Symbols -ag - template fragment - nologo -directoryid BINFOLDER

Keep in mind that the RUNTIME and BINFOLDER folders are directories that I declaratively install in my main WXS product file.

Why i don't like it

This approach is annoying because I need the HEX files of the generated WXS fragments to be extracted before I can create an installation project. Another consideration is that this is a web application, and I need to drop the binaries and characters to a different directory (bin) than the content.

What am I looking for

I would rather use the project link in the Wix installation project and just set the Harvest property to True. Then I could collect BinariesContentSatellites to get the elements I need in my fragment, and then set one directory identifier that I can reference in the main WXS product. The problem is that this will put the contents, binaries and characters in the same folder where I need the last two in the bin folder. I cannot add this project link twice, each with different crop options.

My question

Is there a way to do what I need or do I need to save the pre-build event? As an aside, I considered manually harvesting a fragment once, without a build event, and then re-harvesting if necessary. I would rather avoid this approach.

+4
source share
1 answer

Answering your topic β€œWhy I don't like this”: I also had the same problem, but then I found a solution. You do not need to check the fragment file. Just add the file physically and then include in your project

Note. Do not add the fragment file from the project.

+3
source

All Articles