![]() We use a named pipe to communicate between the client (i.e. the process that called MsiInstallProduct() and the custom action server. The naïve approach has the client send custom action GUIDs to the server and the server send back the results of executing the action, but this fails in the case of nested custom actions, so instead we send back handles of threads for the client to wait on. Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Hans Leidekker <hans@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> |
||
---|---|---|
.. | ||
tests | ||
Makefile.in | ||
action.c | ||
alter.c | ||
appsearch.c | ||
assembly.c | ||
automation.c | ||
classes.c | ||
cond.y | ||
create.c | ||
custom.c | ||
database.c | ||
delete.c | ||
dialog.c | ||
distinct.c | ||
drop.c | ||
files.c | ||
font.c | ||
format.c | ||
handle.c | ||
insert.c | ||
instabsent.bmp | ||
instadvert.bmp | ||
install.c | ||
instlocal.bmp | ||
media.c | ||
msi.c | ||
msi.rc | ||
msi.spec | ||
msi_main.c | ||
msipriv.h | ||
msiquery.c | ||
msiserver.idl | ||
msiserver.rgs | ||
msiserver_dispids.h | ||
package.c | ||
patch.c | ||
query.h | ||
record.c | ||
registry.c | ||
resource.h | ||
script.c | ||
select.c | ||
source.c | ||
sql.y | ||
storages.c | ||
streams.c | ||
string.c | ||
suminfo.c | ||
table.c | ||
tokenize.c | ||
update.c | ||
upgrade.c | ||
where.c | ||
winemsi.idl |