Piotr Caban
9ce8592b06
msi: Add error handling when retriving component/feature state/action in condition.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-25 09:48:26 +02:00
Piotr Caban
dcd92a168b
msi: Store condition intermediate values in union.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-25 09:48:24 +02:00
Piotr Caban
c8d32b69ec
msi: Define special types for condition operators, identifiers and expressions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-25 09:48:22 +02:00
Piotr Caban
024c6c1b4b
msi: Move condition integer handling into value_i.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-25 09:48:20 +02:00
Piotr Caban
0d88b68bbe
msi: Add more feature action tests.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-23 13:33:32 +02:00
Piotr Caban
599622d583
msi: Add install test with no arguments on already installed product.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-23 13:33:27 +02:00
Pierre Schweitzer
a6ad46dc94
msi: Don't leak memory on failure.
...
Signed-off-by: Pierre Schweitzer <pierre@reactos.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-23 10:49:58 +02:00
Pierre Schweitzer
f621f4102d
msi: Don't leak memory on failure.
...
Signed-off-by: Pierre Schweitzer <pierre@reactos.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-23 10:49:43 +02:00
Piotr Caban
808f3158bb
msi: Improve installation with no argument of already installed product.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-23 10:49:12 +02:00
Piotr Caban
c41b8ce5c3
msi: Improve "full uninstall" detection code.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-23 10:49:10 +02:00
Piotr Caban
b141a145c4
msi: Improve feature action value evaluation in conditions.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-23 10:49:05 +02:00
Piotr Caban
30c957b9cc
msi: Fix installations with only INSTALLSTATE_SOURCE features.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-19 16:53:49 +02:00
Hans Leidekker
f517022ecc
msi: Fix an invalid write in build_default_format (Valgrind).
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-04 16:53:10 +02:00
Zebediah Figura
9f6e658742
msi/tests: Add a helper to delete an installed package.
...
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>
2017-09-21 09:36:20 +02:00
Zebediah Figura
af9ee87748
msi: Add a missing UI message in the ExecuteAction 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>
2017-09-21 09:36:17 +02:00
Michael Stefaniuc
4a2809166c
msi: Remove redundant NULL checks before msi_free().
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-20 16:23:37 +02:00
Hans Leidekker
fdac39f697
msi: Pass correct length to GetDateFormatW.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-19 20:01:42 +02:00
Zebediah Figura
e1e668d41f
msi: Store the current script in the package.
...
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>
2017-09-19 20:01:39 +02:00
Zebediah Figura
5245b9d3a8
msi: Remove a superfluous substructure.
...
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>
2017-09-19 20:01:35 +02:00
Zebediah Figura
ffef8bd41c
msi/tests: Move a test from format.c to package.c.
...
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>
2017-09-19 20:01:30 +02:00
Zebediah Figura
b91a274892
msi/tests: Factor out success checks into table building functions.
...
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>
2017-09-19 20:01:24 +02:00
Zebediah Figura
86bc556f9f
msi: Don't execute a deferred custom action when not running the install script.
...
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>
2017-09-18 09:57:07 +02:00
Zebediah Figura
042de13cff
msi/tests: Add external UI tests for top-level actions.
...
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>
2017-09-14 10:45:06 +02:00
Zebediah Figura
13cb6a5b78
msi/tests: Some cleanup for external UI tests.
...
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>
2017-09-14 10:45:04 +02:00
Zebediah Figura
92118091f8
msi: Perform the given action, or INSTALL, from MsiInstallProduct().
...
The removed code to re-run all actions after InstallValidate is old
and not supported by tests.
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>
2017-09-14 10:44:59 +02:00
Zebediah Figura
26493d316c
msi: Implement the INSTALL top-level 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>
2017-09-14 10:44:57 +02:00
Zebediah Figura
5c39852c1e
msi: More fully implement the ExecuteAction action.
...
Major changes are adding several new UI messages (many of obscure
purpose), and executing the action given in the EXECUTEACTION
property rather than always running the InstallExecuteSequence table.
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>
2017-09-14 10:44:38 +02:00
Zebediah Figura
d17fda090d
msi: Simplify message type processing.
...
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>
2017-09-13 11:49:19 +02:00
Zebediah Figura
eb79fe1c3b
msi: Remove ACTION_PerformUIAction().
...
It was originally used to show dialogs, but this is now handled in
ACTION_HandleCustomAction().
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>
2017-09-13 11:49:19 +02:00
Zebediah Figura
52fbaeb2c4
msi: Add support for ActionText table.
...
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>
2017-08-08 20:58:09 +09:00
Zebediah Figura
700ebc86a9
msi: Return the correct values from dialogs.
...
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>
2017-08-08 20:57:51 +09:00
Zebediah Figura
a3dd99c9a3
msi: Return the current date and time.
...
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>
2017-08-08 20:57:49 +09:00
Zebediah Figura
4ccc82a88a
msi: Use the Error table for more messages.
...
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>
2017-08-08 20:56:54 +09:00
Zebediah Figura
77e3d3372f
msi: Use MsiProcessMessage() to send error messages.
...
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>
2017-08-08 20:55:59 +09:00
Nikolay Sivov
3ca2dfe462
msi: Avoid uninitialized pointer access on error path (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-08 20:53:08 +09:00
Francois Gouget
d631714ca8
msi: Add a trailing linefeed to a FIXME() trace.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-08 20:53:08 +09:00
Francois Gouget
5e7b8891fc
msi/tests: Add a trailing linefeed to a couple of ok() calls.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-08 20:53:08 +09:00
Zebediah Figura
39c2ff0283
msi: Send the dialog created message in dialog_create().
...
It should be sent before the message loop, and it should also be sent
for dialogs spawned with control events.
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>
2017-07-21 14:53:43 +02:00
Zebediah Figura
14f865e14f
msi: Don't queue a parent dialog to be shown in EndDialog.
...
When using "Return", the parent dialog already exists, so there is
no need to do this. Moreover, if the parent dialog is queued, a
subsequent "Exit" would not properly exit the parent dialog.
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>
2017-07-21 14:53:38 +02:00
Zebediah Figura
8826584b1d
msi: Process ShowDialog/EndDialog after all other control events.
...
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>
2017-07-21 14:53:34 +02:00
Zebediah Figura
44fb23dc32
msi: Don't set _BrowseProperty.
...
This is a revert of 166a7e993c
.
_BrowseProperty is not set by Windows, but should rather be set by the
program in question.
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>
2017-07-21 14:53:00 +02:00
Zebediah Figura
b4c39f4e7c
msi: Avoid a null pointer dereference.
...
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>
2017-07-21 14:52:57 +02:00
Zebediah Figura
e76b42c096
msi/tests: Use static linking for a couple functions.
...
These are available on all of the test machines.
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>
2017-07-21 14:52:49 +02:00
Zebediah Figura
51bd884384
msi: Properly parse empty format strings.
...
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>
2017-07-11 18:26:03 +02:00
Zebediah Figura
16f0dffd01
msi: Return the correct values from custom actions.
...
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>
2017-07-11 18:26:01 +02:00
Zebediah Figura
f348c7c04c
msi: Rewrite dump_record().
...
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>
2017-07-11 18:25:59 +02:00
Zebediah Figura
f9c68dfd92
msi: Use the given record for INSTALLMESSAGE_ACTIONDATA.
...
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>
2017-07-10 20:51:09 +02:00
Zebediah Figura
c788ed858e
msi: Provide the result of the last 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>
2017-07-10 20:51:09 +02:00
Zebediah Figura
1505912ce1
msi: Allow setting NULL in MsiSetInteger().
...
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>
2017-07-10 20:51:09 +02:00
Zebediah Figura
f9f53fe624
msi: Correctly format the template field for MsiProcessMessage().
...
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>
2017-07-10 20:51:08 +02:00