Commit graph

30 commits

Author SHA1 Message Date
winesync 43025b17d1
[WINESYNC] 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>

wine commit id ced768f2ec163e25b7e1cf54a87f4b01369a846e by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:08 +01:00
winesync 8c4b2b004b
[WINESYNC] msi: Only perform the media check if the label of the disk entry differs from the last.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40433
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 85fea53af80d324a4cf7f80a45f43fed8d8d65e1 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:07 +01:00
winesync 537188d764
[WINESYNC] msi: Increase MSI_INITIAL_MEDIA_TRANSFORM_DISKID to avoid conflicts.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 49e9fa376ca1ab251a0b5ccc506b255a93071bc2 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:06 +01:00
winesync de59794f36
[WINESYNC] msi: Allow ARM64 installations.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d5a169463b30af229368a5559b20f9ae415c3048 by André Hentschel <nerv@dawncrow.de>
2022-03-20 19:28:06 +01:00
winesync 14478462cc
[WINESYNC] msi: Fix the remote case for MsiViewModify(MSIMODIFY_UPDATE).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45972
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c494570d89f270c9240519c625c5c757a4e8ff23 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:05 +01:00
winesync 312627c75b
[WINESYNC] msi: Remove unused fields from MSIFOLDER.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id de78ca24a5a2945e7431c1eb9a6e5404bbcfbf5d by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:04 +01:00
winesync 0922e524ec
[WINESYNC] msi: Rename msi_reset_folders to msi_reset_source_folders.
It was always called with source parameter set to TRUE.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 14ddb49df278e44fd184a8fd73ff1341ce0885ec by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:04 +01:00
winesync 2a9ae85885
[WINESYNC] msi: Add exception handling around all custom action RPC calls.
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>

wine commit id baea371c3d4153bc4a718c07f46971d4d39aa9f3 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:00 +01:00
winesync fd8b07bdfc
[WINESYNC] msi: Implement deferral for standard and 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>

