Commit Graph

494 Commits

Author SHA1 Message Date
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
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