Commit Graph

732 Commits

Author SHA1 Message Date
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
Hans Leidekker 5871ad6d00 msi: Revert 3cd55cc916.
It breaks the Office 2003 installer.
2010-11-03 16:06:43 +01:00
Hans Leidekker ee7d8547b6 msi: Downgrade some warnings. 2010-11-03 16:06:21 +01:00
Hans Leidekker 566e67a491 msi: Components don't require a key path. 2010-11-03 16:06:17 +01:00
Aleksey Bragin 8c5718ec9d msi: Fix freed memory access and fix freeing of invalid pointer. 2010-10-22 19:05:12 +02:00
Hans Leidekker 031c70c965 msi: Register service arguments in the InstallServices action. 2010-10-22 12:07:00 +02:00
Hans Leidekker 7f5204e1bc msi: Register service dependencies in the InstallServices action. 2010-10-22 12:06:54 +02:00
Hans Leidekker 7a460eba71 msi: The LoadOrderGroup, StartName and Password fields from the ServiceInstall table are formatted strings. 2010-10-22 12:06:49 +02:00
Hans Leidekker d7dbb7e08d msi: Register the service description in the InstallServices action. 2010-10-22 12:06:44 +02:00
Hans Leidekker ded22a58c0 msi: Don't inline msi_feature_set_state and msi_component_set_state. 2010-10-22 12:06:33 +02:00
Hans Leidekker eaa57c5b7b msi: Compare strings without depending on thread locale. 2010-10-19 13:49:54 +02:00
Hans Leidekker 59d6dcfddd msi: Put keys from 32-bit packages starting with HLKM\Software under Wow6432Node on 64-bit. 2010-10-13 15:52:27 +02:00
Hans Leidekker 85874c07b9 msi: Look at the requested action instead of the action taken in MSI_SetFeatureStates. 2010-10-06 20:46:32 +02:00
Hans Leidekker 52aab76eb2 msi: Put the uninstall key for 32-bit packages under Wow6432Node on 64-bit. 2010-10-05 17:50:16 +02:00
Hans Leidekker 931bf05731 msi: Adjust the AdminUser property too after applying a patch. 2010-09-18 13:06:17 +02:00
Hans Leidekker 44b15b061b msi: Create the product key if necessary in msi_publish_patches.
Fixes a regression caused by c9fb24927d.
2010-08-27 12:08:16 +02:00
Hans Leidekker 64eec8f9fa msi: Register dlls directly in the SelfRegModules and SelfUnregModules actions. 2010-07-23 11:46:16 +02:00
Hans Leidekker bd634c0491 msi: Set/unset the SourceDir property at the right stage in the execution sequence. 2010-07-23 11:46:01 +02:00
Hans Leidekker ad971803da msi: Never defer standard actions. 2010-07-23 11:45:49 +02:00