Commit Graph

750 Commits

Author SHA1 Message Date
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
Hans Leidekker ce0b3a030b msi: Fix parsing of an empty property followed by a non-empty property. 2011-04-05 14:42:52 +02:00
Hans Leidekker 68d6158875 msi: Implement and test MsiEnumComponentCostsA/W. 2011-04-01 16:16:04 +02:00
Hans Leidekker 0aaf17c0d8 msi: Fix buffer size calculation in get_keypath. 2011-03-31 12:49:42 +02:00
Hans Leidekker 8d58ddfe12 msi: Accept whitespace-only property values on the command line. 2011-03-30 13:28:05 +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
Hans Leidekker e82a4896f3 msi: Ignore invalid upgrade codes in the PublishProduct action. 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 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 12135acb70 msi: Skip reference counting for assembly components. 2011-03-16 14:14:23 +01:00
Hans Leidekker 888a19c02c msi: Build the key path from the display name if the component is an assembly. 2011-03-09 12:31:56 +01:00
Hans Leidekker e292eb121d msi: Also register components without a key path. 2011-03-09 12:31:53 +01:00
Hans Leidekker 4a6c63e24a msi: Make a second pass to determine which files to install in the InstallFiles action.
This is needed because the target path can still change after CostFinalize
is executed. This happens in the .NET 1.1 Service Pack 1 installer where a
custom action calls SetTargetPath.
2011-03-08 12:30:49 +01:00
Hans Leidekker 92b5b3fd8c msi: Preserve existing advertise strings in the PublishComponents action. 2011-02-10 10:28:01 -06:00
Hans Leidekker ba9f1f770a msi: Get rid of msi_component_set_state and msi_feature_set_state. 2011-02-10 10:28:01 -06:00
Hans Leidekker b96e5d21c6 msi: Split up resolve_folder. 2011-02-07 10:17:15 -06:00
Hans Leidekker 92203f1053 msi: Implement the MsiPublishAssemblies and MsiUnpublishAssemblies standard actions. 2011-01-24 16:04:28 +01:00
Hans Leidekker 701f14801f msi: Clean up better when removing a product. 2011-01-20 12:23:09 +01:00
Hans Leidekker 8933013b62 msi: Search all contexts in ACTION_GetComponentInstallStates. 2011-01-20 12:23:04 +01:00
Hans Leidekker 34b9e4c20f msi: Don't ignore disabled components when resolving install states.
Otherwise features are not published correctly.
2011-01-19 12:32:39 +01:00
Hans Leidekker d08378a06f msi: Fix parsing of patch product codes (valgrind). 2011-01-12 14:55:56 +01:00
Hans Leidekker 94f4c0f07d msi: Fix a memory leak (valgrind). 2011-01-12 14:55:43 +01:00
Hans Leidekker 0c25649d3e msi: Add support for comparing TrueType font versions. 2011-01-11 16:05:46 +01:00
Hans Leidekker 706b54daa7 msi: Use a function to determine if a feature is selected. 2010-12-24 15:51:25 +01:00
Hans Leidekker 6625f07ebf msi: Don't flag an error in the InstallServices action if the component does not exist. 2010-12-23 17:45:07 +01:00
Hans Leidekker 489f82e9b4 msi: Rewrite command line parsing to handle quoted values correctly. 2010-12-23 17:44:47 +01:00
Hans Leidekker b376f41766 msi: Don't try to install or remove ODBC drivers if the component is disabled. 2010-12-09 12:17:12 +01:00
Hans Leidekker 79da91eb7e msi: Improve the stub implementations of RemoveExistingProducts and MigrateFeatureStates. 2010-11-30 16:21:19 +01:00
Hans Leidekker 09eb7f1eb7 msi: Look for transform files relative to the package directory. 2010-11-30 16:21:13 +01:00
Hans Leidekker c47ecd1ccc msi: Always ignore disabled components. 2010-11-30 16:21:01 +01:00
Hans Leidekker 1f96b882e9 msi: Fix the Create/RemoveFolders actions to actually create and remove empty folders. 2010-11-26 14:59:02 +01:00
Hans Leidekker 6d13e2fd4b msi: Components don't require a key path. 2010-11-16 11:48:14 +01:00
Hans Leidekker 9d46ba417e msi: Don't use a temporary directory for local assemblies. 2010-11-12 16:59:24 +01:00
Hans Leidekker a23514eece msi: Add support for installing side-by-side assemblies. 2010-11-11 12:23:06 +01:00
Hans Leidekker 3faddc21b3 msi: Calculate file install states after evaluating component conditions, not before. 2010-11-11 12:22:50 +01:00
Hans Leidekker 8fd47bbef7 msi: Remove redundant function msi_find_file. 2010-11-11 12:22:35 +01:00