Author: akhaldi
Date: Fri Oct 10 11:41:31 2014
New Revision: 64655

URL: http://svn.reactos.org/svn/reactos?rev=64655&view=rev
Log:
[MSIEXEC]
* Sync with Wine 1.7.27.
CORE-8540

Modified:
    trunk/reactos/base/system/msiexec/msiexec.c
    trunk/reactos/base/system/msiexec/service.c
    trunk/reactos/media/doc/README.WINE

Modified: trunk/reactos/base/system/msiexec/msiexec.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/msiexec/msiexec.c?rev=64655&r1=64654&r2=64655&view=diff
==============================================================================
--- trunk/reactos/base/system/msiexec/msiexec.c [iso-8859-1] (original)
+++ trunk/reactos/base/system/msiexec/msiexec.c [iso-8859-1] Fri Oct 10 
11:41:31 2014
@@ -418,11 +418,12 @@
 {
        enum chomp_state state = cs_token;
        WCHAR *p, *out;
-       int count = 1, ignore;
+        int count = 1;
+        BOOL ignore;
 
        for( p = str, out = str; *p; p++ )
        {
-               ignore = 1;
+                ignore = TRUE;
                switch( state )
                {
                case cs_whitespace:
@@ -436,7 +437,7 @@
                                break;
                        default:
                                count++;
-                               ignore = 0;
+                                ignore = FALSE;
                                state = cs_token;
                        }
                        break;
@@ -452,7 +453,7 @@
                                *out++ = 0;
                                break;
                        default:
-                               ignore = 0;
+                                ignore = FALSE;
                        }
                        break;
 
@@ -463,7 +464,7 @@
                                state = cs_token;
                                break;
                        default:
-                               ignore = 0;
+                                ignore = FALSE;
                        }
                        break;
                }
@@ -626,6 +627,7 @@
                        WINE_TRACE("argvW[%d] = %s\n", i, 
wine_dbgstr_w(argvW[i]));
                        PackageName = argvW[i];
                        StringListAppend(&property_list, ActionAdmin);
+                       WINE_FIXME("Administrative installs are not currently 
supported\n");
                }
                else if(msi_option_prefix(argvW[i], "f"))
                {
@@ -906,13 +908,18 @@
                        }
                        else if(msi_strequal(argvW[i]+2, "b+!"))
                        {
-                               InstallUILevel = 
INSTALLUILEVEL_BASIC|INSTALLUILEVEL_ENDDIALOG;
-                               WINE_FIXME("Unknown modifier: !\n");
+                               WINE_FIXME("Unhandled modifier: !\n");
+                               InstallUILevel = 
INSTALLUILEVEL_BASIC|INSTALLUILEVEL_ENDDIALOG|INSTALLUILEVEL_HIDECANCEL;
+                       }
+                       else if(msi_strequal(argvW[i]+2, "b-!"))
+                       {
+                               WINE_FIXME("Unhandled modifier: !\n");
+                               InstallUILevel = 
INSTALLUILEVEL_BASIC|INSTALLUILEVEL_PROGRESSONLY|INSTALLUILEVEL_HIDECANCEL;
                        }
                        else if(msi_strequal(argvW[i]+2, "b!"))
                        {
-                               InstallUILevel = INSTALLUILEVEL_BASIC;
-                               WINE_FIXME("Unknown modifier: !\n");
+                               WINE_FIXME("Unhandled modifier: !\n");
+                               InstallUILevel = 
INSTALLUILEVEL_BASIC|INSTALLUILEVEL_HIDECANCEL;
                        }
                        else
                        {

Modified: trunk/reactos/base/system/msiexec/service.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/msiexec/service.c?rev=64655&r1=64654&r2=64655&view=diff
==============================================================================
--- trunk/reactos/base/system/msiexec/service.c [iso-8859-1] (original)
+++ trunk/reactos/base/system/msiexec/service.c [iso-8859-1] Fri Oct 10 
11:41:31 2014
@@ -73,6 +73,8 @@
 
 static void WINAPI ServiceCtrlHandler(DWORD code)
 {
+    DWORD state = SERVICE_RUNNING;
+
     WINE_TRACE("%u\n", code);
 
     switch (code)
@@ -81,21 +83,19 @@
         case SERVICE_CONTROL_STOP:
             UpdateSCMStatus(SERVICE_STOP_PENDING, NO_ERROR, 0);
             KillService();
-            return;
+            state = SERVICE_STOPPED;
+            break;
         default:
             fprintf(stderr, "Unhandled service control code: %u\n", code);
             break;
     }
 
-    UpdateSCMStatus(SERVICE_RUNNING, NO_ERROR, 0);
+    UpdateSCMStatus(state, NO_ERROR, 0);
 }
 
 static DWORD WINAPI ServiceExecutionThread(LPVOID param)
 {
-    while (TRUE)
-    {
-        /* do nothing */
-    }
+    WaitForSingleObject(kill_event, INFINITE);
 
     return 0;
 }
@@ -130,12 +130,14 @@
     {
         fprintf(stderr, "Failed to create event\n");
         KillService();
+        UpdateSCMStatus(SERVICE_STOPPED, NO_ERROR, 0);
         return;
     }
 
     if (!StartServiceThread())
     {
         KillService();
+        UpdateSCMStatus(SERVICE_STOPPED, NO_ERROR, 0);
         return;
     }
 
@@ -143,6 +145,8 @@
 
     WaitForSingleObject(kill_event, INFINITE);
     KillService();
+
+    UpdateSCMStatus(SERVICE_STOPPED, NO_ERROR, 0);
 }
 
 DWORD DoService(void)

Modified: trunk/reactos/media/doc/README.WINE
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=64655&r1=64654&r2=64655&view=diff
==============================================================================
--- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original)
+++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Fri Oct 10 11:41:31 2014
@@ -246,7 +246,7 @@
 reactos/base/applications/wordpad           # Synced to Wine-1.7.9
 reactos/base/services/rpcss                 # Synced to Wine-1.7.27
 reactos/base/system/expand                  # Synced to Wine-1.7.1
-reactos/base/system/msiexec                 # Synced to Wine-1.7.1
+reactos/base/system/msiexec                 # Synced to Wine-1.7.27
 reactos/modules/rosapps/winfile             # Autosync
 
 In addition the following libs, dlls and source files are mostly based on code 
ported


Reply via email to