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
Hans Leidekker
28ecbec88d
msi: Get rid of the InstallMe field in MSIMIME.
2014-02-27 09:32:11 -06:00
Hans Leidekker
f0d663fb4d
msi: Use an INSTALLSTATE variable to track install state of classes and extensions.
2014-02-27 09:32:02 -06:00
Frédéric Delanoy
f21225a41b
msi: Fix typo in a field name.
2014-02-13 17:52:15 +01:00
Hans Leidekker
48908c130c
msi: Remove the unused CurrentlyScripting field from MSISCRIPT.
2014-01-03 17:00:12 +01:00
Hans Leidekker
ec7650908a
msi: Merge events.c into dialog.c.
2013-07-27 11:56:01 -05:00
Hans Leidekker
b64fabf39e
msi: Don't defer custom actions in the UI sequence if they match the currently running script.
2013-06-03 21:11:51 +02:00
Hans Leidekker
aeb7d70ffd
msi: Handle more than one patch per file.
2013-02-27 19:23:13 +01:00
Hans Leidekker
07be9f0585
msi: Improve parsing of the supported platforms string.
2013-01-31 16:32:50 +01:00
Hans Leidekker
a248f4f001
msi: Set the OriginalDatabase property after applying transforms, not before.
2013-01-21 16:27:41 +01:00
Hans Leidekker
6488a6a5e4
msi: Extend registry helpers to support opening the features key for a specific user.
2013-01-09 17:39:32 +01:00
Hans Leidekker
c66b78a810
msi: Don't set the Preselected property for a full reinstall.
2012-12-11 20:45:42 +01:00
Nikolay Sivov
e726b54c87
msi: Cache ITypeInfo instances for automation objects instead of reloading every time.
2012-11-14 19:19:36 +01:00
Hans Leidekker
7d3f903db1
msi: Fix handling of REG_MULTI_SZ values in the WriteRegistryValues action.
2012-11-05 17:44:18 +01:00
Hans Leidekker
52a87c9054
msi: Add a length parameter to msi_strcpy_to_awstring and use it where appropriate.
2012-10-29 14:41:49 +01:00
Hans Leidekker
0f1d3474a8
msi: Add a length parameter to msi_set_property and use it where appropriate.
2012-10-29 14:41:36 +01:00
Hans Leidekker
32aed60786
msi: Preserve strings with embedded nulls in the record implementation.
2012-10-29 14:41:04 +01:00
Hans Leidekker
9aa23c6c77
msi: Store string length in the record structure.
2012-10-29 14:40:46 +01:00
Hans Leidekker
6950ac1d1c
msi: Add support for storing strings with embedded nulls in the string table.
2012-10-29 14:40:40 +01:00
Hans Leidekker
1ee3be6e80
msi: Only remove a component if the number of clients drops to zero.
2012-09-11 18:07:29 +02:00
Hans Leidekker
842525f423
msi: Try the registered install location first when resolving the target directory.
2012-08-13 11:45:15 +02:00
Hans Leidekker
f0ea60049c
msi: Add support for 64-bit registry components.
2012-06-11 21:03:47 +02:00
Hans Leidekker
35b9594244
msi: Add support for version 4.0 of the .NET runtime.
2012-05-17 17:21:42 +02:00
Hans Leidekker
4b32c09376
msi: Add support for the ActionInfo progress message subtype.
2012-05-15 16:26:38 +02:00
Hans Leidekker
605e0b7b41
msi: Add support for uninstalling global assemblies.
2012-04-30 11:02:28 +02:00
Hans Leidekker
c8bb335990
msi: Check supported languages in the AppSearch action.
2012-04-23 17:55:28 +02:00
Hans Leidekker
dd205230a0
msi: Keep the UI level fixed during the lifetime of a package.
2012-04-05 17:53:20 +02:00
Hans Leidekker
15ee85dee8
msi: Implement MsiGet/SetMode(MSIRUNMODE_REBOOTNOW).
2012-04-02 13:30:36 +02:00
Hans Leidekker
89c80c41ea
msi: Rename the need_reboot flag to need_reboot_at_end.
2012-04-02 13:30:24 +02:00
André Hentschel
c000cbaf49
msi: Allow ARM installations.
2012-03-26 12:41:27 +02:00
Hans Leidekker
a4c20dc437
msi: Implement MsiEnumProductsEx.
2012-03-12 16:37:23 +01:00
Hans Leidekker
9336c10619
msi: Make sure target paths are normalized.
...
Fix for the Lotus Notes 6.5.1 installer.
2012-01-18 16:25:21 +01:00
Hans Leidekker
b00e7039c5
msi: Execute custom actions in the right script.
2012-01-06 21:57:40 +01:00
Hans Leidekker
ca49aae61e
msi: Fix handling of single quoted column names in SELECT queries.
2011-12-23 15:12:18 +01:00
Hans Leidekker
bde25b2cb4
msi: Use a common function to validate a product ID.
2011-12-23 15:12:11 +01:00
Hans Leidekker
ad4f747fa6
msi: Fix changing media for normal files.
2011-12-23 15:12:06 +01:00
Hans Leidekker
7c7e0bd51d
msi: MSI_SetFeatureStateW doesn't need to be WINAPI.
2011-09-23 12:39:02 +02:00
Hans Leidekker
2788a95c8e
msi: Support TrueType font files in MsiGetFileVersion.
2011-09-20 16:21:41 +02:00
Hans Leidekker
5783c2cfcb
msi: Move the preview code to dialog.c.
2011-09-09 13:37:40 +02:00
Hans Leidekker
470688f729
msi: Use a higher value for the initial transform disk id.
2011-09-05 17:17:37 +02:00
Bernhard Loos
abd1174941
msi: Protected primary keys against modification.
2011-08-26 13:34:25 +02:00
Hans Leidekker
70e3790707
msi: Remove local patch packages when the product is removed.
2011-08-23 16:53:56 +02:00
Hans Leidekker
621b0405c9
msi: Don't create a temporary copy of the package.
...
There's no need for it now that we open the package in transacted mode.
2011-08-23 16:53:56 +02:00
Hans Leidekker
e1c2e8828f
msi: Clean up the database queries.
2011-07-27 11:55:16 +02:00
Hans Leidekker
d1b2058500
msi: Make the column and table name parameters of get_column_info const.
2011-07-27 11:55:06 +02:00
Francois Gouget
26772e168b
msi: Make msi_parse_patch_summary() and msi_apply_patch_db() static.
2011-07-07 14:46:14 +02:00
Hans Leidekker
7d677fc327
msi: Delay creating local installer and patch packages until the product is registered.
2011-07-01 14:39:36 +02:00
Hans Leidekker
791fe136a9
msi: Remove directories after removing all files.
2011-07-01 14:39:36 +02:00
Hans Leidekker
2cbeb20d39
msi: Use an enum to represent folder states.
2011-07-01 14:39:36 +02:00
Hans Leidekker
4c9c50d86b
msi: Implement and test MsiGetFeatureInfo.
2011-06-10 10:55:11 +02:00
Hans Leidekker
ab13c00fc9
msi: Add support for returning validation errors.
2011-06-07 14:18:33 +02:00
Hans Leidekker
ad84982d92
msi: Fix the class actions to revert features to the installed state during rollback.
2011-05-24 11:58:38 +02:00
Hans Leidekker
b7950cfe68
msi: Fix the folder actions to revert components to the installed state during rollback.
2011-05-24 11:58:24 +02:00
Hans Leidekker
02fb530401
msi: Move patch related functions to a separate file.
2011-05-24 11:57:57 +02:00
Hans Leidekker
0f5cb14a67
msi: Schedule rollback for standard actions.
2011-05-20 12:44:32 +02:00
Hans Leidekker
9c9e0981b4
msi: Implement the DisableRollback standard action.
2011-05-20 12:44:22 +02:00
Hans Leidekker
4f9971f5f8
msi: Keep track of a stream's storage.
2011-05-06 16:40:06 +02:00
Hans Leidekker
6b8a8d75e2
msi: Add support for version 1.0 of the .NET runtime.
2011-05-06 16:39:58 +02:00
Hans Leidekker
bffd5e0cbb
msi: Destroy assembly caches right after use.
...
This avoids keeping dlls loaded that the .NET service pack installers want to replace.
2011-05-06 16:39:51 +02:00
Hans Leidekker
0c43024af7
msi: Get rid of helpers.c.
2011-05-06 16:39:08 +02:00
Francois Gouget
f09bbacf9e
msi: get_msi_typelib() is not used anymore so remove it.
2011-05-03 19:34:29 +02:00
Hans Leidekker
cd34bfe6c1
msi: Define common strings just once.
2011-05-02 16:40:20 +02:00
Hans Leidekker
4668091528
msi: Rewrite the folder resolution code to keep track of the parent-child relationship.
2011-05-02 16:40:06 +02:00
Hans Leidekker
8fb5368d4e
msi: Use a separate function to retrieve the target folder path.
2011-05-02 16:39:52 +02:00
Marcus Meissner
eb97e6179f
msi: Mark internal symbols as visibility hidden.
2011-04-25 13:02:17 +02:00
Francois Gouget
d685bfa548
msi: Move msi_get_cabinet_stream() up and make it static.
2011-04-18 12:40:02 +02:00
Hans Leidekker
eee070f1e0
msi: Add offsets to disk ids added by patches.
2011-04-14 17:37:23 +02:00
Hans Leidekker
131ef6372f
msi: Add support for maintaining a list of cabinet streams.
2011-04-14 17:37:23 +02:00
Hans Leidekker
68d6158875
msi: Implement and test MsiEnumComponentCostsA/W.
2011-04-01 16:16:04 +02:00
Hans Leidekker
e4d19fc47b
msi: Explicitly pass product code and platform to MSIREG_OpenUninstallKey and MSIREG_DeleteUninstallKey.
2011-03-30 13:28:05 +02:00
David Hedberg
6771ed40e8
msi: Add support for patching files.
2011-03-29 12:22:34 +02:00
David Hedberg
18973df9c7
msi: Generalize media helpers a bit.
2011-03-29 12:21:58 +02:00
David Hedberg
fed6e5211c
msi: Add an offset to sequence numbers belonging to files added by a patch.
2011-03-29 12:21:49 +02:00
Hans Leidekker
429407cfb6
msi: Assume a file is present if the target exists with the same size and there's no file version or hash to verify.
2011-03-08 12:31:04 +01:00
Hans Leidekker
be790cb0ad
msi: Load media info even if there's no file to install.
2011-03-08 12:30:55 +01:00