Commit graph

3089 commits

Author SHA1 Message Date
Hans Leidekker
4c49cf853d msi: Set the SystemComponent installation property if necessary. 2011-05-30 11:16:13 +02:00
Hans Leidekker
1d6540bdc8 msi: Skip files from global assemblies in the RemoveFiles action. 2011-05-30 11:16:08 +02:00
Alexandre Julliard
b79fde445e msi: Remove the temp files after the storage files are closed. 2011-05-26 13:28:27 +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
39b7ce6b82 msi: Fix the assembly actions to revert components to the installed state during rollback. 2011-05-25 14:15:55 +02:00
Hans Leidekker
df2df89dbd msi: Fix the font actions to revert components to the installed state during rollback. 2011-05-24 11:58:49 +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
c88f128537 msi: Fix the file actions to revert components to the installed state during rollback. 2011-05-24 11:58:29 +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
6ec7306948 msi: Improve the stub for MsiGetMode(MSIRUNMODE_ADVERTISE). 2011-05-24 11:58:18 +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
49f263558b msi: Implement MsiGetMode(MSIRUNMODE_ROLLBACKENABLED). 2011-05-20 12:44:26 +02:00
Hans Leidekker
9c9e0981b4 msi: Implement the DisableRollback standard action. 2011-05-20 12:44:22 +02:00
Hans Leidekker
b817fb1aaa msi: Avoid a double free. 2011-05-20 12:44:18 +02:00
Hans Leidekker
7545fc1014 msi: Recursively create the destination directory in the MoveFiles action. 2011-05-20 12:44:13 +02:00
Hans Leidekker
4a1c243e6a msi: Factor out common code from MsiEnumComponentCostsW. 2011-05-20 12:44:10 +02:00
Marcus Meissner
97b82b0f18 msi: Check comp for NULL from msi_get_loaded_component (Coverity). 2011-05-18 16:41:17 +02:00
Hans Leidekker
f464b7d2e2 msi: Don't resolve child folders if the target path doesn't change in MsiSetTargetPath. 2011-05-17 12:04:43 +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
548d71ee45 msi: Search all installation contexts in the FindRelatedProducts action. 2011-05-17 12:04:24 +02:00
Hans Leidekker
9e5562297d msi: Improve tracing in the FindRelatedProducts action. 2011-05-17 12:04:17 +02:00
Hans Leidekker
c7e36d8ba8 msi: Unescape ^Q^Y sequences in text archives. 2011-05-12 18:23:00 +02:00
Hans Leidekker
e2ba5dce06 msi: Handle embedded nulls in text archives. 2011-05-12 18:22:54 +02:00
Hans Leidekker
b55cbe8d11 msi: Improve the stub for MisGetMode(MSIRUNMODE_ADMIN). 2011-05-12 18:22:44 +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
defcf092a9 msi/tests: Show that MsiSetTargetPath updates folder properties. 2011-05-11 14:56:49 +02:00
Hans Leidekker
3f7312fdc1 msi: Clone an open stream if possible in cabinet_open_stream. 2011-05-06 16:40:14 +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
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
2afd65f69b msi: Handle NULL component correctly in MsiEnumComponentCostsW. 2011-05-06 16:38:30 +02:00
Piotr Caban
54833c9b7c wine.inf: Add quotes to webbrowser command keys. 2011-05-04 20:42:27 +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
Hans Leidekker
0d0074d56b msi: Skip disabled components in the InstallService action. 2011-05-02 16:39:44 +02:00
Hans Leidekker
c96cd6efc8 msi: Avoid casts in IWineMsiRemotePackage methods. 2011-05-02 16:39:37 +02:00
Hans Leidekker
cc517f2b38 msi: Support remote calls to MsiEnumComponentCosts. 2011-05-02 16:39:02 +02:00
Hans Leidekker
b4a7a30b18 msi: Fix handling of components without a key path in MsiEnumComponentCostsW. 2011-05-02 16:38:51 +02:00
Marcus Meissner
eb97e6179f msi: Mark internal symbols as visibility hidden. 2011-04-25 13:02:17 +02:00
Hans Leidekker
9ad5d05a6a msi: Sync with the action request instead of the action taken in msi_seltree_sync_item_state. 2011-04-19 13:30:07 +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
5521646380 msi: Avoid redundant loading of media info. 2011-04-14 17:37:23 +02:00
Hans Leidekker
cfddf2796e msi/tests: Fix some memory leaks (valgrind). 2011-04-14 17:37:22 +02:00
Hans Leidekker
741b0f37f8 msi: Fix a memory leak (valgrind). 2011-04-14 17:37:22 +02:00
Hans Leidekker
846811be59 msi: Check the return value of MSIREG_OpenUpgradeCodesKey (valgrind). 2011-04-14 17:37:22 +02:00
Hans Leidekker
88b4bbfc6a msi: More Wow64 fixes. 2011-04-06 12:05:08 +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
Francois Gouget
1d246654cb msi: Make load_ttf_name_id() static. 2011-03-31 13:10:55 +02:00
Hans Leidekker
31291ec205 msi: Fix building the message string in MSI_ProcessMessage. 2011-03-31 12:49:48 +02:00
Hans Leidekker
0aaf17c0d8 msi: Fix buffer size calculation in get_keypath. 2011-03-31 12:49:42 +02:00
Hans Leidekker
6f552fd2f7 msi: Avoid sprintf for simple concatenations. 2011-03-30 13:28:05 +02:00
Hans Leidekker
881ff642a2 msi: Make sure to access the 64-bit portion of the registry where needed on Wow64. 2011-03-30 13:28:05 +02:00
Hans Leidekker
a0a7a7fc3d msi/tests: Remove unneeded Wow64 checks. 2011-03-30 13:28:05 +02:00
Hans Leidekker
f3f25af900 msi: Implement MsiGetFileSignatureInformationA/W. 2011-03-30 13:28:05 +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
6ad992c407 msi: Allocate the user token dynamically. 2011-03-30 13:28:05 +02:00
Hans Leidekker
419496d0c8 msi/tests: Allocate the user token dynamically and unify implementations. 2011-03-30 13:28:05 +02:00
Hans Leidekker
c505c0fe98 msi/tests: Get rid of workarounds for win9x test failures. 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
18973df9c7 msi: Generalize media helpers a bit. 2011-03-29 12:21:58 +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
Paul Vriens
abdecfbe17 msi: Only call MSI_RecordGetString() when needed (Coverity). 2011-03-17 17:44:23 +01:00
Francois Gouget
f7f9f5be12 msi: Make get_assembly_record() static. 2011-03-16 14:14:24 +01:00
Francois Gouget
cadd7389db msi: Small tweak to the usage for readability. 2011-03-16 14:14:23 +01:00
Hans Leidekker
bb40bebd2b msi: Let the InstallFiles action determine which private assembly files to install. 2011-03-16 14:14:23 +01:00
Hans Leidekker
12135acb70 msi: Skip reference counting for assembly components. 2011-03-16 14:14:23 +01:00
David Hedberg
477702c829 msi: Check other sources if install media not present at last used location. 2011-03-10 15:18:12 +01:00
David Hedberg
599b30833a msi: Use ordering information to update the correct row. 2011-03-10 15:18:00 +01:00
Hans Leidekker
2df374ac35 msi: Fix a memory leak (valgrind). 2011-03-10 14:10:16 +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
429407cfb6 msi: Assume a file is present if the target exists with the same size and there's no file version or hash to verify. 2011-03-08 12:31:04 +01:00
Hans Leidekker
be790cb0ad msi: Load media info even if there's no file to install. 2011-03-08 12:30:55 +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
f1e59351de msi: Manage one assembly cache per major version of the .NET runtime. 2011-03-07 13:17:46 +01:00
Hans Leidekker
40ad619ac3 msi: Avoid registering duplicate source list information. 2011-03-07 13:17:34 +01:00
Hans Leidekker
659db6e902 msi: Compare keys only in compare_record. 2011-03-07 13:17:29 +01:00
Hans Leidekker
3878c451ca msi: Reduce filename to the long name in ITERATE_RemoveFiles. 2011-03-07 13:17:25 +01:00
Hans Leidekker
8e5230740a msi/tests: Check the result of get_system_dirs and get_user_dirs. 2011-03-07 13:17:18 +01:00