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
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
Hans Leidekker
99aa0eb5d8
msi: Don't cache the base URL.
...
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-18 10:14:33 +02:00
Zebediah Figura
bbf0f2da82
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>
2018-04-18 10:12:58 +02:00
Zebediah Figura
9d12120395
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>
2018-04-18 10:12:52 +02:00
Zebediah Figura
8bfb4e8b62
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>
2018-04-16 11:48:17 +02:00
Zebediah Figura
b9b459810f
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>
2018-04-16 11:46:28 +02:00
Hans Leidekker
f25501db4b
Revert "msi: Store the current script in the package."
...
Commit 036f007e24
(which reverts
86bc556f9f
) is not sufficient to
fix the Office installers because MsiGetMode(MSIRUNMODE_SCHEDULED)
no longer does the right thing after the revert.
That is caused by "msi: Store the current script in the package.",
which, in hindsight, should have been part of the first commit.
This reverts e1e668d41f
.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-04 15:13:33 +01: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
Zebediah Figura
e1e668d41f
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>
2017-09-19 20:01:39 +02:00
Zebediah Figura
5245b9d3a8
msi: Remove a superfluous substructure.
...
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:35 +02:00
Zebediah Figura
5c39852c1e
msi: More fully implement the ExecuteAction action.
...
Major changes are adding several new UI messages (many of obscure
purpose), and executing the action given in the EXECUTEACTION
property rather than always running the InstallExecuteSequence 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-09-14 10:44:38 +02:00
Zebediah Figura
eb79fe1c3b
msi: Remove ACTION_PerformUIAction().
...
It was originally used to show dialogs, but this is now handled in
ACTION_HandleCustomAction().
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-13 11:49:19 +02: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
4ccc82a88a
msi: Use the Error table for more 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:56:54 +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
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
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
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
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
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
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
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
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
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
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
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
Hans Leidekker
4c1791f53e
msi: Add offsets to file patch sequence numbers.
2015-03-04 23:57:42 +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
Akihiro Sagawa
e52cbbcd03
msi: Remove 32-bit component registry keys with KEY_WOW64_32KEY flag.
2015-01-19 14:20:27 +01: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
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
Hans Leidekker
a547027b01
msi: Correctly [un]register progids when associated class and extensions change state.
2014-02-27 09:32:21 -06:00