MSI (MS Installer)

Shachar Shemesh fribid-discuss at sun.consumer.org.il
Tue Dec 10 11:30:08 CST 2002


Uwe Bonnes wrote:

>Okay, now even I understand that msiexec is getting a problem.
>
>Argh!
>  
>
Well
I think Windows 2000 shiped with MSI 1.0, which was, to put it mildly, 
inadequate.

Which is not to say we are going to have a nice time of it. Not at all. 
I have played around with MSI a bit back in the times (about two years 
ago), and it is going to be a bitch. It is a semi-relational database, 
and it has SQL language to make it tick. It has a bunch of mandatory 
tables, and a few less-mandatory. It carries it's own CAB files inside a 
streams table. The format for the binary file will need to be understood.

Also, I know of at least one table that is there if queried by name, but 
does not appear if table listing is being requested. That particular 
table appeared in the MSDN docs. What about the others? If we are going 
to be rev-enging the MSI file format, that is not going to be much of a 
problem (Probably!), and I don't really think that the MSI itself is 
going to have too many undocumented APIs (let's not forget that most 
installations are produced using InstallShield and Wise, not by MS).

Also, MSI installed apps have a special kind of shortcut that tracks 
uses and allows for delayed installations (i.e. - install just the icon 
now, we'll install the actual file when needed). I'm pretty sure there 
is a heavy dependancy of MSI on file and directory tracking (it's 
ability to recover slightly missing installs).

So, it's not going to be easy, and there is a lot of infrastructure 
still missing.

                    Shachar






More information about the wine-devel mailing list