regsvr32: Call InstallDll before UnregisterDll when using /u /i

Hugh McMaster hugh.mcmaster at outlook.com
Mon Sep 7 05:08:10 CDT 2015


---
 programs/regsvr32/regsvr32.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/programs/regsvr32/regsvr32.c b/programs/regsvr32/regsvr32.c
index a2d83a1..ff6a3ae 100644
--- a/programs/regsvr32/regsvr32.c
+++ b/programs/regsvr32/regsvr32.c
@@ -289,6 +289,12 @@ int wmain(int argc, WCHAR* argv[])
             int res = 0;
 
             DllFound = TRUE;
+            if (CallInstall && Unregister)
+                res = InstallDll(!Unregister, DllName, wsCommandLine);
+
+            if (res)
+                return res;
+
             if (!CallInstall || (CallInstall && CallRegister))
             {
                 if(Unregister)
@@ -301,10 +307,8 @@ int wmain(int argc, WCHAR* argv[])
                 return res;
             /* Confirmed. The Windows version stops on the first error. */
 
-            if (CallInstall)
-            {
+            if (CallInstall && !Unregister)
                 res = InstallDll(!Unregister, DllName, wsCommandLine);
-            }
 
             if (res)
 		return res;
-- 
1.9.1




More information about the wine-patches mailing list