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