Commit graph

11 commits

Author SHA1 Message Date
Simon Tatham
7e5c5d4232 Move MsiGetFileVersion out into its own file. 2017-05-18 06:57:18 +01:00
Simon Tatham
9e3e915426 Move snew/sfree out into their own header+src. 2017-05-18 06:46:55 +01:00
Simon Tatham
ca59ebf60d Move MD5 out into its own file.
This begins a programme of code reorganisation at the end of which I'd
like to end up with something almost legible :-)
2017-05-18 06:43:51 +01:00
Simon Tatham
dc057115b5 Write terminating strings when MsiGetFileVersion() fails.
I had expected that if you were returning a failure code you didn't
have to - perhaps even _shouldn't_ - write through the output pointer
arguments. But in fact, now that my implementation of
MsiGetFileVersion _knows_ how to fail (i.e. doesn't just return a
hardcoded value for every call), the MSI build doesn't work unless I
also clear the output strings in the case of failure.
2017-05-16 19:19:51 +01:00
Simon Tatham
74592eecf3 Implement MsiGetFileHash.
A quick experiment or two with the real Windows version suggests that
the hash function in question is just MD5, repackaged as an array of
four little-endian 32-bit words instead of 16 bytes.
2017-05-16 19:06:45 +01:00
Simon Tatham
af3d986af7 Implement MsiGetFileVersion.
This is pretty ugly code, but it works well enough to deliver the
right versions for the files in my test MSI. I can polish it later.
2017-05-16 19:06:37 +01:00
Simon Tatham
505ea0fc84 Trivial misspelled option. 2017-05-15 20:49:59 +01:00
Simon Tatham
29795aed5b We now get as far as building a non-empty MSI file!
But I haven't tested it yet, so it's probably got a zillion things
wrong inside it.
2017-05-15 20:04:18 +01:00
Simon Tatham
b19fd4ee77 Build cab files using lcab. 2017-05-15 19:19:10 +01:00
Simon Tatham
d6e5f7ae7b All the remaining function stubs I appear to need.
Now I can get an idea of what sequence of calls WiX actually expects
to use to build an MSI.
2017-05-15 18:46:48 +01:00
Simon Tatham
6824aa549c Start of a fake msi.dll.
This seems to be the next function WiX expects from its native-code
DLLs. So far it's just a stub.
2017-02-20 07:17:56 +00:00