Commit graph

83 commits

Author SHA1 Message Date
Alex Henrie
0f44b3bdcb msiexec: Use CRT allocation functions. 2023-11-07 11:03:13 +01:00
Eric Pouech
081bd13f11 msiexec: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-04 11:20:33 +01:00
Paul Gofman
fd5d942a73 msiexec: Append .msi extension to file name if file is not found.
Fixes Stellaris failing to install launcher at start.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 10:49:26 +01:00
Zhiyi Zhang
76e448bd7d msiexec: Enable visual styles.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-09 23:38:44 +02:00
Michael Stefaniuc
64709fe7e9 msiexec: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-08 10:46:02 +02:00
Alexandre Julliard
8dff0e3445 msiexec: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-30 09:54:38 +02:00
Zebediah Figura
27a7952a84 msi: Append the custom action client PID to the endpoint name.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46833
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>
2019-03-25 10:21:39 +01:00
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
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
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
f5d916db06 msiexec: Command line option '!' is used to hide the cancel button. 2014-09-01 21:10:11 +02: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
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
Alexandre Julliard
c9eee73450 makefiles: Define __WINESRC__ when building programs. 2012-01-23 16:07:37 +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
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
Josselin Bardet
2b07ae5e6f msiexec: Support of /package option. 2010-01-04 17:06:52 +01:00
Vincent Povirk
6949694740 msiexec: Build with -mwindows. 2008-11-13 12:04:19 +01:00
Alexandre Julliard
8d7fc61717 msiexec: Fix initial state of the argument parsing state machine. 2008-10-23 12:53:47 +02:00
Alexandre Julliard
01b7667a1a programs: Convert source files to utf-8. 2008-10-18 19:22:19 +02:00
Alexandre Julliard
b66685cdd8 programs: Build the programs that support it with -DWINE_NO_UNICODE_MACROS. 2008-09-03 14:21:41 +02:00
Patrick Moran
0b79b0e58a msiexec: Fix atou() return value mistake. 2007-11-26 13:08:03 +01:00
Andrew Talbot
691dc735fd msiexec: Fix a memory leak. 2007-10-16 11:01:37 +02:00
James Hawkins
43bc08ddef msiexec: Implement a stub MSIServer service. 2007-07-31 11:16:15 +02:00
James Hawkins
5b8bad7518 msiexec: /quiet is the same options as /qn. 2007-05-09 12:06:57 +02:00
Aric Stewart
54c7b7e81b Revert 7c35db07c35db0... msiexec: Use CommandLineToArgvW instead of process_args to reduce code duplication.
The previous command line processing is not identical to
CommandLineToArgvW and CommandLineToArgvW breaks msi command line
processing for things such as Excel Viewer 2003.

Specifically the command line created by the Excel Viewer 2003 and
passed to msiexec.exe is "c:\windows\system32\msiexec.exe" /I
C:\windows\temp\IXP000.TMP\XLVIEW.MSI CDCACHE="2"
LAUNCHEDFROMSETUP="1" SETUPEXEPATH="C:\windows\temp\IXP000.TMP\"
SETUPEXENAME="SETUP.EXE" /lpiwaeo "C:\windows\temp\Microsoft Office
Excel Viewer 2003 Setup(0001)_Task(0001).txt" CDCACH"...
2007-03-22 15:54:14 +01:00
Mike McCormack
ecefcccabf msiexec: Catch the -Embedding flag and print out a message. 2007-02-08 11:56:25 +01:00
Michael Stefaniuc
41dd56cb7f "One liners" printf format warning fixes for the migration of DWORD/LONG/ULONG from long to int. 2006-09-29 16:09:24 +02:00
Andrey Turkin
d456e9f49f msiexec: Should recognize /xpackage syntax. 2006-09-25 18:13:32 +02:00
Alexandre Julliard
8580984346 msiexec: Ignore failure to create the service if it already exists. 2006-09-13 12:56:37 +02:00
James Hawkins
a6b8ff9ddb msiexec: Add handling for msiexec's regserver option. 2006-08-23 12:01:15 +02:00
Mike McCormack
2b8abca493 msiexec: Don't crash if there's no args. 2006-07-28 12:32:20 +02:00
Alexandre Julliard
4cf14960ba msiexec: Invert the return values of the boolean functions so that
their names make more sense.
2006-07-14 12:38:20 +02:00
James Hawkins
8c3fc3a889 msiexec: Also support options using a hyphen. 2006-07-14 12:29:36 +02:00
James Hawkins
7c35db000b msiexec: Use CommandLineToArgvW instead of process_args to reduce code duplication. 2006-06-27 21:14:01 +02:00
Mike McCormack
e550eab7e5 msiexec: Improve 64bit compatibility. 2006-05-30 12:23:43 +02:00