Commit Graph

118 Commits

Author SHA1 Message Date
Zebediah Figura 2592690540 msiexec: Don't keep the custom action GUID in the main thread's stack.
Since it could potentially change on us during an asynchronous custom action.

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>
2018-08-16 18:41:14 +02:00
Zebediah Figura 6925846988 msi: Generate unique names for 32- and 64-bit custom action server pipes.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:15:59 +02:00
Michael Stefaniuc effac73e72 msiexec: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 09:43:00 +02:00
Zebediah Figura 457431ab5b msi: Reuse the custom action server process where possible.
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>
2018-07-11 15:45:11 +02:00
Zebediah Figura 7908d6ee39 msi: Create the custom action thread inside msiexec.exe.
This patch is effectively a no-op by itself, but makes the next patch
architecturally much simpler. We need the main thread to be non-blocking
to allow nested custom actions to work, so creating the thread inside of
msiexec allows the custom action thread to write the result of the action to
the server pipe while the main thread simply reads from it.

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>
2018-07-11 15:45:11 +02:00
Zebediah Figura d0451d5734 msi: Mark exported wine functions CDECL.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-19 20:46:50 +02:00
Zebediah Figura 85d1fb62b3 msi: Execute custom actions in a separate process.
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>
2018-04-26 13:27:10 +02:00
Alexandre Julliard d5f316bf0a makefiles: Disable binary installation in the individual makefiles on Wow64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-22 14:16:33 +01:00
Austin English fbcfe3eb17 msiexec: Move WineHQ URLs to https.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-01 10:05:12 +01:00
Hans Leidekker d73c38fe9a msiexec: Fix parsing of command lines where quoted strings and properties are not separated by whitespace.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-06 13:08:45 +02:00
Jens Reyer 2ba799037f msiexec: Fix a typo in the manpage.
Signed-off-by: Jens Reyer <jre.winesim@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-29 20:02:33 +09:00
Hans Leidekker 8d4ac88a6b msiexec: Fix manpage markup for repair and logging modifiers.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-03 20:38:50 +09:00
Marcus Meissner 0d06ebf5fb manpages: Markup fixes.
Reported by Eric S. Raymond.

Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-03 01:38:23 +09:00
Piotr Caban 0722a25dcd msiexec: Avoid broken pipe error caused by setting SERVICE_STOPPED state twice.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-04 21:56:20 +09:00
Alexandre Julliard 17ac5ba7f9 makefiles: Specify whether to install program binaries in the individual makefiles.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-30 14:58:50 +09:00
Hans Leidekker c0b3f3f2e8 msiexec: Add support for /passive.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
2015-10-06 17:21:02 +09:00
Hans Leidekker 171a4c4154 msiexec: Fix parsing of basic UI level modifiers.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
2015-10-06 17:21:02 +09:00
Hans Leidekker d81b8bbd79 msiexec: Add support for /update. 2014-11-27 13:14:19 +01:00
Hans Leidekker e3143f1105 msi: Update version resource. 2014-11-27 13:14:16 +01:00
Hans Leidekker f5d916db06 msiexec: Command line option '!' is used to hide the cancel button. 2014-09-01 21:10:11 +02:00
Alexandre Julliard 86b1f94d28 makefiles: Get rid of the MAKE_PROG_RULES variable. 2014-01-02 12:12:57 +01:00
Dmitry Timoshkov 2fe08ed67f msiexec: Make sure that SERVICE_STOPPED status is really sent to SCM. 2013-12-12 12:07:17 +01:00
Dmitry Timoshkov 955de31fad msiexec: MSI service should report SERVICE_STOPPED when appropriate. 2013-12-11 12:59:32 +01:00
Dmitry Timoshkov 957f7013d2 msiexec: Make service thread do nothing by waiting for the kill event instead of using an empty loop. 2013-12-11 12:59:30 +01:00
Alexandre Julliard e2df0ab856 makefiles: Generate rules from makedep for building and installing man pages. 2013-11-18 11:40:00 +01:00
Frédéric Delanoy a24081a703 msiexec: Use BOOL type where appropriate. 2013-11-01 10:52:50 +01:00
Austin English e55aea83cd msiexec: Add a fixme for administrative installs. 2013-09-11 20:33:22 +02:00
Frédéric Delanoy b20af9e24c msiexec: Fix manpage formatting. 2013-07-17 20:30:48 +02:00
Alexandre Julliard dcc97a186d Standardize the BUGS, AVAILABILITY and SEE ALSO sections across all man pages. 2013-07-16 20:48:05 +02:00
Alexandre Julliard bed3e87d4e msiexec: Add a 256x256 icon. 2013-03-27 20:12:27 +01:00
Hans Leidekker 0800f29b25 msiexec: Convert DoRegServer to Unicode. 2013-02-12 14:51:38 +01:00
Hans Leidekker 6cd2ffae02 msiexec: Add /unregserver support. 2013-02-12 14:51:35 +01:00
Michael Stefaniuc b791c25274 msiexec: Use FIELD_OFFSET to calculate the size of a struct with variable length array. 2012-11-12 13:16:59 +01:00
Hans Leidekker 3a9d30d485 msiexec: Support the "b!" UI option. 2012-03-12 16:37:22 +01:00
Stefan Leichter f3caa76846 msi: Update version resource. 2012-01-30 20:44:49 +01:00
Alexandre Julliard c9eee73450 makefiles: Define __WINESRC__ when building programs. 2012-01-23 16:07:37 +01:00
Alexandre Julliard da35622b83 makefiles: Disable use of Unicode macros globally for all the programs. 2012-01-20 13:14:16 +01:00
Hans Leidekker 494e20541d msiexec: Preserve the first argument in process_args_from_reg. 2011-11-03 13:09:07 +01:00
Austin English b827ab329b msiexec: Add /unreg as an alias for /z. 2011-02-14 13:33:34 +01:00
Alexandre Julliard 15ccabc9a8 makefiles: Add common rules for installing the main man page. 2010-12-05 16:17:58 +01:00
Austin English 97d11dbf59 msiexec: Add a manpage. 2010-11-15 15:02:58 +01:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Michael Stefaniuc 1e2d08de52 msiexec: Remove the ignored common resource attributes. 2010-07-22 11:41:40 +02:00
Alexandre Julliard 6fb39dfe4a programs: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:37 +02:00
Joel Holdsworth d8688d5846 msiexec: Reused appwiz.cpl icon in msiexec. 2010-05-17 12:42:32 +02:00
Detlef Riekenberg 2a9b4e0142 msiexec: Use resource in msi for a help dialog to allow translation. 2010-05-06 17:56:44 +02:00
Detlef Riekenberg 5c02e3f8b5 msiexec: Recognize /uninstall as alias for /x [resend]. 2010-04-21 11:57:33 +02:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Josselin Bardet 2b07ae5e6f msiexec: Support of /package option. 2010-01-04 17:06:52 +01:00
Michael Stefaniuc 2885b0b8f4 msiexec: Import the version.rc into the main rc file.
There is no need for a separate file.
2009-07-03 13:06:18 +02:00