Dmitry Timoshkov : regsvr32: Call OleInitialize before registering a DLL.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Feb 9 10:53:49 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 2c59936fee254cfae4c646fccb3a6cc3f3c92f27
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=2c59936fee254cfae4c646fccb3a6cc3f3c92f27

Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date:   Thu Feb  9 17:48:12 2006 +0100

regsvr32: Call OleInitialize before registering a DLL.

---

 programs/regsvr32/Makefile.in |    2 +-
 programs/regsvr32/regsvr32.c  |    4 ++++
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/programs/regsvr32/Makefile.in b/programs/regsvr32/Makefile.in
index 472916b..916e2df 100644
--- a/programs/regsvr32/Makefile.in
+++ b/programs/regsvr32/Makefile.in
@@ -4,7 +4,7 @@ SRCDIR    = @srcdir@
 VPATH     = @srcdir@
 MODULE    = regsvr32.exe
 APPMODE   = -mconsole
-IMPORTS   = kernel32
+IMPORTS   = ole32 kernel32
 
 C_SRCS = \
 	regsvr32.c
diff --git a/programs/regsvr32/regsvr32.c b/programs/regsvr32/regsvr32.c
index 866c285..d284fb7 100644
--- a/programs/regsvr32/regsvr32.c
+++ b/programs/regsvr32/regsvr32.c
@@ -53,6 +53,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <windows.h>
+#include <ole2.h>
 
 typedef HRESULT (*DLLREGISTER)          (void);
 typedef HRESULT (*DLLUNREGISTER)        (void);
@@ -184,6 +185,7 @@ int main(int argc, char* argv[])
     WCHAR*          wsCommandLine = NULL;
     WCHAR           EmptyLine[1] = {0};
 
+    OleInitialize(NULL);
 
     /* Strictly, the Microsoft version processes all the flags before
      * the files (e.g. regsvr32 file1 /s file2 is silent even for file1.
@@ -278,5 +280,7 @@ int main(int argc, char* argv[])
             return -1;
     }
 
+    OleUninitialize();
+
     return 0;
 }




More information about the wine-cvs mailing list