* Sync with Wine 1.7.27.
CORE-8540
svn path=/trunk/; revision=64655
{
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:
break;
default:
count++;
- ignore = 0;
+ ignore = FALSE;
state = cs_token;
}
break;
*out++ = 0;
break;
default:
- ignore = 0;
+ ignore = FALSE;
}
break;
state = cs_token;
break;
default:
- ignore = 0;
+ ignore = FALSE;
}
break;
}
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"))
{
}
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
{
static void WINAPI ServiceCtrlHandler(DWORD code)
{
+ DWORD state = SERVICE_RUNNING;
+
WINE_TRACE("%u\n", code);
switch (code)
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;
}
{
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;
}
WaitForSingleObject(kill_event, INFINITE);
KillService();
+
+ UpdateSCMStatus(SERVICE_STOPPED, NO_ERROR, 0);
}
DWORD DoService(void)
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