Commit Graph

3648 Commits

Author SHA1 Message Date
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