msidb allows multiple tables to be imported with the use of
standard wildcards. For example, both Feature and
FeatureComponent tables can be imported simultaneously like so:
msidb -d package.msi -f . -i 'Feature*'
Please note that it is important to quote the wildcard to prevent
files from being passed instead of the intended pattern.
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
msidb permits tables to be imported by filename (rather than just
the name of the table) when the '.idt' extension is specified.
This feature also allows specifying tables with long filenames:
msidb -d package.msi -f . -i InstallExecuteSequence.idt
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
msidb allows a full database export with the special "*" database
name. Note: It does not support true wildcards, just this special
indication that you wish to export all the tables in the database.
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
msidb's "-s" flag modifies the database export to use short (DOS)
filenames instead of full table names. This flag is convenient
because it uses the same filenames that the import (-i) option
expects. For example, the InstallExecuteSequence table gets imported
(or exported with this flag) as InstallE.idt where the normal export
option uses InstallExecuteSequence.idt.
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
msidb allows developers to export tables from a database with the "-e"
mode flag followed by a list of tables. For example, this call would
export three tables to the current directory:
msidb -d package.msi -f . -e ActionText Component InstallExecuteSequence
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
msidb allows developers to extract "streams" (cabinet files) from a
database with the "-x" mode flag followed by the filename for the
stream in the database, example:
msidb -d package.msi -x cabinet.cab
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
msidb allows developers to remove "streams" (cabinet files) from a
database with the "-k" mode flag followed by the filename for the
stream in the database, example:
msidb -d package.msi -k cabinet.cab
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
msidb allows developers to add "streams" (cabinet files) to a database
with the "-a" mode flag followed by a filename, example:
msidb -d package.msi -a cabinet.cab
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
msidb uses a nice CLI syntax for adding multiple database tables in
one call with the "-i" mode flag, this patch implements that syntax.
For example, this call would import three tables from the current
directory (ActionTe.idt, Componen.idt, and InstallE.idt):
msidb -d package.msi -f . -i ActionText Component InstallExecuteSequence
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
The "Windows SDK Components for Windows Installer Developers" has a
command line tool called msidb that is incredibly useful for creating,
editing, and exporting MSI installer databases, think of it as
winemsibuilder on steroids. This patch series implements much of the
functionality of the msidb tool, maintains compatible CLI flags, and
the underlying MSI functionality necessary to support these features.
Jacek expressed an interest in having these patches resurrected for
use by the Gecko build scripts and Austin's VS builds of Valgrind.
With this patch series all the existing winemsibuilder functionality
is available, plus the ability to drop streams, export the
_SummaryInformation table, and export binary streams (Binary/Icon
tables). A big feature of the implementation is that it allows you to
edit existing installer databases, rather than just creating new ones.
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>