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... ============================================================================== --- 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... ============================================================================== --- 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=6... ============================================================================== --- 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