\
Tips and Tricks
_Storages
The "_Storages" table
is used in a few very limited ways
by Windows installer.
It is used to imbed OLE storages into Windows Installer databases, these
can not be extracted with normal Windows Installer methods.
If you need to be able to read them use the
"_Streams"
or "Binary"
tables.
There are two Windows Installer SDK utilities that you
may wish to use for diagnostic purposes:
- WiSubStg.VBS
This utility can add or delete sub-storages from an MSI.
It can also list any storages the MSI contains.
- MsiDB.EXE
This utility can add or delete sub-storages from an MSI.
It can also extract sub-storages.
You will get error 2213 if you try to add a file with
an invalid format (non-Windows Installer?).
The following code shows how an MSI can be imbedded as
a sub storage.
It is only complicated slighty by the default
"_Validation" table
not having entries for the "_Storages" table
(so we need to ignore any "MISSINGDATA" error messages).
<$Table "_Storages" CREATE="N">
<$Row Name="AnMsi" Data="c:\tmp\AN.MSI" @Validate="NEW -MISSINGDATA">
<$/Table>