Comments (4)
why heat.exe for this?
There were many things done in WiX v4, but improving the state of harvesting was not one of them. So, heat.exe was maintained in v4 to the extent that it could be
Is this something even on people's radar?
Absolutely. Notice was put out that heat.exe was on a path to obsolecence.
There are some ideas about how to finally deprecate heat.exe in WiX v5.
Is it something you'd like a contribution for?
At FireGiant, we released an advanced harvesting solution as a WiX extension. If this is something you are interested in implementing, you could do so in a similar way.
Or is there some reason the problem isn't approached in this way?
Solving harvesting correctly for all scenarios (not just the "always early major upgrade" scenario) requires careful handling of identifiers to ensure they are stable. That makes creating a general harvesting solution more complex than it seems like it should be. We've slowly been implementing features in WiX to make harvesting work properly in all scenarios.
from issues.
Ahh. Yes, I did not know about this extension. I will check it out.
My solution for IDs has been to hash the case-insensitive relative file path from the project, coupled with an identifier assigned per ProjectReference (which I actually called HarvestProjectReference in my code). So the user can import the project multiple times (including output from multiple TFMs, or RIDs, etc).
from issues.
Looking at the FireGiant thing, looks like it might be customizable for my needs, except I'd need to add some custom targets to the source projects, that collected publish output. Because the Core SDK doesn't quite populate the returns from the Publish target properly (AppHost gets left out for some reason). So, calling Publish, having it emit to a directory, and then collecting the output items, I've found, has always been necessary.
Also, doesn't really deal with RID negotiation, or have any sort of outer build structure. Hmmm.
Is there a reference to a place where your current thinking on a future approach (for WiX itself, not FG), might be?
from issues.
except I'd need to add some custom targets to the source projects, that collected publish output.
FireGiant is a commercial company. We're responsive to customer requirements. Of course, that doesn't mean everything gets implemented, but customer input absolutely guides the way.
Is there a reference to a place where your current thinking on a future approach (for WiX itself, not FG), might be?
Future ideas for WiX are captured in WiX Improvement Proposals. The WIP I'm hinting at here has not been written yet since we're working through some pre-requisite ideas based on a new "wix stdlib". The conversations happen publicly during the WiX Online Meetings if you want to get into the weeds. Those meetings are also summarized on the FireGiant blog.
from issues.
Related Issues (20)
- Allow Merge Module inclusion with default feature
- WiX 5 auto-harvest (Files) creates two equal directories in the msi file
- Schema doc omits `attributeGroup` documentation
- ExePackagePayload Version attribute nullable object must have a value HOT 4
- Files-In-Use checking does not work with dynamic names HOT 3
- Files element requires the "Keep empty directories" attribute.
- Produce a wix-cli.msi HOT 6
- WixToolset.Firewall.wixext missing version information
- `wix extension list` does not display machine-wide extensions
- Build Error [NuGet security analysis]: Package 'System.Text.Json' 4.6.0 has a known high severity vulnerability error when attempting to build from fresh git clone HOT 5
- .NET 4.8 Redist signatures have changed -- causing install failures HOT 5
- Package with MSMQ custom action fails to install HOT 4
- Util User: Not able to create Domain user in standard usage HOT 2
- Managed CustomActions leave behind `SFXCA` folders
- Schedule actions based on symbols and tables
- Files element require registry key under HKCU and listed in the RemoveFile table HOT 5
- TouchFile fails due to 64-bit initialization HOT 2
- Error 2318: File does not exist HOT 1
- Page Not Found: /documentation/
- Upgrade from 3.14.1 to 5 causes incorrect `DesktopFolder` HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from issues.