Module: wine Branch: master Commit: 85809843468f6040e25dcd5ed10f9b0a2c4e551f URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=85809843468f6040e25dcd5e...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Sep 13 12:56:37 2006 +0200
msiexec: Ignore failure to create the service if it already exists.
---
programs/msiexec/msiexec.c | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/programs/msiexec/msiexec.c b/programs/msiexec/msiexec.c index d8025bf..364d54a 100644 --- a/programs/msiexec/msiexec.c +++ b/programs/msiexec/msiexec.c @@ -333,6 +333,7 @@ static DWORD DoRegServer(void) { SC_HANDLE scm, service; CHAR path[MAX_PATH+12]; + DWORD ret = 0;
scm = OpenSCManager(NULL, SERVICES_ACTIVE_DATABASE, SC_MANAGER_CREATE_SERVICE); if (!scm) @@ -348,16 +349,15 @@ static DWORD DoRegServer(void) SERVICE_WIN32_SHARE_PROCESS, SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL, path, NULL, NULL, NULL, NULL, NULL); - if (!service) + + if (service) CloseServiceHandle(service); + else if (GetLastError() != ERROR_SERVICE_EXISTS) { fprintf(stderr, "Failed to create MSI service\n"); - CloseServiceHandle(scm); - return 1; + ret = 1; } - - CloseServiceHandle(scm); - CloseServiceHandle(service); - return 0; + CloseServiceHandle(scm); + return ret; }
static BOOL process_args_from_reg( LPWSTR ident, int *pargc, WCHAR ***pargv )