GithubHelp home page GithubHelp logo

Harvest using actual MSBuild? about issues HOT 4 OPEN

wasabii avatar wasabii commented on July 20, 2024
Harvest using actual MSBuild?

from issues.

Comments (4)

robmen avatar robmen commented on July 20, 2024

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.

wasabii avatar wasabii commented on July 20, 2024

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.

wasabii avatar wasabii commented on July 20, 2024

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.

robmen avatar robmen commented on July 20, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.