Zebediah Figura
1b6adcb721
msi: Handle some invalid parameters in MsiGetFeatureCost().
...
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-25 10:53:17 +02:00
Zebediah Figura
0fc1b6f2f3
msi: Make MsiEvaluateCondition() RPC-compatible.
...
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-25 10:53:15 +02:00
Zebediah Figura
ef7ed29348
msi: Make MsiFormatRecord() RPC-compatible.
...
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-25 10:53:13 +02:00
Zebediah Figura
5ab576b8a0
msi: Make MsiSetInstallLevel() RPC-compatible.
...
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-25 10:53:11 +02:00
Zebediah Figura
5f45959adc
msi: Make MsiGetLanguage() RPC-compatible.
...
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-25 10:53:09 +02:00
Zebediah Figura
11702a31d2
msi: Make MsiSetComponentState() RPC-compatible.
...
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-24 12:00:37 +02:00
Zebediah Figura
35b1b87dc9
msi: Make MsiGetComponentState() RPC-compatible.
...
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-24 12:00:35 +02:00
Zebediah Figura
863680d5ed
msi: Make MsiSetFeatureState() RPC-compatible.
...
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-24 12:00:33 +02:00
Zebediah Figura
9f428f592d
msi: Make MsiGetFeatureState() RPC-compatible.
...
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-24 12:00:31 +02:00
Zebediah Figura
1723536058
msi: Make MsiSetMode() RPC-compatible.
...
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-24 12:00:29 +02:00
Zebediah Figura
9091c3dcf2
msi: Make MsiGetMode() RPC-compatible.
...
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-24 12:00:26 +02:00
Zebediah Figura
859f455cb9
msi: Avoid returning an uninitialized variable.
...
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-23 12:02:39 +02:00
Zebediah Figura
d2b0981a2c
msi: Make MsiGetSourcePath() RPC-compatible.
...
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-23 12:02:37 +02:00
Zebediah Figura
e5fba6d23e
msi: Make MsiSetTargetPath() RPC-compatible.
...
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-23 12:02:35 +02:00
Zebediah Figura
49d67080c9
msi: Make MsiGetTargetPath() RPC-compatible.
...
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-23 12:02:33 +02:00
Zebediah Figura
676376d1d3
msi: Make MsiSequence() RPC-compatible.
...
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-23 12:02:31 +02:00
Zebediah Figura
c49abc8ce0
msi: Make MsiDoAction() RPC-compatible.
...
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-23 12:02:29 +02:00
Zebediah Figura
bf5589311d
msi: Make MsiGetSummaryInformation() RPC-compatible.
...
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-20 14:07:08 +02:00
Zebediah Figura
ed0a8dd3bf
msi: Make MsiDatabaseGetPrimaryKeys() RPC-compatible.
...
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-20 14:07:04 +02:00
Zebediah Figura
3a1d9bb915
msi/tests: Add tests for MsiDatabaseGetPrimaryKeys().
...
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-20 14:07:00 +02:00
Zebediah Figura
c79fbc241e
msi: Make MsiViewModify() RPC-compatible.
...
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-20 14:06:57 +02:00
Zebediah Figura
cea37419f1
msi: Make MsiViewGetColumnInfo() RPC-compatible.
...
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-20 14:06:54 +02:00
Zebediah Figura
9ab15d4ede
msi: Make MsiViewClose() RPC-compatible.
...
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-20 14:06:51 +02:00
Zebediah Figura
39c116fd0c
msi: Make MsiViewFetch() RPC-compatible.
...
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-19 12:51:21 +02:00
Zebediah Figura
afb5eede24
msi: Make MsiViewExecute() RPC-compatible.
...
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-19 12:51:21 +02:00
Zebediah Figura
c6bd4d8c35
msi: Make MsiDatabaseOpenView() RPC-compatible.
...
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-19 12:51:21 +02:00
Zebediah Figura
252dd11f20
msi: Make MsiDatabaseIsTablePersistent() RPC-compatible.
...
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-19 12:51:21 +02:00
Zebediah Figura
a6934768d1
msi: Make MsiGetActiveDatabase() RPC-compatible.
...
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-19 12:51:21 +02:00
Zebediah Figura
fdb9bdc88b
msi/tests: Improve COM test.
...
Test for a class that Wine actually supports, and also make sure our
apartment is uninitialized.
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-19 12:51:21 +02:00
Piotr Caban
63ccdfeaaa
msi: Support NULL value in INSERT query.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 12:51:21 +02:00
Piotr Caban
b052fc3c89
msi: Only mark non-registered features as absent if we haven't done anything with them.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 12:51:21 +02:00
Hans Leidekker
99aa0eb5d8
msi: Don't cache the base URL.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-18 10:14:33 +02:00
Zebediah Figura
bbf0f2da82
msi: Make MsiProcessMessage() RPC-compatible.
...
Instead of passing a remote MSIHANDLE and creating a set of remote_Record*()
methods, we marshal the whole record as a wire struct. We do this for two
reasons: firstly, because chances are whoever is reading the record is going
to want to read the whole thing, so it's much less taxing on IPC to just pass
the whole record once; and secondly, because records can be created on the
client side or returned from the server side, and we don't want to have to
write a lot of extra code to deal with both possibilities.
The wire_record struct is designed so that we can simply pass the relevant
part of an MSIRECORD to the server.
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-18 10:12:58 +02:00
Zebediah Figura
9d12120395
msi: Store a record's associated query privately.
...
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-18 10:12:52 +02:00
Zebediah Figura
5808f1ddd4
msi/tests: Test properties 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>
2018-04-17 20:57:48 +02:00
Zebediah Figura
f37e61817f
msi: Also null-terminate WCHAR 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>
2018-04-17 20:57:46 +02:00
Zebediah Figura
c6b84cee17
msi/tests: Clean up property tests.
...
Remove many redundant tests, and print relevant values on failure.
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-17 20:57:43 +02:00
Zebediah Figura
a73182ca54
msi: Make MsiSetProperty() RPC-compatible.
...
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-17 20:57:41 +02:00
Zebediah Figura
2192c9a50a
msi: Make MsiGetProperty() RPC-compatible.
...
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-17 20:57:40 +02:00
Zebediah Figura
8bfb4e8b62
msi: Convert the IWineMsiRemote* remote interfaces to RPC stubs.
...
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-16 11:48:17 +02:00
Zebediah Figura
b9b459810f
msi: Allocate the remote handle on the server side.
...
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-16 11:46:28 +02:00
Zebediah Figura
d26336a944
msi: Stop vending WineMsiRemotePackage.
...
Since we return it from WineMsiRemoteCustomAction::GetActionInfo().
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-16 11:46:21 +02:00
Zebediah Figura
b44ac90ae7
msi/tests: Add more tests for deferred 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>
2018-02-21 15:31:29 +01:00
Zebediah Figura
9d7ac35e6d
msi/tests: Use the custom DLL for testing deferred 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>
2018-02-21 15:31:29 +01:00
Zebediah Figura
237ec64807
msi/tests: Add a test for MsiGetDatabaseState() called from a 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-02-19 13:43:52 +01:00
Zebediah Figura
77e6bd13b6
msi/tests: Add a test for creating MTA objects from a 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-02-19 13:43:52 +01:00
Zebediah Figura
6dcb3dabd4
msi/tests: Add tests for custom action return values.
...
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-02-19 13:43:52 +01:00
Hans Leidekker
ff754f4ede
msi: Don't mark uncompressed global assembly files as installed until they are in the assembly cache.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-07 19:38:29 +01:00
Hans Leidekker
691a7fa9fa
msi: Properly set the MsiNetAssemblySupport property.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-06 14:28:11 +01:00
Hans Leidekker
8bdcaf6036
msi: Write registry values for source components too.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 10:28:05 +01:00
Andrey Gusev
435be368e5
msi: Remove redundant comparison.
...
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-09 16:01:39 +01:00
Alex Henrie
0f49d2a80d
msi/tests: Add missing return value checks to package tests (Coverity).
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-08 19:26:44 +01:00
Hans Leidekker
f25501db4b
Revert "msi: Store the current script in the package."
...
Commit 036f007e24
(which reverts
86bc556f9f
) is not sufficient to
fix the Office installers because MsiGetMode(MSIRUNMODE_SCHEDULED)
no longer does the right thing after the revert.
That is caused by "msi: Store the current script in the package.",
which, in hindsight, should have been part of the first commit.
This reverts e1e668d41f
.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-04 15:13:33 +01:00
Andrey Gusev
d91985b279
msi/tests: Fix typos in ok() messages.
...
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-22 16:56:34 +01:00
Zebediah Figura
036f007e24
Revert "msi: Don't execute a deferred custom action when not running the install script.".
...
This (effectively) reverts commit 86bc556f9f
.
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-12-22 11:39:34 +01:00
Zebediah Figura
13a00077e4
msi: Complain louder if we can't find a custom action DLL or EXE.
...
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-12-05 20:30:04 +01:00
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
Zebediah Figura
3033daec11
msi: Implement UI messages for 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-07-07 13:01:26 +02:00
Zebediah Figura
5da9250394
msi: Don't increment the refcount when creating 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-07-07 13:01:26 +02:00
Zebediah Figura
48237e249b
msi: Add a basic internal UI implementation.
...
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-06 18:51:18 +02:00
Zebediah Figura
c83b8e0a16
msi/tests: Work around test failures on Windows.
...
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-06 18:51:05 +02:00
Francois Gouget
e2e94d1c93
msi/tests: Add a trailing linefeed to an ok() call.
...
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-07-06 18:50:47 +02:00
Zebediah Figura
39b841d189
msi: Fix a buffer overrun.
...
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-06-29 11:13:18 +02:00
Zebediah Figura
9032279c72
msi: Implement UI messages in MsiOpenPackage().
...
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-06-27 11:27:48 +02:00
Zebediah Figura
bcc4a04754
msi: Implement INSTALLMESSAGE_INITIALIZE and INSTALLMESSAGE_TERMINATE.
...
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-06-27 11:27:48 +02:00
Zebediah Figura
a388906a1a
msi: Send the correct UI messages upon calling MsiDoAction().
...
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-06-27 11:27:48 +02:00
Zebediah Figura
358ed0d836
msi/tests: Add tests for external UI callback.
...
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-06-27 11:27:48 +02:00
Zebediah Figura
20b33b8009
msi/tests: Add another test 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-06-26 11:12:53 +02:00
Zebediah Figura
de5246a659
msi: Don't reimplement record formatting.
...
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-06-20 10:38:33 +02:00
Zebediah Figura
4e49ae3cc6
msi: Pass the given record to the callback.
...
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-06-19 12:04:38 +02:00
Zebediah Figura
df31a7c1ec
msi: Store string and record callback data separately.
...
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-06-19 12:04:34 +02:00
Zebediah Figura
cef67993c5
msi: Use an external UI record handler before a string handler.
...
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-06-19 12:04:28 +02:00
Akihiro Sagawa
f6ced24999
msi: Avoid using isspace()/isdigit() for WCHARs.
...
Found with Coccinelle.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-18 13:36:56 +02:00
Andrey Gusev
635457bb72
msi: Add MsiGetPatchFileListA/W stubs.
...
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-08 07:01:10 -05:00
Hans Leidekker
b956b1f407
msi: Set patch property Uninstallable.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 20:02:54 +02:00
Hans Leidekker
f3adb4a17a
msi: Properly handle DWORD registry values in MsiGetPatchInfoEx.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 20:02:54 +02:00
Hans Leidekker
d94653d0eb
msi: Apply feature selection to the whole feature subtree.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 20:02:54 +02:00
Hans Leidekker
d12728a872
msi: Avoid zero size allocations (Valgrind).
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-28 10:52:43 +02:00
Huw Davies
582245b5c4
msi/tests: Clean up the registry in the correct order.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:52:04 +01:00
Mark Jansen
b53957df2a
msi: Use the correct type when calculating feature cost.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-07 17:47:36 +01:00
Hans Leidekker
64c0625f25
msi: Implement MsiGetComponentPathExA/W.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-03 13:23:24 +01:00
André Hentschel
5aa2d48796
msi: Fix some more spec file entries.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-23 13:15:45 +01:00
André Hentschel
c6592229a3
msi: Fix some spec file entries.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-27 16:31:42 +01:00
Francois Gouget
f0a5b13980
msi/tests: A spelling fix in a variable name.
...
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-01-10 19:19:14 +01:00
Francois Gouget
167de42705
msi: Make reg_get_{multi}sz() static.
...
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-01-10 19:19:14 +01:00
Nikolay Sivov
f5e4dad68c
msi: Fix handling of NULL buffer in MsiGetProductPropertyW() (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>
2016-12-12 19:14:20 +01:00
Hans Leidekker
3b5b3ef185
msi: Fix MSIREG_OpenUserComponentsKey and MSIREG_DeleteUpgradeCodesKey for Wow64.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-29 12:15:48 +01:00
Huw Davies
5ac02423b0
msi: Correctly size packagecode as it's an unsquashed guid.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-29 12:14:34 +01:00
Hans Leidekker
d17d54e16d
msi: Properly remove the product code from the ugrade codes key.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-04 14:10:08 +01:00
Hans Leidekker
d4814f98c8
msi: Also roll back changes made in PublishProduct.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-04 14:10:06 +01:00
Hans Leidekker
6233eace97
msi: Run the installer in silent mode in RemoveExistingProducts.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-04 14:10:04 +01:00
Hans Leidekker
5343a6f445
msi: Take the install context into account when deleting the product key.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-04 14:10:02 +01:00
Hans Leidekker
2b0d2ec553
msi: Use exact size for squashed GUID buffers.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-04 14:09:59 +01:00
Hans Leidekker
6eae08774c
msi/tests: Fix a typo in test data.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-04 14:09:56 +01:00
Hans Leidekker
6f463db5b0
msi/tests: Properly clean up test services.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-04 14:09:45 +01:00
Hans Leidekker
dea323dcec
msi: Handle descriptors without component in MsiProvideQualifiedComponentEx.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-04 14:09:43 +01:00
Hans Leidekker
f6c4f87d32
msi/tests: Fix some test failures on Windows 10.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-04 14:09:38 +01:00
Hans Leidekker
cfb10615e1
msi: Accept descriptors without component.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-25 11:54:08 +02:00
Carlo Bramini
b568992383
msi: Remove useless code.
...
Signed-off-by: Carlo Bramini <carlo_bramini@users.sourceforge.net>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-24 11:01:32 +02:00
Hans Leidekker
13af267e75
msi: Use proper return types in MSI_RecordSetStreamFromFileW.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 22:25:22 +09:00
Hans Leidekker
b0b2a1a4de
msi: Use proper return types in msi_table_apply_transform.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 22:25:17 +09:00
Sebastian Lackner
feb986ac5b
msi: Do not return ERROR_* constant in HRESULT function.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 22:24:44 +09:00
Michael Stefaniuc
c0a6f0f7a8
msi: Use CONTAINING_RECORD() to get from a field to a struct.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-12 22:58:54 +09:00
Francois Gouget
a8e401839e
msi: Make parse_platform() static.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-08 18:41:49 +09:00
Andrey Gusev
e48b8a4fd1
msi: Use debugstr_guid() in TRACE() messages.
...
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-08 18:41:39 +09:00
Piotr Caban
92defc736e
msi: Don't validate platform while checking if transform is applicable.
...
.Net2.0SP2 64-bit installer uses patches with INTEL platform in x64
package to update 32-bit parts of .Net. Native applies patch even if
platform is unknown.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-14 22:10:31 +09:00
Andreas Maier
b947ff3b0f
msi/tests: Test for error control flag handling.
...
Signed-off-by: Andreas Maier <andy1.m@gmx.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-07 16:46:46 +09:00
Andreas Maier
62eb31d852
msi/tests: Delete TestService after testing.
...
Signed-off-by: Andreas Maier <andy1.m@gmx.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-07 16:46:25 +09:00
Andreas Maier
ddc1baa432
msi: Use special error control flag in CreateService.
...
Signed-off-by: Andreas Maier <andy1.m@gmx.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-07 16:46:19 +09:00
Andrey Gusev
8260eabb86
msi/tests: Fix a typo in comment.
...
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-27 00:14:56 +09:00
Kirill Smirnov
0869852c2e
msi: Do not return success on failure (spotted by clang).
...
Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-14 12:11:57 +09:00
Francois Gouget
50ab36ac97
msi/tests: Spelling fixes for some action and package ok() messages.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 16:25:49 +09:00
Michael Stefaniuc
148d0e4576
msi: Use wine_dbgstr_rect() to trace a RECT.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 21:52:04 +09:00
Sebastian Lackner
92aa91d2de
msi: Fix stack alignment in CUSTOMPROC_wrapper.
...
Spotted by Dmitry Timoshkov.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 16:44:18 +09:00
Thomas Faber
57fa1bee65
msi: Do not open registry keys with no access rights.
...
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-01 18:49:25 +09:00
Frédéric Delanoy
7ab2139191
msi/tests: Use todo_wine_if() in tests.
...
Signed-off-by: Frédéric Delanoy <frederic.delanoy@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-20 12:07:11 +09:00
Hans Leidekker
7b21373bf1
msi: Fix the CHAR column type.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-15 21:30:04 +09:00
Hans Leidekker
8fe7ee31a1
msi: Include the dialog in the check for duplicate event subscriptions.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-26 22:37:32 +09:00
Alistair Leslie-Hughes
434f0f7cb1
msi: Refreh controls after spawned dialog is closed.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-22 21:29:55 +09:00
Alistair Leslie-Hughes
e90b34e131
msi: Allow PathEdit controls to be updated.
...
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-22 21:29:52 +09:00
Nikolay Sivov
ae3f25cc44
msi: Fixed same file handle closed twice (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>
2016-01-11 19:54:12 +09:00
Thomas Faber
689f048497
msi: Use the intended attributes when overwriting the target file in cabinet_copy_file.
...
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-29 17:08:41 +01:00
Sergey Isakov
88a96478c3
msi/tests: Simplify the logic in an if condition.
...
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-27 20:53:22 +09:00
Hugh McMaster
11669fa5e2
Assorted spelling and grammar fixes.
...
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-17 22:56:40 +09:00
Dmitry Timoshkov
2ee784e624
msi: Make sure to reset the 'in_quotes' state in all cases.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 21:11:05 +09:00
Dmitry Timoshkov
2d7f00c8d3
Revert "msi: Correctly parse double quotes in the token value.".
...
This reverts commit 42caac841e
.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 21:10:59 +09:00
Nikolay Sivov
fe8ecc23aa
msi/tests: Add missing return value test (PVS-Studio).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 12:45:04 +09:00
Nikolay Sivov
2257928a7a
msi: Use VARIANT_BOOL values consistently for VT_BOOL type (PVS-Studio).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 21:19:51 +09:00
Gerald Pfeifer
40922ccd4f
msi: Avoid shift overflow in msi_view_get_row.
...
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 00:25:32 +09:00
Dmitry Timoshkov
6b9a87c7a8
msi: Add a trace to msi_get_property.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2015-10-06 22:59:58 +09:00
Dmitry Timoshkov
42caac841e
msi: Correctly parse double quotes in the token value.
...
This fixes an installer that passes to InstallProduct a command line like
PROPERTY1="Installing ""Product name"" version 8.0" PROPERTY2=1 PROPERTY3=1
In this case properties PROPERTY2 and PROPERTY3 were not recognized and that
led to an installation failure when a custom action didn't see them as set.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2015-10-06 22:59:38 +09:00
Dmitry Timoshkov
1b3087e79f
msi/tests: Add a test for MsiInstallProduct with command line containing double quotes inside of the property.
...
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2015-10-06 22:59:32 +09:00
Hans Leidekker
9a5788afc1
msi: Set the PrimaryVolumeSpaceRequired and PrimaryVolumeSpaceRemaining properties.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
2015-10-01 16:23:15 +09:00
Hans Leidekker
100c043e89
msi/tests: Fix a test failure on Ultimate editions.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
2015-09-25 21:02:52 +02:00
Akihiro Sagawa
6e51cfddfd
msi: Feature treeview should have WS_TABSTOP style.
2015-09-14 16:47:52 +09:00
Piotr Caban
f326e372d1
msi/tests: Fix MsiProvideQualifiedComponent test failure.
2015-09-14 16:19:27 +09:00
Piotr Caban
e8f4fea5a0
msi: Check HKLM/Software/Classes/Installer/Components path while looking for components.
2015-09-09 18:26:32 +09:00
Hans Leidekker
fca92ae67c
msi/tests: Avoid test failures when running as an unprivileged user.
2015-09-07 18:52:14 +09:00
Jacek Caban
d8f79a037c
msi: Fixed varg0 leak in InstallerImpl_SummaryInformation.
2015-09-01 15:23:53 +09:00
Hans Leidekker
d3ce29449b
msi: Implement Installer::SummaryInformation.
2015-08-26 23:15:26 +09:00
Hans Leidekker
ddaba7a369
msi: Don't add the same environment string more than once.
2015-08-26 23:15:26 +09:00
Dmitry Timoshkov
2ad9312f02
msi: Avoid using dialog record after free.
2015-08-18 19:57:11 +09:00
Hans Leidekker
99dfc15e72
msi: Only remove environment strings that were added on install.
2015-08-18 17:30:17 +09:00
Hans Leidekker
7834983541
msi/tests: Mark a test result on win2k3 as broken.
2015-07-17 20:19:41 +09:00
Huw Davies
fed41f5306
msi: Don't call CloseServiceHandle() with an invalid handle.
2015-07-16 21:20:50 +09:00
Hans Leidekker
dfae842cca
msi/tests: Avoid another test failure on win2k3.
2015-07-15 23:19:32 +09:00
Hans Leidekker
0bd46f1501
msi: Add a stub implementation of MsiJoinTransaction.
2015-07-15 23:19:29 +09:00
Hans Leidekker
f9dc20cfcc
msi: Fix a couple of memory leaks (Coverity).
2015-07-15 23:19:25 +09:00
Hans Leidekker
17405f6b91
msi: Check the return value of MSI_QueryGetRecord (Coverity).
2015-07-15 23:19:23 +09:00
Huw Davies
e1a65bed68
msi: Be more selective about which access modes are used to open or create keys.
...
An installer was failing when trying to create subkeys after denying
delete access to their parent key.
2015-07-15 23:19:09 +09:00
Huw Davies
4a992fec01
msi: Fix a registry key leak.
2015-07-15 23:18:54 +09:00
Hans Leidekker
b71075ad9b
msi/tests: Avoid test failures on win2k3.
2015-07-10 21:44:49 +09:00
Bernhard Übelacker
a1dbf4d78b
msi: Remove shortcut which calls RegEnumValueW with value and val_count as NULL.
2015-07-01 15:19:13 +09:00
Bernhard Übelacker
db5f235a8b
msi/tests: Test MsiSourceListEnumMediaDisks with volumeLabel and diskPrompt as NULL.
2015-07-01 15:19:09 +09:00
Hans Leidekker
597c5f9c4b
msi: Open database cabinet streams through the streams implementation.
2015-06-22 19:18:48 +09:00
Hans Leidekker
806ff30f92
msi/tests: Fix test failures on win2k3.
2015-06-22 19:17:50 +09:00
Marcus Meissner
d0cb2519b6
msi: Free rec in error exit (Coverity).
2015-06-12 15:24:44 +09:00
Alexandre Julliard
12a2b849a6
msi: Inherit state for radio buttons from the parent group dynamically.
2015-04-29 12:22:57 +09:00
Hans Leidekker
4710e973f8
msi: Initialize a variable (valgrind).
2015-04-21 22:21:36 +09:00
Hans Leidekker
e6ce4de393
msi: Fix an invalid memory access (valgrind).
2015-04-21 22:21:31 +09:00
Hans Leidekker
55b678e186
msi: Initialize a variable (valgrind).
2015-04-21 22:21:27 +09:00
Hans Leidekker
6ef2d26a53
msi: Fix a trace.
...
Reported by Marcus Meissner.
2015-04-21 22:21:24 +09:00
Hans Leidekker
8969377647
msi: Perform a suffix match on the volume name.
2015-04-17 14:52:45 +09:00
Hans Leidekker
20c3c09fac
msi: Improve the check for files obsoleted by patches.
2015-04-17 14:52:42 +09:00
Hans Leidekker
dc2228305c
msi: Add support for patching global assembly files.
2015-04-10 22:46:19 +09:00
Hans Leidekker
d263c91ce2
msi: Assume that file patches from registered MSI patches have already been applied.
2015-04-10 22:46:19 +09:00
Hans Leidekker
e4fd6265eb
msi: Take the component action into account for file patches.
2015-04-10 22:46:19 +09:00
Hans Leidekker
17b80c8ec0
msi: Don't read past the end of the patch list in MsiApplyMultiplePatchesW.
2015-04-10 22:46:18 +09:00
Hans Leidekker
eb116d6640
msi: Get rid of global variables the cabinet extraction callbacks.
2015-04-01 22:34:20 +09:00
Hans Leidekker
17b05316a5
msi: Clean up handling of temporary files.
2015-04-01 22:34:20 +09:00
Hans Leidekker
20ef12a762
msi: Don't mark global assembly files as installed when they are extracted.
2015-04-01 22:34:20 +09:00
Hans Leidekker
006801366e
msi: Don't apply file patches in the cabinet extraction callback.
2015-04-01 22:34:19 +09:00
Hans Leidekker
0762dd68f8
msi: Store the disk id for file patches.
2015-04-01 22:34:19 +09:00
Hans Leidekker
2acc11c215
msi: Import mspatcha instead of loading it dynamically.
2015-04-01 22:34:19 +09:00
Frédéric Delanoy
f6a341c747
Assorted spelling/grammar fixes.
2015-03-27 22:29:48 +09:00
Hans Leidekker
c66f9bef60
msi: Check file state before installing global assemblies.
2015-03-25 22:40:45 +09:00
Hans Leidekker
19e51936e0
msi: Skip files from the original media if a patch is applied.
2015-03-25 22:40:41 +09:00
Hans Leidekker
b7453555a2
msi: Check the component enabled flag earlier.
2015-03-25 22:40:38 +09:00
Hans Leidekker
f8dc7c221b
msi: Use the last sequence number specified for patch media when updating media records.
2015-03-25 22:40:34 +09:00
Hans Leidekker
cd73576ec0
msi: Avoid allocating a database handle only to retrieve the summary information.
2015-03-25 22:40:30 +09:00
Hans Leidekker
052b3a748e
msi: Fall back to the database summary information stream in MSI_OpenPackageW.
2015-03-25 22:40:24 +09:00
Francois Gouget
f51569626c
msi: Mark internal symbols with hidden visibility.
2015-03-24 20:01:30 +09:00
Nikolay Sivov
2478421d87
msi: Return interface pointer instead of impl pointer.
2015-03-24 18:16:37 +09:00
Hans Leidekker
fa23c7fcb3
msi: Handle errors from IStorage_CreateStream instead of trying to open the stream first in msi_commit_streams.
2015-03-17 00:19:51 +09:00
Hans Leidekker
db3fdbe1e3
msi: Fix the case where the summary information stream is already open in MsiGetSummaryInformationW.
2015-03-17 00:19:50 +09:00
Hans Leidekker
7a4d8f57c7
msi: Improve tracing.
2015-03-17 00:19:48 +09:00
Francois Gouget
232d1b6e3f
msi: Remove unneeded NONAMELESSXXX directives.
2015-03-16 15:04:21 +09:00
Michael Stefaniuc
be813aed6f
msi: Remove comparison of pointer with >= NULL (PVS-Studio).
2015-03-09 22:07:08 +09:00
Hans Leidekker
4c1791f53e
msi: Add offsets to file patch sequence numbers.
2015-03-04 23:57:42 +09:00
Hans Leidekker
123428942d
msi: Support updating streams.
2015-03-04 23:57:42 +09:00
Hans Leidekker
af6281701d
msi: Decode stream names in load_streams.
2015-03-04 23:57:41 +09:00
Marcus Meissner
c4bf8a85ee
msi: Fix memory leak (Coverity).
2015-02-16 19:18:44 +09:00
Hans Leidekker
0dba391d67
msi: Don't write streams to storage until the database is committed.
...
Native allows streams to be created with names that exceed the maximum
length allowed by OLE storages. These streams can be used normally, it's
just not possible to commit such a database.
2015-02-13 21:48:21 +09:00
Hans Leidekker
db3346247c
msi: Get rid of the refcount parameter to msi_addstringW.
2015-02-13 21:48:12 +09:00
Hans Leidekker
d954fbf8da
msi: Get rid of the open streams cache.
2015-02-13 21:48:07 +09:00
Hans Leidekker
c6f3f72d61
msi: Always update column info after applying a transform to the _Columns table.
2015-02-13 21:48:02 +09:00
Austin English
f8089da4b3
msi: Add stubs for MsiEnumClientsExA/W.
2015-02-04 21:32:50 +09:00
Hans Leidekker
a884d98e99
msi: Add a partial implementation of MsiProvideComponent.
2015-01-21 18:08:10 +01:00
Akihiro Sagawa
e52cbbcd03
msi: Remove 32-bit component registry keys with KEY_WOW64_32KEY flag.
2015-01-19 14:20:27 +01:00
Akihiro Sagawa
cdf3c23645
msi: Open 32-bit component registry keys with KEY_WOW64_32KEY flag.
2015-01-19 14:20:10 +01:00
Michael Stefaniuc
165c9e7cb9
msi: Remove no-op toupperW() statement (PVS-Studio).
2014-12-10 13:32:01 +01:00