Louis Lenders
2e95d2247d
msi: Add MsiSourceListForceResolution{A,W} stub.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46881
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-28 18:43:18 +01:00
Zebediah Figura
942964fdfb
msi: Handle the remote case in MsiViewGetError().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46830
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>
2019-03-27 11:28:02 +01:00
Zebediah Figura
6a3dbf1192
msi: Perform partial copies in MsiViewGetError().
...
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>
2019-03-27 11:28:02 +01:00
Zebediah Figura
fac04043d9
msi/tests: Separate and expand tests for MsiViewGetError().
...
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>
2019-03-27 11:28:02 +01:00
Zebediah Figura
b2d3567c1b
msi: Return ERROR_INVALID_HANDLE when MsiOpenPackage() is 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>
2019-03-26 13:46:18 +01:00
Zebediah Figura
4bb40d1a95
msi: Return ERROR_INVALID_HANDLE when MsiEnableUIPreview() is 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>
2019-03-26 13:46:16 +01:00
Zebediah Figura
19420f5f7c
msi: Return ERROR_INVALID_HANDLE when MsiDatabaseImport() is 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>
2019-03-26 13:46:14 +01:00
Zebediah Figura
3ff7d30520
msi: Return ERROR_INVALID_HANDLE when MsiDatabaseExport() is 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>
2019-03-26 13:46:12 +01:00
Zebediah Figura
ed5f4bd14f
msi: Return ERROR_INVALID_HANDLE when MsiDatabaseApplyTransform() is 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>
2019-03-26 13:46:09 +01:00
Zebediah Figura
60b1fd7e87
msi: Return MSIDBSTATE_ERROR when MsiGetDatabaseState() is called from a custom action.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46812
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>
2019-03-26 13:46:07 +01:00
Zebediah Figura
ae0298d46e
msi/tests: Test calling more functions 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>
2019-03-26 13:46:04 +01:00
Hans Leidekker
c7f323107b
msi: Avoid a crash in RemoveFiles if the component directory is invalid.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46907
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-25 22:13:10 +01:00
Zebediah Figura
27a7952a84
msi: Append the custom action client PID to the endpoint name.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46833
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>
2019-03-25 10:21:39 +01:00
Zebediah Figura
a3dfd2f251
msi: Don't fail the BindImage action if the BindImage table is absent.
...
This fixes a regression introduced with
15f852015a
and observable with several
installers, including dotnet472.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46885
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>
2019-03-25 10:21:39 +01:00
Hans Leidekker
15f852015a
msi: Disable filesystem redirection only when really needed.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46846
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-21 08:23:18 +01:00
Erich E. Hoover
f1d8218169
msi: Add support for exporting binary streams (Binary/Icon tables).
...
The Binary and Icon tables store their data in a different format from
other tables, one column of the data is stored as a "stream" instead
of a normal text field. With this patch those tables can now be
exported properly by the MSI export functionality.
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-15 20:01:57 +01:00
Erich E. Hoover
b08d999863
msi: Break out field exporting into a separate routine.
...
msi_export_record is a lot more complicated than necessary, this patch
splits out the field export part of that functionality as
msi_export_field. This also needs to be separate for exporting binary
stream data (next patch).
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-15 20:01:48 +01:00
Erich E. Hoover
79fd42fc1a
msi: Add support for exporting the _SummaryInformation table.
...
The _SummaryInformation table stores a lot of important information
about an MSI database. This patch adds the ability to export that
table since, like _ForceCodepage, it is stored in a different format
than the other tables.
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-15 20:01:42 +01:00
Erich E. Hoover
51d5242a5f
msi: Add support for deleting streams from an MSI database.
...
msidb allows developers to remove "streams" (cabinet files) from a
database with the "-k" mode flag. To support that feature we need
MSIMODIFY_DELETE support in the underlying MSI implementation.
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-15 20:01:27 +01:00
Hans Leidekker
02a25a9d4f
msi: Skip the special SummaryInformation stream in msi_commit_streams.
...
Avoids adding a useless table stream when called on an existing database.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-11 17:55:23 +01:00
Hans Leidekker
c64d73c829
msi: Don't use globals to manage assembly cache state.
...
Based on a patch by Zebediah Figura.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46719
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-26 15:01:01 +01:00
Hans Leidekker
bfd02931ac
msi: Don't use delay imports.
...
This avoids problems with disabling Wow64 filesystem redirection.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46654
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 13:10:22 +01:00
Mark Jansen
145b410920
msi: Prevent uninitialized variable usage.
...
Observed with Lync 2010 setup in ReactOS. The embedded Silverlight
setup hits this case (no LASTUSEDSOURCE in the registry).
Signed-off-by: Mark Jansen <mark.jansen@reactos.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-18 16:00:53 +01:00
Mark Jansen
c91f254a77
msi: Do not leak rootkey.
...
Signed-off-by: Mark Jansen <mark.jansen@reactos.org>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-18 16:00:45 +01:00
Hans Leidekker
aaead3e433
msi: Link directly to sxs.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 15:07:26 +01:00
Hans Leidekker
a70ece68b7
msi: Initialize assembly caches before disabling redirection.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46638
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-15 15:07:15 +01:00
Andrey Gusev
57dd594865
msi: Remove duplicate condition in msi_dialog_destroy().
...
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>
2019-02-11 18:31:46 +01:00
Zebediah Figura
4179189ec6
msi/tests: Add more tests for MSIMODIFY_INSERT.
...
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>
2019-01-30 18:29:54 +01:00
Zebediah Figura
535983743c
msi/tests: Add more tests for MSIMODIFY_MERGE.
...
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>
2019-01-30 18:29:51 +01:00
Zebediah Figura
d2e51963a6
msi/tests: Add more tests for MSIMODIFY_REFRESH.
...
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>
2019-01-30 18:29:49 +01:00
Zebediah Figura
0628a7c8bf
msi/tests: Add more tests for MSIMODIFY_ASSIGN.
...
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>
2019-01-30 18:29:46 +01:00
Zebediah Figura
e742319627
msi: Translate records as appropriate in SELECT_modify().
...
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>
2019-01-30 18:29:44 +01:00
Zebediah Figura
b9faa8d170
msi/tests: Add some more tests for MsiViewModify() applied to joins.
...
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>
2019-01-30 18:29:41 +01:00
Zebediah Figura
96b6d6b587
msi: Don't check the primary keys when handling MSIMODIFY_DELETE.
...
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>
2019-01-29 17:12:13 +01:00
Zebediah Figura
0597646455
msi: Implement MSIMODIFY_REFRESH using msi_view_refresh_row().
...
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>
2019-01-29 17:12:13 +01:00
Zebediah Figura
31628cee6e
msi: Factor out msi_view_refresh_row().
...
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>
2019-01-29 17:12:13 +01:00
Zebediah Figura
40a08f8362
msi: Implement UPDATE queries using msi_select_update().
...
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>
2019-01-29 17:12:13 +01:00
Zebediah Figura
044c1dd23b
msi: Support setting streams in msi_select_update().
...
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>
2019-01-29 17:12:13 +01:00
Zebediah Figura
33045101ca
msi: Store the IStorage list as an array of STORAGE structures.
...
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>
2019-01-28 10:25:03 +01:00
Zebediah Figura
7728acd1b6
msi: Remove an unnecessary call to SELECT_get_dimensions().
...
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>
2019-01-28 10:25:01 +01:00
Zebediah Figura
7c28a1dbdd
msi: Get rid of the get_row() view operation.
...
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>
2019-01-28 10:24:59 +01:00
Zebediah Figura
f45a7b04a6
msi: Set table values directly in msi_select_update().
...
In order to avoid the need to create a temporary record and copy values back
and forth.
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>
2019-01-28 10:24:56 +01:00
Zebediah Figura
99425f272f
msi: Factor out int_to_table_storage().
...
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>
2019-01-28 10:24:54 +01:00
Zebediah Figura
8aefa871ad
msi: Use 0-indexed row numbers in the modify() view operation.
...
For consistency with other operations.
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>
2019-01-25 10:28:53 +01:00
Zebediah Figura
a7f455b97f
msi: Use a BOOL to track string persistence.
...
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>
2019-01-25 10:28:47 +01:00
Zebediah Figura
c2810f40a0
msi: Get rid of the remove_column() view operation.
...
It was added to the structure, rather unnecessarily, by ccef56f2c
.
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>
2019-01-25 10:28:38 +01:00
Zebediah Figura
ced768f2ec
msi: Get rid of the find_matching_rows() view operation.
...
It was introduced in 9f487ba1d
as part of an optimization, but ceased to be used in a52c2bf94
.
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>
2019-01-25 10:28:20 +01:00
Zebediah Figura
fe23e01527
msi/tests: Use check_record() in more places.
...
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>
2019-01-25 10:28:09 +01:00
Zebediah Figura
5eab4a59de
msi/tests: Use check_record() in test_join().
...
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>
2019-01-23 16:32:59 +01:00
Zebediah Figura
d7879eaa99
msi/tests: Use check_record() in test_select_column_names().
...
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>
2019-01-23 16:32:56 +01:00