<g> I'll take you up on that... How big are they? Small enough to post
here?
I don't know what the protocol is for posting
attachments to newsgroups. It's about 100 KB.
I hope that's OK to post. I'll attach it to a follow-up
message so that people won't get stuck downloading
it with this one.
The package includes a help file and general
info. There are three things worth mentioning in
advance:
1) The utility uses Power Archiver to unpack MSI
CAB files. If you use another zip program you need
to change a line or two of code. (It's explained in
the help. The command line for unpacking the CAB
must be a valid command line for an installed zip
program.)
2) A surprising number of programs, for reasons I
don't know, come in EXEs that unload MSIs to the
TEMP folder. The utility can unpack those MSIs
but you might not know they're MSIs unless you
check TEMP while installing. I installed the Java
SDK/runtime awhile back, for instance, and it was
packed as a somewhat bizarre, multiple-level encasing
of MSIs and EXEs.
3) The utility was written before Windows Installer
v. 3 was released, but it should work fine with MSI v. 3
files. From what I could gather reading the docs, the
changes in MSI v. 3 are minimal. In fact, even though
each version of Windows Installer refuses to open
later-version packages, the general system does not
seem to have changed significantly since the original
version. I wrote the utility using a Windows Installer
v. 1.1 CHM file with v. 2 installed and had no problems.
In fact, with v. 1.5 it was possible to just edit the MSI file
version number i order to force it to install with only
the v. 1.1 runtime installed.
Other than those points, the utility is straightforward.
It has an IE webpage interface, driven by VBScript, that
will process an MSI and let you inspect each feature
and component in terms of finding what files and/or
Registry settings are included. It also unpacks the
MSI, writing a log to document the contents. There
are also scripts included to:
- Do a dump of all the database tables.
- Create an installer VBScript to write the required
Registry settings for a given portion of an MSI
install without having to install the whole thing.
(As in the SAPI 5 example mentioned earlier.)
That script is meant mainly as a demo of how
one can take advantage of the methods in the
Windows Installer COM object to get the information
necessary to include needed support files into a
program installer, even though Microsoft may only
release those particular support files in merge
module (MSM) form.
In other words, if you want
to ship support files that only come in MSM files -
without being forced to use an MSI install and the
astronomical bloat that that may, in some cases,
entail - the demo script shows the basics of how to
do it.