Commit Graph

3120 Commits

Author SHA1 Message Date
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
Marcus Meissner 8504548037 msi: Pointer to out of scope local variable (Coverity). 2011-03-04 16:26:01 +01:00
Austin English 0a284208bd msi/tests: Remove win9x hacks. 2011-02-28 13:12:50 +01:00
Paul Vriens 0d01212dac msi: Add a missing va_end() (Coverity). 2011-02-25 11:08:39 +01:00
Austin English 05126ec247 msi/tests: Remove win9x hacks. 2011-02-25 11:08:22 +01:00
Hans Leidekker 288718d8c3 msi: A custom action dll failing to load is not a fatal error. 2011-02-23 14:58:58 +01:00
Hans Leidekker 178d39ccc5 msi: Fix a trace. 2011-02-22 13:34:33 +01:00
Austin English 7de70a4804 msi/tests: Make sure to use return values (LLVM/Clang). 2011-02-17 17:29:54 +01:00
Austin English b6bea541db msi/tests: Remove dead assignments. 2011-02-17 17:29:46 +01:00
Detlef Riekenberg 1c2183a85a msi/tests: Fix a typo. 2011-02-14 12:28:17 +01:00
Austin English 27dd864f63 msi/tests: Make sure to use a return value (LLVM/Clang). 2011-02-11 14:48:19 +01:00
Austin English 5e92277f97 msi/tests: Don't check return values inside of if(0) (LLVM/Clang). 2011-02-11 14:48:11 +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
Austin English a85adf3152 msi/tests: Make sure to use return values (LLVM/Clang). 2011-02-10 09:56:49 -06:00
Austin English 6816aa295e msi/tests: Make sure to use return values (LLVM/Clang). 2011-02-08 14:46:59 -06:00
Hans Leidekker b2b4005fe4 msi/tests: Show that a failing call to MsiGetSourcePath(SOURCEDIR) sets the SOURCEDIR property. 2011-02-07 10:17:20 -06:00
Hans Leidekker b96e5d21c6 msi: Split up resolve_folder. 2011-02-07 10:17:15 -06:00
Hans Leidekker 181beef870 msi: Try harder to remove non-persistent directories. 2011-02-02 14:09:14 +01:00
Hans Leidekker bf192f6ac9 msi: Handle out-of-memory condition in encode_streamname. 2011-02-01 18:14:09 +01:00
Hans Leidekker bc13c7eb90 msi: Reset file attributes before removing a file. 2011-02-01 18:14:08 +01:00
Hans Leidekker 08c3d2a5ab msi: Skip rollback custom actions. 2011-01-27 16:31:45 +01:00
Hans Leidekker aae1b21092 msi: Initialize a variable in get_patch_product_codes (clang). 2011-01-27 16:31:37 +01:00
Hans Leidekker eb4e5d6024 msi: Return the correct disk prompt size from MsiSourceListEnumMediaDisksW (clang). 2011-01-27 16:31:32 +01:00
Hans Leidekker 53b5e7f319 msi: Check a return value (clang). 2011-01-27 16:31:25 +01:00
Hans Leidekker 4a7371e32d msi/tests: Test a return value (clang). 2011-01-27 16:31:19 +01:00
Hans Leidekker af3733cde5 msi: Use a return value (clang). 2011-01-27 16:31:13 +01:00
Hans Leidekker e861283a62 msi: Make sure the return value is initialized in save_table (clang). 2011-01-27 16:31:07 +01:00
Hans Leidekker 15f0cc3130 msi: Check the return value of IActiveScript_AddNamedItem (clang). 2011-01-27 16:30:58 +01:00
Hans Leidekker a84af95d3e msi/tests: Consistently test return values (clang). 2011-01-27 16:30:53 +01:00
Hans Leidekker 78ce0a7350 msi: Check the return value of fetch_int (clang). 2011-01-27 16:30:48 +01:00
Greg Geldorp 0abf2da022 msi/tests: Check 64-bit reg view if key not present in 32-bit view. 2011-01-27 14:20:35 +01:00
Hans Leidekker 92203f1053 msi: Implement the MsiPublishAssemblies and MsiUnpublishAssemblies standard actions. 2011-01-24 16:04:28 +01:00
Hans Leidekker 3eaf33fff7 msi: Don't interpret assembly name attributes. 2011-01-24 16:04:23 +01:00
Hans Leidekker 167e4eff6d msi/tests: More tests for publishing and unpublishing assemblies. 2011-01-20 12:23:17 +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 3ada9f2c08 msi: Downgrade a warning.
Unreferenced files are normal when applying a patch.
2011-01-19 12:32:44 +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 17cc23d365 msi: Free memory on error (valgrind). 2011-01-18 13:23:10 +01:00
Hans Leidekker e6e454ab16 msi/tests: Accept one more estimated size. 2011-01-13 17:33:10 +01:00
Hans Leidekker 257beae1fd msi: Fix some memory leaks (valgrind). 2011-01-13 17:26:24 +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 52f719d18c msi: Improve detection of installed local assemblies. 2011-01-11 16:05:46 +01:00
Hans Leidekker 6a0801a40a msi: Don't extract files for assemblies which are already installed. 2011-01-11 16:05:46 +01:00
Hans Leidekker 65581e0e33 msi: Fix detection of installed global assemblies. 2011-01-11 16:05:46 +01:00
Hans Leidekker 0c25649d3e msi: Add support for comparing TrueType font versions. 2011-01-11 16:05:46 +01:00
Hans Leidekker f133222d5e msi/tests: Add a test for MsiGetComponentState. 2011-01-10 10:42:43 +01:00
Hans Leidekker 35bdf01881 msi/tests: Add tests for publishing and unpublishing assemblies. 2011-01-10 10:42:39 +01:00
Hans Leidekker 01286b97e3 msi/tests: Mark a test result on some old Wow64 platforms as broken. 2011-01-06 18:28:52 +01:00
Alexandre Julliard 214ca2c01c msi: Convert translations to po files. 2011-01-06 16:21:30 +01:00
Greg Geldorp faf19ec966 msi/tests: Fix remaining Wow64 failures for action test set. 2011-01-04 16:03:02 +01:00
Greg Geldorp 536876afc3 msi/tests: Fix some failures on Wow64. 2011-01-03 14:57:29 +01:00
André Hentschel 648025881f msi/tests: Don't test function directly when reporting GetLastError(). 2010-12-30 15:01:11 +01:00
Hwang YunSong a0639d004d msi: Update Korean resource. 2010-12-27 15:39:38 +01:00
Hans Leidekker 6d10216891 msi: Change ACTION_UpdateComponentStates to take a feature pointer. 2010-12-24 15:51:31 +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 03a3292ffe msi: Set the install level to the maximum if the requested install state is not the default. 2010-12-24 15:51:14 +01:00
Hans Leidekker cbf7a1e86e msi: Set the Preselected property if the default feature selection is modified in a dialog. 2010-12-24 15:50:59 +01:00
Hans Leidekker 05a95f2e92 msi: Remove an incorrect error trace. 2010-12-23 17:45:11 +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 5f9dd9df1f msi: Global and local win32 assembly names are formatted differently. 2010-12-23 17:45:01 +01:00
Hans Leidekker 9e30f77568 msi: Add some traces. 2010-12-23 17:44:54 +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 7bc7d09109 msi: Return INSTALLSTATE_UNKNOWN from MsiGetComponentState if the component is disabled. 2010-12-23 17:44:35 +01:00
André Hentschel 0e5c2f346d msi/tests: Remove superfluous check. 2010-12-20 12:47:41 +01:00
Alexandre Julliard 17e66e06d6 msi: Convert the dll registration to the IRegistrar mechanism. 2010-12-17 14:59:49 +01:00
Michael Stefaniuc 24ad5cb68f msi: Use an iface instead of a vtbl pointer in msi_remote_database_impl. 2010-12-15 13:18:45 +01:00
Michael Stefaniuc b36f401011 msi: Use an iface instead of a vtbl pointer in msi_remote_package_impl. 2010-12-15 13:18:40 +01:00