When a database is opened as the output of another database, the summary information stream of the output database is actually a read-only mirror of the original database and thus cannot be changed. Additionally, it is not persisted with the database. To create or modify the summary information for the output database it must be closed and re-opened.
The Database object should be Close()()()d after use. It is best that the handle be closed manually as soon as it is no longer needed, as leaving lots of unused handles open can degrade performance.
The database is opened in CreateDirect mode, and will be automatically commited when it is closed.
Win32 MSI API: MsiOpenDatabase
Exception | Condition |
---|---|
InstallerException | the database could not be created/opened |