Commit Graph

1433 Commits

Author SHA1 Message Date
Zebediah Figura 4d9d73e1b9 msi/tests: Test deferral of DuplicateFiles and RemoveDuplicateFiles.
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-05-22 21:58:02 +02:00
Zebediah Figura 30fe6f4361 msi/tests: Avoid calling MsiSetTargetPath("TARGETDIR").
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-05-22 21:58:02 +02:00
Zebediah Figura 7f0c8b3c61 msi/tests: Test deferral of StartServices and StopServices.
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-05-18 11:21:11 +02:00
Zebediah Figura b8f982fa4b msi/tests: Test deferral of InstallServices.
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-05-18 11:21:07 +02:00
Zebediah Figura 5d8e16f701 msi/tests: Test deferral of DeleteServices.
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-05-18 11:21:03 +02:00
Zebediah Figura ab9ab2a8f7 msi/tests: Test deferral of CreateShorcuts and RemoveShortcuts.
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-05-18 11:20:59 +02:00
Zebediah Figura 0f7d50c02e msi/tests: Test deferral of CreateFolders and RemoveFolders.
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-05-18 11:20:55 +02:00
Zebediah Figura 43ce218a48 msi: Handle the remote case directly in MsiGetSourcePathA().
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-05-18 01:44:30 +02:00
Zebediah Figura c9fc351021 msi: Handle the remote case directly in MsiGetTargetPathA().
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-05-18 01:44:26 +02:00
Hans Leidekker f5b1a6b5c5 msi/tests: Break out of the loop if both components are found in test_MsiEnumComponentsEx.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-16 18:26:20 +02:00
Zebediah Figura 389ad808d2 msi: Avoid using awstring in MsiGetPropertyA/W().
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-05-16 10:16:52 +02:00
Zebediah Figura 84d972010f msi: Handle the remote case directly in MsiGetPropertyA().
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-05-16 10:16:49 +02:00
Zebediah Figura 6b54a4bc2e msi: Avoid using awstring in MsiFormatRecordW().
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-05-16 10:16:45 +02:00
Zebediah Figura 75aa132b52 msi: Handle the remote case directly in MsiFormatRecordA().
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-05-16 10:16:41 +02:00
Zebediah Figura 40b211b6c2 msi/tests: More accurately calculate estimated size.
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-05-15 12:34:20 +02:00
Zebediah Figura bf0b9b97e0 msi/tests: Add the custom action DLL in create_database_wordcount().
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-05-14 12:11:48 +02:00
Zebediah Figura ab522d694d msi/tests: Add a header for some common 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>
2018-05-14 12:11:48 +02:00
Zebediah Figura 540c48b911 msi: Disable WoW redirection when installing a 64-bit 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>
2018-05-04 16:56:48 +02:00
Zebediah Figura a6e9622439 msi: Set the correct values for ProgramFiles64Folder and CommonFiles64Folder.
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-05-02 16:00:08 +02:00
Francois Gouget 4d1c3a022b msi/tests: Add trailing '\n's to 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>
2018-05-01 13:05:15 +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
Zebediah Figura efb8ed4748 msi: Make MsiEnumComponentCosts 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-26 13:27:03 +02:00
Zebediah Figura e500af2b67 msi: Make MsiGetFeatureCost() 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:19 +02:00
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 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
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 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 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
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
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
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 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
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 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
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
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 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 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
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 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 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 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 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 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 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
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
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
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
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
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 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 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
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
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
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
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
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
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
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
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
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
Hans Leidekker dfae842cca msi/tests: Avoid another test failure on win2k3. 2015-07-15 23:19:32 +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
Frédéric Delanoy f6a341c747 Assorted spelling/grammar fixes. 2015-03-27 22:29:48 +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 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 a884d98e99 msi: Add a partial implementation of MsiProvideComponent. 2015-01-21 18:08:10 +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