How about a bounty for a new windows installer using inno setup ?

Jesse Phillips via Digitalmars-d digitalmars-d at puremagic.com
Thu Dec 8 12:04:01 PST 2016


On Thursday, 8 December 2016 at 11:03:07 UTC, Thomas Mader wrote:
> I think you might be right about using WiX. MSI seems to be 
> build upon transactional installation.
> Do you think it would be possible to use D instead of C++ to 
> write custom code?

Short answer is yes, I've created such and actually inject my 
custom DLL for testing purposes.

MSI's are pretty awkward, no one knows how to create the MSI 
database instead there are 3 example databases provided which you 
can merge together if you desire that feature. From there the 
Database consists of tables which layout the installation 
sequence along with the installation sequence for the GUI. These 
sequences can call "Custom Actions" which are just table entries 
that point to a DLL (there is more to Custom Actions).

The signature looks something like below. I've got a little 
wrapper around the MSIHANDLE so as to add some safety and 
convenience.

    extern(Windows):
    export uint MyCustomActionName(const MsiLiveHandle hModule) {

I'm not too familiar with WIX and the exposure I've had is with 
older versions (3.x) which have had annoying and weird bugs. D 
certainly could be used to create the D MSI installer, but that 
is even lower level than WIX.


More information about the Digitalmars-d mailing list