Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
a6b8ff9d
Commit
a6b8ff9d
authored
Aug 22, 2006
by
James Hawkins
Committed by
Alexandre Julliard
Aug 23, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msiexec: Add handling for msiexec's regserver option.
parent
261691fa
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
1 deletion
+32
-1
msiexec.c
programs/msiexec/msiexec.c
+32
-1
No files found.
programs/msiexec/msiexec.c
View file @
a6b8ff9d
...
@@ -329,6 +329,37 @@ static DWORD DoDllUnregisterServer(LPCWSTR DllName)
...
@@ -329,6 +329,37 @@ static DWORD DoDllUnregisterServer(LPCWSTR DllName)
return
0
;
return
0
;
}
}
static
DWORD
DoRegServer
(
void
)
{
SC_HANDLE
scm
,
service
;
CHAR
path
[
MAX_PATH
+
12
];
scm
=
OpenSCManager
(
NULL
,
SERVICES_ACTIVE_DATABASE
,
SC_MANAGER_CREATE_SERVICE
);
if
(
!
scm
)
{
fprintf
(
stderr
,
"Failed to open the service control manager.
\n
"
);
return
1
;
}
GetSystemDirectory
(
path
,
MAX_PATH
);
lstrcatA
(
path
,
"
\\
msiexec.exe"
);
service
=
CreateServiceA
(
scm
,
"MSIServer"
,
"MSIServer"
,
GENERIC_ALL
,
SERVICE_WIN32_SHARE_PROCESS
,
SERVICE_DEMAND_START
,
SERVICE_ERROR_NORMAL
,
path
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
if
(
!
service
)
{
fprintf
(
stderr
,
"Failed to create MSI service
\n
"
);
CloseServiceHandle
(
scm
);
return
1
;
}
CloseServiceHandle
(
scm
);
CloseServiceHandle
(
service
);
return
0
;
}
static
BOOL
process_args_from_reg
(
LPWSTR
ident
,
int
*
pargc
,
WCHAR
***
pargv
)
static
BOOL
process_args_from_reg
(
LPWSTR
ident
,
int
*
pargc
,
WCHAR
***
pargv
)
{
{
LONG
r
;
LONG
r
;
...
@@ -808,7 +839,7 @@ int main(int argc, char **argv)
...
@@ -808,7 +839,7 @@ int main(int argc, char **argv)
}
}
else
if
(
FunctionRegServer
)
else
if
(
FunctionRegServer
)
{
{
WINE_FIXME
(
"/regserver not implemented yet, ignoring
\n
"
);
ReturnCode
=
DoRegServer
(
);
}
}
else
if
(
FunctionUnregServer
)
else
if
(
FunctionUnregServer
)
{
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment