views:

83

answers:

1

I have a C++/Qt/mingw app and would like to use msi.h (Microsoft Installer interface), but mingw does not seem to provide this header. How can I do this?

+1  A: 

The MinGW(.org) project does not supply this header, but I do know the mingw-w64 project does. I don't know how complete it is, but you can try and seefor yourself:

website: http://mingw-w64.sourceforge.net (win 32 or 64 downloads -> personal builds -> sezero has good ones. naming scheme:

mingw-wAA-bin_BBBB-CCCCC_20100914_sezero.zip

AA: 32 or 64: produces 32 or 64-bit binaries

BBBB: this compiler runs on 32-bit (i686) or 64-bit (x86_64) Windows

CCCCC: this compiler is built for mingw=windows, linux=well, linux :) )

Set up your PATH to the mingw64/bin directory in the unpacked archive.

TDM, who brought you a very good mingw.org compiler/toolchain, also supplies mingw-w64 toolchains in the form of TDM64-GCC: http://tdm-gcc.tdragon.net/download with an installer

If msi.h is incomplete, please ask for help on [email protected]. It's a very friendly community and will try to help you (fast) if they can!

I hope this helps.

rubenvb
thank you very much.
kaboom
I have downloaded mingw-w32-bin_i686-mingw_20100914_sezero.zip, ran gendef C:\Windows\SysWOW64\msi.dll and dlltool -D C:\Windows\SysWOW64\msi.dll -V -l libmsi.a, copied msi.h to my project and was able to call MsiQueryProductState
kaboom
@kaboom: That's great news; if you want your project on the front page of mingw-w64, let them know ;)
rubenvb
maybe later after I have switched completely to these tools
kaboom