msi: Copy the temporary package when storing the installer.
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index e116967..535f070 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -60,8 +60,6 @@
* consts and values used
*/
static const WCHAR c_colon[] = {'C',':','\\',0};
-static const WCHAR szOriginalDatabase[] =
- {'O','r','i','g','i','n','a','l','D','a','t','a','b','a','s','e',0};
static const WCHAR szCreateFolders[] =
{'C','r','e','a','t','e','F','o','l','d','e','r','s',0};
@@ -616,6 +614,9 @@
LPWSTR source, check;
DWORD len;
+ static const WCHAR szOriginalDatabase[] =
+ {'O','r','i','g','i','n','a','l','D','a','t','a','b','a','s','e',0};
+
db = msi_dup_property( package, szOriginalDatabase );
if (!db)
return ERROR_OUTOFMEMORY;
@@ -3887,7 +3888,6 @@
static UINT msi_make_package_local( MSIPACKAGE *package, HKEY hkey )
{
WCHAR packagefile[MAX_PATH];
- LPWSTR msiFilePath;
HKEY props;
UINT r;
@@ -3897,17 +3897,14 @@
TRACE("Copying to local package %s\n",debugstr_w(packagefile));
- msiFilePath = msi_dup_property( package, szOriginalDatabase );
- r = CopyFileW( msiFilePath, packagefile, FALSE);
+ r = CopyFileW( package->db->path, packagefile, FALSE);
if (!r)
{
ERR("Unable to copy package (%s -> %s) (error %d)\n",
- debugstr_w(msiFilePath), debugstr_w(packagefile), GetLastError());
- msi_free( msiFilePath );
+ debugstr_w(package->db->path), debugstr_w(packagefile), GetLastError());
return ERROR_FUNCTION_FAILED;
}
- msi_free( msiFilePath );
msi_reg_set_val_str( hkey, INSTALLPROPERTY_LOCALPACKAGEW, packagefile );