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
Hans Leidekker
2a8043aa6b
msi: Properly handle service control events in Start/StopService.
2014-12-02 13:07:16 +01:00
André Hentschel
481fce766f
msi: Remove unused strings (Clang).
2014-12-02 10:31:18 +01:00
André Hentschel
1c3179b21b
msi/tests: Remove unused variables (Clang).
2014-12-02 10:31:14 +01:00
Hans Leidekker
e3143f1105
msi: Update version resource.
2014-11-27 13:14:16 +01:00
Michael Stefaniuc
f52983807e
msi/tests: Remove redundant if check (PVS-Studio).
2014-11-26 17:26:34 +01:00
Michael Stefaniuc
481ff775ca
msi: Simplify check for an empty string (PVS-Studio).
2014-11-05 19:37:10 +09:00
Hans Leidekker
609de1a80a
msi: Call execute_script directly in InstallFinalize.
2014-11-04 21:19:31 +09:00
Hans Leidekker
98ae03ff4d
msi: Update properties after each transform that affects the property table.
2014-11-04 21:19:28 +09:00
Hans Leidekker
35ce56ac85
msi: Pass a database pointer to msi_clone_properties instead of a package pointer.
2014-11-04 21:19:24 +09:00
Austin English
d2bc004264
msi: Add stubs for MsiRemovePatches(A/W).
2014-11-03 16:35:38 +09:00
Hans Leidekker
7f57d8f19a
msi: Format registry values before interpreting value type.
2014-10-31 10:49:19 +09:00
Bruno Jesus
8f79f5f54b
msi: Remove duplicate if condition.
2014-10-27 14:36:03 +09:00
Hans Leidekker
1e3f15d88c
msi: Support more transform validation flags.
2014-10-21 18:50:01 +09:00
Hans Leidekker
5cb10c96b2
msi: Don't skip the media check for the first volume.
...
Some installers require the first volume to be reinserted.
2014-10-15 22:40:03 +09:00
Nikolay Sivov
8f971bfee6
msi: Use E_NOT_SUFFICIENT_BUFFER definition.
2014-10-08 13:13:36 +02:00
Hans Leidekker
f41ac94e0e
msi: Include the terminating null in the buffer size for decoded stream names.
2014-10-02 16:59:04 +02:00
Hans Leidekker
29baed1bc2
msi: Improve support for advertized shortcuts.
2014-09-12 15:30:13 +02:00
Sebastian Lackner
582f2640d2
msi: Fix ITERATE_MoveFiles when no source- and destname is specified.
2014-09-04 13:37:15 +02:00
Hans Leidekker
a5d8ab57f6
msi: Check transform validation flags.
2014-09-03 16:31:17 +02:00
Hans Leidekker
614cb7eac7
msi: Update the cached product code when the property has changed.
2014-09-01 21:10:12 +02:00
Hans Leidekker
5709249986
msi: Return an error from MSI_GetComponentPath if the buffer is too small.
2014-09-01 21:10:12 +02:00
Hans Leidekker
04f9058a28
msi: Set the OutOfNoRbDiskSpace property.
2014-09-01 21:10:12 +02:00
Hans Leidekker
90f023a635
msi/tests: Make tests pass when running from the root directory.
2014-09-01 21:10:11 +02:00
Piotr Caban
de9f19df32
msi: Add more feature state tests.
2014-07-24 13:02:47 +02:00
Piotr Caban
b1a4055245
msi: Don't check feature install level on features specified in arguments.
2014-07-24 13:02:45 +02:00
Piotr Caban
0dff7bff9a
msi: Fix feature actions overriding in process_state_property.
2014-07-24 13:02:43 +02:00
Piotr Caban
331c86f124
msi: Don't publish features with non positive install level.
2014-07-24 13:02:42 +02:00
Akihiro Sagawa
0eed829f7f
msi/tests: Add CLSID registry tests for mixed package.
2014-07-21 18:42:45 +02:00
Akihiro Sagawa
5b76cd199a
msi/tests: Add non-existence value tests for mixed package.
2014-07-21 15:57:23 +02:00
Akihiro Sagawa
6fc6d32da2
msi: Move set_installed_prop() call because platform information is needed in it.
2014-07-21 15:56:54 +02:00
Daniel Beitler
deb2742267
msi: Prevent call to memset with a null pointer in get_tablecolumns function.
2014-05-19 10:01:43 +02:00
Jérôme Gardou
70225a4de3
msi: Expand REG_EXPAND_SZ keys when resolving AppSearch entries.
2014-05-01 10:50:39 +02:00
Hans Leidekker
95d72ae6f0
msi: Avoid a crash when MIME entries point to non-existing extensions.
2014-05-01 10:18:15 +02:00
Hans Leidekker
4c8edb1b4c
msi/tests: Fix a couple of memory leaks (valgrind).
2014-04-30 15:15:30 +02:00
Nikolay Sivov
5497a41e92
msi: Fix a leak on error path (Coverity).
2014-04-10 09:11:52 +02:00
Nikolay Sivov
0bcf4a5bb6
msi: Fix a leak on error path (Coverity).
2014-04-10 09:11:50 +02:00
Vincent Povirk
a4c6107d81
msi: Fix infinite loop.
2014-04-01 10:43:42 +02:00
Nikolay Sivov
195168351f
msi: Fix a record leak on failure removing a column (Coverity).
2014-03-27 12:06:04 +01:00
Nikolay Sivov
203d282a78
msi: Fix a record leak on error path (Coverity).
2014-03-27 12:06:04 +01:00