Replies: 1 comment
-
Yes the idea of directly building msi is attractive though AFAIK, WiX is the only usable msi compiler that can be used to populate msi database. Ironically, originally, MS expected us to prepare the msi file by opening the msi file in Orcas and populating database tables manually by typing in the cells. Only a handful ad-hock utilities allowed automation of this task. None of them were designed for reuse in more comprehensive frameworks/tools. If you are interested you can check out this article where I reflect on this. Nevertheless, your idea is not that impossible. One can still use WixSharp API and simply automate the insertion of the on-fly generated records in the msi file. Thanks MSI Interop (part of WixSharp) the insertion is a straightforward task. Authoring a simple msi would be very easy to achieve. But generating those records and ensuring the integrity of the database is a very challenging task. This is exactly where the frameworks like WiX bring huge value. Even though WiX is sometimes very difficult to deal with. Thus your idea is valid and intriguing but I am afraid it is beyond what I can commit to. Saying that, I am tagging this discussion as |
Beta Was this translation helpful? Give feedback.
-
Not sure if there is merit to this idea, however it might be nice to completely remove the dependency on WiX? I like wixsharp as a wrapper, however there are two major issues as I see it:
Maybe this would be a new library :) (Maybe it could be my new project).
But the DTF tooling is already available via wixtoolset, which is the meat of the functionality. I'm not sure if custom BAs would be a separate feature.
But as it stands everything can already be implemented through wixsharp, with a bit of obscurity in the wix files. I could see taking existing projects and targeting them to not use wix at all, i.e. re-implementing the parts of wix we most care about in wixsharp, first with dtf and finally by targeting the microsoft apis directly from PInvoke.
Possible benefits:
I did actually try 2) but I kept on having issues with directories, not being able to easily spawn multiple build processes.
Beta Was this translation helpful? Give feedback.
All reactions