Hans Leidekker : msi: Set concurrency model to multi-threaded for custom action threads.

Alexandre Julliard julliard at winehq.org
Fri Mar 13 09:14:02 CDT 2009


Module: wine
Branch: master
Commit: ba50d15060b612420b8849ac337404b3c4331f71
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ba50d15060b612420b8849ac337404b3c4331f71

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Fri Mar 13 14:48:00 2009 +0100

msi: Set concurrency model to multi-threaded for custom action threads.

A custom action in the office 2007 sp1 installer fails right after calling
CoInitializeEx(NULL, COINIT_MULTITHREADED). This is because our code calls
CoInitialize(NULL) first, which sets a different concurrency model, and a
subsequent call with a different model will return RPC_E_CHANGED_MODE.

Ergo, we should set the model to multi-threaded too.

---

 dlls/msi/custom.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/dlls/msi/custom.c b/dlls/msi/custom.c
index 66a7ce6..ffac63f 100644
--- a/dlls/msi/custom.c
+++ b/dlls/msi/custom.c
@@ -695,7 +695,7 @@ static DWORD ACTION_CallDllFunction( const GUID *guid )
             TRACE("calling %s\n", debugstr_w( function ) );
             handle_msi_break( function );
 
-            CoInitialize(NULL);
+            CoInitializeEx(NULL, COINIT_MULTITHREADED);
 
             __TRY
             {




More information about the wine-cvs mailing list