[wix-devs] Running WiX on Linux using Mono

Simon Tatham anakin at pobox.com
Sun Jul 9 01:22:52 PDT 2017


Simon Tatham <anakin at pobox.com> wrote:
> Really? Surely the whole family of functions that interface to
> MsiOpenDatabase / MsiDatabaseImport / MsiDatabaseCommit and so on
[...]
> (In wix3 those live in a different native-code DLL from the cab routines
> - msi.dll rather than winterop.dll itself - and I had to build shims for
> both.)

Sorry, my misunderstanding. Now I look more closely, I see that msi.dll
isn't part of wix3 at all - it's a standard Windows DLL which the C#
side of wix3 seems to be loading and using directly, without needing a
native-code glue layer of its own in between.

(Apparently I didn't even bother to check that during my initial
investigation - I just saw mono under strace trying to load libmsi.so,
and so I started writing one and looked to see what functions it needed
to contain, without checking where the real version actually lived :-)

So it's not part of the current winterop.dll arrangements, but it is
still a dependency on OS-specific functionality which would need
replacing on Linux.

Cheers,
Simon

-- 
import hashlib; print (lambda p,q,g,y,r,s,m: m if (lambda w:(pow(g,int(hashlib.
 sha1(m).hexdigest(),16)*w%q,p)*pow(y,r*w%q,p)%p)%q)(pow(s,q-2,q))==r else "!"
 )(0xb80b5dacabab6145, 0xf70027d345023, 0x7643bc4018957897, 0x11c2e5d9951130c9,
 0xa54d9cbe4e8ab, 0x746c50eaa1910, "Simon Tatham <anakin at pobox.com>")


More information about the wix-devs mailing list