wine commit id 2a9e0f1fada4a414cc750f6d45595342f473e02f by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:58 +01:00
winesync 82decec5f1
[WINESYNC] msi: Reuse the custom action server process where possible.
We use a named pipe to communicate between the client (i.e. the process that
called MsiInstallProduct() and the custom action server. The naïve approach
has the client send custom action GUIDs to the server and the server send
back the results of executing the action, but this fails in the case of
nested custom actions, so instead we send back handles of threads for the
client to wait on.

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>

wine commit id 457431ab5bc1dd10c4957f145de85c4ba6d0ef72 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:57 +01:00
winesync 0a327bfe94
[WINESYNC] msi: Avoid starting the RPC server more than once for a given 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>

wine commit id 5c7cf0a47d9d43b11f84914f5890eae3fd694592 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:56 +01:00
winesync a237138534
[WINESYNC] msi: Add support for re-caching package.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5924321ad63edc1d3fabf22d7b047e4efacbce66 by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:56 +01:00
winesync 74196b8000
[WINESYNC] msi: Re-publish product if previous installation with different package is detected.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 21836b79dd0acbd16f802f7364c070e1004e48ea by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:55 +01:00
winesync da8483616c
[WINESYNC] msi: Add support for ProductToBeRegistered property.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6dc49e4b685850a76a35b1d1d102903a0231c5cc by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:27:55 +01:00
winesync 0d762dcba3
[WINESYNC] msi: Store the current script in the package.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 756bbb5bb756d1fcbeea41e10a6fdf2149fa1323 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:54 +01:00
winesync 0b125236c6
[WINESYNC] 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>

wine commit id 6b54a4bc2eadd0b5cbc2553e2969ff572ff042d1 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:45 +01:00
winesync d5e04177e7
[WINESYNC] 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>

wine commit id 75aa132b521f426fa670c05774a50c87247e9834 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:45 +01:00
winesync d817f7cfa1
[WINESYNC] msi: Don't load a custom action DLL in the main process.
This has no effect anymore, and won't work if the architecture doesn't match.

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>

wine commit id e355cb62775f7fd39a03458c62334a603dcb0c78 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:43 +01:00
winesync a8bc3902ba
[WINESYNC] 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>

wine commit id 85d1fb62b321e890004bc8d0ded7a0183216c42d by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:42 +01:00
winesync aede536c83
[WINESYNC] 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>

wine commit id c79fbc241e3c9a62ab50fb0826e33e85e97ae883 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:37 +01:00
winesync 795da5286b
[WINESYNC] 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>

wine commit id 39c116fd0c0aca6517b9c1f31296bf8665cf7834 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:37 +01:00
winesync 34c2011c9f
[WINESYNC] msi: Don't cache the base URL.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 99aa0eb5d8777b790f1aa3c643217571274b744f by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:27:35 +01:00
winesync 2e19edd6a0
[WINESYNC] msi: Make MsiProcessMessage() RPC-compatible.
Instead of passing a remote MSIHANDLE and creating a set of remote_Record*()
methods, we marshal the whole record as a wire struct. We do this for two
reasons: firstly, because chances are whoever is reading the record is going
to want to read the whole thing, so it's much less taxing on IPC to just pass
the whole record once; and secondly, because records can be created on the
client side or returned from the server side, and we don't want to have to
write a lot of extra code to deal with both possibilities.

The wire_record struct is designed so that we can simply pass the relevant
part of an MSIRECORD to the server.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bbf0f2da8211da73066fb36a444593ab0e8901f2 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:35 +01:00
winesync 78fc7f9ea8
[WINESYNC] msi: Store a record's associated query privately.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9d121203955da5c761cfb5c22b6428278e41f0c7 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:35 +01:00
winesync b74b77aa65
[WINESYNC] msi: Convert the IWineMsiRemote* remote interfaces to RPC stubs.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8bfb4e8b6209d02a18be3299717b1f38db7045fe by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:34 +01:00
winesync f9131763ed
[WINESYNC] msi: Allocate the remote handle on the server side.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b9b459810f646c48bdac981a066f0102acb9201c by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:27:34 +01:00
Amine Khaldi c42b133eb1 [MSI] Sync with Wine Staging 3.3. CORE-14434 2018-03-05 00:30:58 +01:00
Amine Khaldi f8b992f2d3 [MSI] Sync with Wine 3.0. CORE-14225 2018-01-20 12:29:30 +01:00
Amine Khaldi 71bffdcde9 [MSI] Sync with Wine Staging 2.16. CORE-13762
cb4c1dc msi: Always return MSIDBSTATE_ERROR when MsiGetDatabaseState is called from a custom action.
04d242d msi: Create dummy thread to initialize COM for custom actions.
52fbaeb msi: Add support for ActionText table.
700ebc8 msi: Return the correct values from dialogs.
a3dd99c msi: Return the current date and time.
4ccc82a msi: Use the Error table for more messages.
77e3d33 msi: Use MsiProcessMessage() to send error messages.
3ca2dfe msi: Avoid uninitialized pointer access on error path (Coverity).
d631714 msi: Add a trailing linefeed to a FIXME() trace.
39c2ff0 msi: Send the dialog created message in dialog_create().
14f865e msi: Don't queue a parent dialog to be shown in EndDialog.
8826584 msi: Process ShowDialog/EndDialog after all other control events.
44fb23d msi: Don't set _BrowseProperty.
b4c39f4 msi: Avoid a null pointer dereference.
51bd884 msi: Properly parse empty format strings.
16f0dff msi: Return the correct values from custom actions.
f348c7c msi: Rewrite dump_record().
f9c68df msi: Use the given record for INSTALLMESSAGE_ACTIONDATA.
c788ed85 msi: Provide the result of the last action.
1505912 msi: Allow setting NULL in MsiSetInteger().
f9f53fe msi: Correctly format the template field for MsiProcessMessage().
3033dae msi: Implement UI messages for dialogs.
5da9250 msi: Don't increment the refcount when creating dialogs.
48237e2 msi: Add a basic internal UI implementation.
39b841d msi: Fix a buffer overrun.
9032279 msi: Implement UI messages in MsiOpenPackage().
bcc4a04 msi: Implement INSTALLMESSAGE_INITIALIZE and INSTALLMESSAGE_TERMINATE.
a388906 msi: Send the correct UI messages upon calling MsiDoAction().
de5246a msi: Don't reimplement record formatting.
4e49ae3cc msi: Pass the given record to the callback.
df31a7c msi: Store string and record callback data separately.
cef6799 msi: Use an external UI record handler before a string handler.
2017-10-08 11:31:31 +01:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
Renamed from reactos/dll/win32/msi/msipriv.h (Browse further)