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/msiexe…
==============================================================================
--- 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/servic…
==============================================================================
--- 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=…
==============================================================================
--- 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