Commit Graph

785 Commits

Author SHA1 Message Date
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
Hans Leidekker ed4ce217d3 msi: Don't set the REINSTALL property if the product will be patched. 2012-11-19 16:35:36 +01:00
Frédéric Delanoy 098b3c7294 msi: Fix leaks in ITERATE_InstallService (coverity). 2012-11-16 19:27:23 +01:00
Frédéric Delanoy cac26d47a0 msi: Fix leaks in stop_service_dependents (coverity). 2012-11-16 19:26:50 +01:00
Hans Leidekker e15121771c msi: Fix use of uninitialized variables. 2012-11-09 17:09:02 +01:00
Hans Leidekker b036ee6309 msi: Register dlls in a separate process. 2012-11-07 18:12:10 +01:00
Hans Leidekker e2900c23c7 msi: Make sure either the REINSTALL or the REMOVE property is set when the product is already installed. 2012-11-07 18:12:09 +01:00
Hans Leidekker 26299647f7 msi: Remove a component regardless of its install state, unless it's a permanent component. 2012-11-07 18:12:09 +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 929d234072 msi: Return length instead of size from deformat_string. 2012-10-29 14:41:41 +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 dd8f54a49f msi: Don't reinstall components shared with other products. 2012-09-13 13:56:39 +02: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 b7cefc9997 msi: Avoid an out of bounds access in msi_build_directory_name. 2012-08-13 11:45:11 +02:00
Hans Leidekker f180de40dd msi: Implement the RemoveExistingProducts standard action. 2012-07-31 18:01:54 +02:00
Hans Leidekker a17ca16495 msi: Keep assembly caches loaded until the package is destroyed. 2012-06-12 10:22:24 +02:00
Hans Leidekker 0ed61000d3 msi: Support registry key names that exceed 255 characters. 2012-06-11 21:03:48 +02:00
Hans Leidekker fc2c8a215f msi: Fail if a registry key cannot be created. 2012-06-11 21:03:48 +02:00
Hans Leidekker fd0c2dabdf msi: Ignore the value if a registry value name is special. 2012-06-11 21:03:47 +02:00
Hans Leidekker f0ea60049c msi: Add support for 64-bit registry components. 2012-06-11 21:03:47 +02:00
Hans Leidekker e16bcda486 msi: Don't create empty values for special registry entries. 2012-05-31 12:37:22 +02:00
Hans Leidekker 4b32c09376 msi: Add support for the ActionInfo progress message subtype. 2012-05-15 16:26:38 +02:00
Hans Leidekker 32c7a52f5c msi: Resolve the target path for the ODBC driver file if necessary. 2012-05-08 16:21:40 +02:00
Hans Leidekker 52f3d5bead msi: Remove child folders first in the RemoveFolders action. 2012-04-23 17:55:21 +02:00
Hans Leidekker f1af03fa16 msi: Reduce the indentation level in ACTION_GetComponentInstallStates. 2012-04-23 17:55:10 +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 350449fc43 msi: Suspend the installation if an action sets MSIRUNMODE_REBOOTNOW. 2012-04-02 13:30:41 +02:00
Hans Leidekker 89c80c41ea msi: Rename the need_reboot flag to need_reboot_at_end. 2012-04-02 13:30:24 +02:00
Hans Leidekker 9b2b760ea9 msi: Get the UI level from the global variable instead of the property. 2012-03-26 18:15:03 +02:00
Hans Leidekker c98bf1b57b msi: Fix deleting services on installation.
Based on a patch by Berhard Loos.
2012-03-13 13:30:11 +01:00
Hans Leidekker bca0fd6a55 msi: Follow the parent state for preselected features unless the parent is an advertised feature. 2012-02-05 09:38:12 -06:00
Frédéric Delanoy ca4fdc57ed msi: Avoid dead code in parse_prop (Coverity). 2012-01-30 11:59:44 +01:00
Frédéric Delanoy 8ef373a7f2 msi: Avoid dead code in parse_prop (Coverity). 2012-01-25 11:24:58 +01:00
Hans Leidekker fcce720a2f msi: Don't evaluate msidbFeatureAttributesFollowParent when features are preselected. 2012-01-23 15:59:54 +01:00
Hans Leidekker 09a49fd784 msi: Pass the file identifier instead of the filename in action data for SelfRegModules/SelfUnregModules. 2012-01-20 16:01:48 +01:00
Hans Leidekker d20c69c54d msi: Don't parse the format string when building the shortcut target path.
It's no longer necessary because target paths are always normalized.
2012-01-19 21:08:51 +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 de11a50b91 msi: Don't crash on secondary root folders in msi_resolve_target_folder. 2012-01-05 20:54:25 +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 8cc5561fbf msi: Don't run the rollback script in reinstall mode. 2011-12-13 18:59:15 +01:00
Hans Leidekker 39b7e6e50c msi: Resolve the target folder if necessary in msi_get_target_folder. 2011-12-01 14:18:22 +01:00
Hans Leidekker 959ebdb118 msi: Split up delete_reg_key_or_value. 2011-12-01 14:18:14 +01:00
Hans Leidekker 319081cbf6 msi: Wait up to 30 seconds for services to start up. 2011-10-27 14:21:23 +02:00
Hans Leidekker e973115a79 msi: Properly build the shortcut target path. 2011-10-11 13:37:50 +02:00
Michael Stefaniuc 6074bd51cc msi: Remove casts to the type of the casted variable. 2011-09-23 16:21:26 +02:00
Hans Leidekker 2788a95c8e msi: Support TrueType font files in MsiGetFileVersion. 2011-09-20 16:21:41 +02:00
Hans Leidekker eede401d03 msi: Free the message string in ACTION_ResolveSource. 2011-09-14 14:55:28 +02:00
Hans Leidekker 258fc7137f msi: Ignore unknown components in the FeatureComponents table. 2011-09-09 13:38:15 +02:00
Hans Leidekker bd3885946c msi: Return the right error from ResolveSource when the user cancels. 2011-09-09 13:38:04 +02:00
Hans Leidekker 984422bad1 msi: SelfUnregModules' counterpart is SelfRegModules. 2011-09-09 13:37:43 +02:00
Hans Leidekker 9d68804379 msi: Resolve the target folder if necessary when building link filenames. 2011-08-24 12:14:46 +02:00
Hans Leidekker eb7ae99ddb msi: Remove icons when the product is uninstalled. 2011-08-23 16:53:56 +02:00
Hans Leidekker db6dbcf2a2 msi: Initialize the installation context from the registry if the product is installed. 2011-08-23 16:53:56 +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 fe404d1d88 msi: Always check the return value of MSI_IterateRecords. 2011-07-27 11:55:23 +02:00
Hans Leidekker e1c2e8828f msi: Clean up the database queries. 2011-07-27 11:55:16 +02:00
Hans Leidekker 4202b1419c msi: Use the return value of MSI_IterateRecords (clang). 2011-07-07 12:32:25 +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 b32c643c18 msi: Handle escaped double quotes in command line parsing. 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 8ff57beb0e msi: Perform a full uninstall if no feature resolves to INSTALLSTATE_LOCAL. 2011-07-01 14:39:36 +02:00
Hans Leidekker ac994860af msi: Make sure reported progress adds up to projected progress. 2011-06-23 10:00:09 +02:00
Hans Leidekker 4c9c50d86b msi: Implement and test MsiGetFeatureInfo. 2011-06-10 10:55:11 +02:00
Hans Leidekker aec97287bc msi: Remove redundant function find_feature_by_name. 2011-06-10 10:54:57 +02:00
Hans Leidekker 597e166433 msi: Handle disabled components properly in the ProcessComponents action. 2011-06-07 14:18:33 +02:00
Hans Leidekker 4c49cf853d msi: Set the SystemComponent installation property if necessary. 2011-05-30 11:16:13 +02:00
Hans Leidekker ee80412330 msi: Support rollback of failed uninstalls. 2011-05-25 14:16:13 +02:00
Hans Leidekker 6c39fdf19a msi: Don't schedule rollback actions during rollback. 2011-05-25 14:16:08 +02:00
Hans Leidekker 3ce11c7cc2 msi: Fix updating the component reference count during rollback. 2011-05-25 14:16:04 +02:00
Hans Leidekker 0ecb33e21e msi: Fix the remaining actions to revert features and components to the installed state during rollback. 2011-05-25 14:16:00 +02:00
Hans Leidekker fe2b4b1df6 msi: Fix the ODBC actions to revert components to the installed state during rollback. 2011-05-24 11:58:45 +02:00
Hans Leidekker 7dd95a386e msi: Fix the service actions to revert components to the installed state during rollback. 2011-05-24 11:58:41 +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 50dd7b498a msi: Fix the registry actions to revert components to the installed state during rollback. 2011-05-24 11:58:34 +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 f644601fc5 msi: Improve the BindImage action stub. 2011-05-24 11:58:11 +02:00
Hans Leidekker 02fb530401 msi: Move patch related functions to a separate file. 2011-05-24 11:57:57 +02:00
Hans Leidekker 1ab830188a msi: Execute the rollback script if the installation failed. 2011-05-20 12:44:37 +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 01433f0f30 msi: Make sure that the target root directory has a trailing backslash. 2011-05-17 12:04:40 +02:00
Hans Leidekker c5ab1c37bf Revert "msi: Avoid loading cabinet streams more than once.".
This reverts commit 395479f0d1.
2011-05-17 12:04:38 +02:00
Hans Leidekker 1650367e16 msi: Remove redundant tracing. 2011-05-12 18:22:40 +02:00
Hans Leidekker e8bdbf879a msi: Don't resolve child folders if the parent path is unmodified. 2011-05-11 14:56:49 +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 395479f0d1 msi: Avoid loading cabinet streams more than once. 2011-05-06 16:39:45 +02:00
Hans Leidekker 0c43024af7 msi: Get rid of helpers.c. 2011-05-06 16:39:08 +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
Hans Leidekker 0d0074d56b msi: Skip disabled components in the InstallService action. 2011-05-02 16:39:44 +02:00
Hans Leidekker eee070f1e0 msi: Add offsets to disk ids added by patches. 2011-04-14 17:37:23 +02:00
Hans Leidekker 846811be59 msi: Check the return value of MSIREG_OpenUpgradeCodesKey (valgrind). 2011-04-14 17:37:22 +02:00
Hans Leidekker d447ae63b3 msi: Honor msidbFeatureAttributesFollowParent. 2011-04-05 14:42:56 +02:00