static void create_database(const CHAR *name, const msi_table *tables, int num_tables) { MSIHANDLE db; UINT r; int j; r = MsiOpenDatabaseA(name, MSIDBOPEN_CREATE, &db); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); /* import the tables into the database */ for (j = 0; j < num_tables; j++) { const msi_table *table = &tables[j]; write_file(table->filename, table->data, (table->size - 1) * sizeof(char)); r = MsiDatabaseImportA(db, CURR_DIR, table->filename); todo_wine { ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); } DeleteFileA(table->filename); } write_msi_summary_info(db); r = MsiDatabaseCommit(db); ok(r == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %u\n", r); MsiCloseHandle(db); }
static void create_database( const char *filename, const struct msi_table *tables, UINT num_tables ) { MSIHANDLE hdb; UINT r, i; r = MsiOpenDatabaseA( filename, MSIDBOPEN_CREATE, &hdb ); ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r); /* import the tables into the database */ for (i = 0; i < num_tables; i++) { const struct msi_table *table = &tables[i]; write_file( table->filename, table->data, (table->size - 1) * sizeof(char) ); r = MsiDatabaseImportA( hdb, CURR_DIR, table->filename ); ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r); DeleteFileA( table->filename ); } r = MsiDatabaseCommit( hdb ); ok(r == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %u\n", r); MsiCloseHandle( hdb ); set_suminfo( filename ); }