mirror of
https://github.com/reactos/reactos.git
synced 2025-05-17 16:27:00 +00:00
[MSIEXEC]
* Sync with Wine 1.7.27. CORE-8540 svn path=/trunk/; revision=64655
This commit is contained in:
parent
fd993b97d5
commit
8b43551c8c
3 changed files with 27 additions and 16 deletions
|
@ -418,11 +418,12 @@ static int chomp( WCHAR *str )
|
|||
{
|
||||
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 @@ static int chomp( WCHAR *str )
|
|||
break;
|
||||
default:
|
||||
count++;
|
||||
ignore = 0;
|
||||
ignore = FALSE;
|
||||
state = cs_token;
|
||||
}
|
||||
break;
|
||||
|
@ -452,7 +453,7 @@ static int chomp( WCHAR *str )
|
|||
*out++ = 0;
|
||||
break;
|
||||
default:
|
||||
ignore = 0;
|
||||
ignore = FALSE;
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -463,7 +464,7 @@ static int chomp( WCHAR *str )
|
|||
state = cs_token;
|
||||
break;
|
||||
default:
|
||||
ignore = 0;
|
||||
ignore = FALSE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -626,6 +627,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
|||
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 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
|
|||
}
|
||||
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
|
||||
{
|
||||
|
|
|
@ -73,6 +73,8 @@ static BOOL UpdateSCMStatus(DWORD dwCurrentState, DWORD dwWin32ExitCode,
|
|||
|
||||
static void WINAPI ServiceCtrlHandler(DWORD code)
|
||||
{
|
||||
DWORD state = SERVICE_RUNNING;
|
||||
|
||||
WINE_TRACE("%u\n", code);
|
||||
|
||||
switch (code)
|
||||
|
@ -81,21 +83,19 @@ static void WINAPI ServiceCtrlHandler(DWORD 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;
|
||||
}
|
||||
|
@ -130,12 +130,14 @@ static void WINAPI ServiceMain(DWORD argc, LPSTR *argv)
|
|||
{
|
||||
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 @@ static void WINAPI ServiceMain(DWORD argc, LPSTR *argv)
|
|||
|
||||
WaitForSingleObject(kill_event, INFINITE);
|
||||
KillService();
|
||||
|
||||
UpdateSCMStatus(SERVICE_STOPPED, NO_ERROR, 0);
|
||||
}
|
||||
|
||||
DWORD DoService(void)
|
||||
|
|
|
@ -246,7 +246,7 @@ reactos/base/applications/winhlp32 # Synced to Wine-1.7.27
|
|||
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
|
||||
|
|
Loading…
Reference in a new issue