On Sun, 2017-04-09 at 13:12 -0600, Erich E. Hoover wrote:
+static int open_database( struct msidb_state *state ) +{
- LPCWSTR db_mode = state->create_database ? MSIDBOPEN_CREATEDIRECT : MSIDBOPEN_DIRECT;
- UINT ret;
- ret = MsiOpenDatabaseW( state->database_file, db_mode, &state->database_handle );
Databases opened in direct mode should always be committed. You should either do that in following patches, or open them in transacted mode.