Changes made to the installation database are not written to the database until you call MsiDatabaseCommit.
To ensure changes made in a database are finalized
- Check to see whether a table will be written when you call MsiDatabaseCommit by calling MsiDatabaseIsTablePersistent.
- Call the MsiDatabaseCommit function to finalize changes to the database.
Changes made in a database are accumulated and are not reflected in the actual database until you call MsiDatabaseCommit. Temporary columns or rows are not committed to the database. When a database is closed, all changes made since the last MsiDatabaseCommit are automatically rolled back.