end = strstrW(beg, sep);
*end = '\0';
- MSI_SetPropertyW(package, szCustomActionData, beg);
+ msi_set_property(package->db, szCustomActionData, beg);
beg = end + 3;
end = strstrW(beg, sep);
*end = '\0';
- MSI_SetPropertyW(package, szUserSID, beg);
+ msi_set_property(package->db, szUserSID, beg);
beg = end + 3;
end = strchrW(beg, ']');
*end = '\0';
- MSI_SetPropertyW(package, szProductCode, beg);
+ msi_set_property(package->db, szProductCode, beg);
}
UINT ACTION_CustomAction(MSIPACKAGE *package, LPCWSTR action, UINT script, BOOL execute)
}
if (!execute)
{
- LPWSTR actiondata = msi_dup_property(package, action);
- LPWSTR usersid = msi_dup_property(package, szUserSID);
- LPWSTR prodcode = msi_dup_property(package, szProductCode);
+ LPWSTR actiondata = msi_dup_property(package->db, action);
+ LPWSTR usersid = msi_dup_property(package->db, szUserSID);
+ LPWSTR prodcode = msi_dup_property(package->db, szProductCode);
LPWSTR deferred = msi_get_deferred_action(action, actiondata, usersid, prodcode);
if (type & msidbCustomActionTypeCommit)
}
else
{
- LPWSTR actiondata = msi_dup_property( package, action );
+ LPWSTR actiondata = msi_dup_property( package->db, action );
switch (script)
{
if (deferred_data)
set_deferred_action_props(package, deferred_data);
else if (actiondata)
- MSI_SetPropertyW(package, szCustomActionData, actiondata);
+ msi_set_property(package->db, szCustomActionData, actiondata);
else
- MSI_SetPropertyW(package, szCustomActionData, szEmpty);
+ msi_set_property(package->db, szCustomActionData, szEmpty);
msi_free(actiondata);
}
break;
deformat_string(package,target,&deformated);
- rc = MSI_SetPropertyW(package,source,deformated);
+ rc = msi_set_property( package->db, source, deformated );
+ if (rc == ERROR_SUCCESS && !strcmpW( source, cszSourceDir ))
+ msi_reset_folders( package, TRUE );
msi_free(deformated);
break;
case 37: /* JScript/VBScript text stored in target column. */
DWORD sz = MAX_PATH;
UINT r;
- if (MSI_GetPropertyW(package, cszTempFolder, fmt, &sz) != ERROR_SUCCESS)
+ if (msi_get_property(package->db, cszTempFolder, fmt, &sz) != ERROR_SUCCESS)
GetTempPathW(MAX_PATH, fmt);
if (GetTempFileNameW(fmt, szMsi, 0, tmp_file) == 0)
UINT r;
size = MAX_PATH;
- MSI_GetPropertyW(package, cszSourceDir, package_path, &size);
+ msi_get_property(package->db, cszSourceDir, package_path, &size);
lstrcatW(package_path, szBackSlash);
lstrcatW(package_path, source);
memset(&si,0,sizeof(STARTUPINFOW));
memset(&info,0,sizeof(PROCESS_INFORMATION));
- prop = msi_dup_property( package, source );
+ prop = msi_dup_property( package->db, source );
if (!prop)
return ERROR_SUCCESS;
TRACE("%s %s\n", debugstr_w(source), debugstr_w(target));
- prop = msi_dup_property(package,source);
+ prop = msi_dup_property( package->db, source );
if (!prop)
return ERROR_SUCCESS;
EnterCriticalSection( &msi_custom_action_cs );
handle_count = list_count( &msi_pending_custom_actions );
- wait_handles = HeapAlloc( GetProcessHeap(), 0, handle_count * sizeof(HANDLE) );
+ wait_handles = msi_alloc( handle_count * sizeof(HANDLE) );
handle_count = 0;
LIST_FOR_EACH_ENTRY_SAFE( info, cursor, &msi_pending_custom_actions, msi_custom_action_info, entry )
CloseHandle( wait_handles[i] );
}
- HeapFree( GetProcessHeap(), 0, wait_handles );
+ msi_free( wait_handles );
}
typedef struct _msi_custom_remote_impl {