Rebase against 218286bb87f8a38a48b4717247e578e02f6a051f.

This commit is contained in:
Sebastian Lackner
2017-09-15 01:12:35 +02:00
parent 7a557fe8fd
commit 7b016ffde8
7 changed files with 14 additions and 247 deletions

View File

@@ -1,4 +1,4 @@
From 898e62a33f525084b08d5a3be634e7fcb4661f68 Mon Sep 17 00:00:00 2001
From 246ebe70f4b1ffb5a41098045c0a29be6055d7dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 26 Jun 2017 16:18:09 +0200
Subject: msi: Create dummy thread to initialize COM for custom actions.
@@ -8,12 +8,12 @@ Subject: msi: Create dummy thread to initialize COM for custom actions.
1 file changed, 48 insertions(+)
diff --git a/dlls/msi/action.c b/dlls/msi/action.c
index 64e01c48f57..d804323ff58 100644
index 24ada643035..178e3949ee2 100644
--- a/dlls/msi/action.c
+++ b/dlls/msi/action.c
@@ -158,6 +158,13 @@ static const WCHAR szValidateProductID[] =
static const WCHAR szWriteEnvironmentStrings[] =
{'W','r','i','t','e','E','n','v','i','r','o','n','m','e','n','t','S','t','r','i','n','g','s',0};
@@ -160,6 +160,13 @@ static const WCHAR szWriteEnvironmentStrings[] =
static const WCHAR szINSTALL[] =
{'I','N','S','T','A','L','L',0};
+struct dummy_thread
+{
@@ -25,7 +25,7 @@ index 64e01c48f57..d804323ff58 100644
static INT ui_actionstart(MSIPACKAGE *package, LPCWSTR action, LPCWSTR description, LPCWSTR template)
{
WCHAR query[] = {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',
@@ -7860,6 +7867,42 @@ static UINT ACTION_PerformActionSequence(MSIPACKAGE *package, UINT seq)
@@ -7946,6 +7953,42 @@ static UINT ACTION_PerformActionSequence(MSIPACKAGE *package, UINT seq)
return rc;
}
@@ -68,15 +68,15 @@ index 64e01c48f57..d804323ff58 100644
/****************************************************
* TOP level entry points
*****************************************************/
@@ -7871,6 +7914,7 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
@@ -7956,6 +7999,7 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
static const WCHAR szDisableRollback[] = {'D','I','S','A','B','L','E','R','O','L','L','B','A','C','K',0};
static const WCHAR szAction[] = {'A','C','T','I','O','N',0};
static const WCHAR szInstall[] = {'I','N','S','T','A','L','L',0};
WCHAR *reinstall, *remove, *patch, *productcode;
WCHAR *reinstall, *remove, *patch, *productcode, *action;
+ struct dummy_thread thread_info = {NULL, NULL, NULL};
BOOL ui_exists;
UINT rc;
DWORD len = 0;
@@ -7936,6 +7980,8 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
@@ -8023,6 +8067,8 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
msi_adjust_privilege_properties( package );
msi_set_context( package );
@@ -85,7 +85,7 @@ index 64e01c48f57..d804323ff58 100644
productcode = msi_dup_property( package->db, szProductCode );
if (strcmpiW( productcode, package->ProductCode ))
{
@@ -7984,6 +8030,8 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
@@ -8059,6 +8105,8 @@ UINT MSI_InstallPackage( MSIPACKAGE *package, LPCWSTR szPackagePath,
/* finish up running custom actions */
ACTION_FinishCustomActions(package);
@@ -95,5 +95,5 @@ index 64e01c48f57..d804323ff58 100644
{
WARN("installation failed, running rollback script\n");
--
2.13.1
2.14.1