Commit Graph

3287 Commits

Author SHA1 Message Date
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
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
Michael Stefaniuc cb58010118 msi: Use an iface instead of a vtbl pointer in msi_custom_remote_impl. 2010-12-15 13:18:37 +01:00
Michael Stefaniuc 09019ba78a msi: Use an iface instead of an vtbl pointer in IClassFactoryImpl. 2010-12-15 13:18:12 +01:00
Hans Leidekker 942e2b2ac9 msi: Support MSIRUNMODE_LOGENABLED in MsiGetMode. 2010-12-15 12:02:01 +01:00
André Hentschel 6e9b841216 msi: Fix test failure on some 2k3 machines. 2010-12-13 16:24:10 +01:00
Hans Leidekker 1214dca412 msi/tests: Fix some test failures on Wow64. 2010-12-10 17:09:37 +01:00
Hans Leidekker 973821c775 msi/tests: Avoid a test failure on 64-bit. 2010-12-09 12:17:22 +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 23169289e6 msi: Map neutral parts of package language ids to the system default language id. 2010-12-06 19:05:53 +01:00
Alexandre Julliard 24d2f694cb msi/tests: Fix a test failure on win2k. 2010-12-03 16:15:13 +01:00
Joris Huizer d4d7c263cb msi: Don't leak memory on error path. 2010-12-03 11:04:13 +01:00
Hans Leidekker ad6b7cd46a msi: Clear last error on success in MsiQueryFeatureState and MsiQueryProductState. 2010-12-02 12:47:42 +01:00
Hans Leidekker 06505c9a34 msi: Reuse temporary executables.
Fixes a custom action in the Office 2010 installer and makes installers
that pack multiple custom actions in an executable faster.
2010-12-02 12:47:41 +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 e609bb0453 msi/tests: Fix the scope of todo_wine in the tests for MsiApplyMultiplePatches.
These tests succeed on Wine if you run them from a volume for which GetDriveType
returns something other than DRIVE_FIXED, e.g. a ramdisk.
2010-11-26 14:59:35 +01:00
Hans Leidekker 4b5db7a9ac msi: Always initialize the dialog font list. Convert it to a standard Wine list.
Avoids accessing uninitialized memory when the TextStyle table is absent.
2010-11-26 14:59:19 +01:00
Hans Leidekker 967f73eaef msi: Trace errors from LoadLibraryShim. 2010-11-26 14:59:06 +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
Peter Urbanec edab173047 msi: Add AMD64 platform definition to support installation of Visual C++ 8.0 redistributable. 2010-11-26 12:15:21 +01:00
Hans Leidekker a4de41f36b msi: Install assemblies only if the component action request is set to INSTALLSTATE_LOCAL. 2010-11-18 12:37:04 +01:00
Hans Leidekker c3adb72820 msi: Add support for importing and exporting the special _ForceCodepage table. 2010-11-17 14:01:13 +01:00
Hans Leidekker 18c55dee35 msi: Improve tracing in MsiQueryFeatureStateW. 2010-11-17 14:01:12 +01:00
Hans Leidekker a74e025335 msi: Fix handling of an empty language id list in msi_parse_summary. 2010-11-17 14:01:12 +01:00
Hans Leidekker b07ea863d2 msi: Trace the reinstall mode in hex in MsiReinstallFeatureW. 2010-11-17 14:01:12 +01:00
Hans Leidekker c3030532d4 msi: Forward MsiInstallMissingComponentA to MsiInstallMissingComponentW. 2010-11-16 11:48:20 +01:00
Hans Leidekker 6d13e2fd4b msi: Components don't require a key path. 2010-11-16 11:48:14 +01:00
Hans Leidekker 7cd084d041 msi: Honor msidbComponentAttributesPermanent. 2010-11-16 11:48:08 +01:00
Hans Leidekker b1b3252963 msi: Check component attributes before extracting the cabinet. 2010-11-16 11:48:04 +01:00
Paul Vriens e21115187e msi/tests: Cleanup properly on Win9x. 2010-11-15 13:20:06 +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 19a2d144b5 msi: Don't rebuild the target path for files from global assembly components. 2010-11-12 15:43:21 +01:00
Hans Leidekker b112d77126 msi: Honor msidbComponentAttributesNeverOverwrite. 2010-11-12 15:43:17 +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 fa9757bd73 msi: Put quotes around the filename in MsiApplyPatch. 2010-11-11 12:22:43 +01:00
Hans Leidekker 8fd47bbef7 msi: Remove redundant function msi_find_file. 2010-11-11 12:22:35 +01:00
Hans Leidekker 9ae062f63e msi: MsiGet/SetFeatureState must get and set the requested feature action, not the action taken. 2010-11-11 12:22:27 +01:00
André Hentschel 384b95533d msi: Downgrade an error. 2010-11-09 11:44:14 +01:00
Hans Leidekker 54a61744e0 msi: Features don't require a directory. 2010-11-05 17:15:34 +01:00
Paul Vriens a3c21e7145 msi: Update Serbian (Latin and Cyrillic) translations.
Translation by Đorđe Vasiljević.
2010-11-04 16:19:36 +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
Hans Leidekker aef0aa30fd msi: Don't crash if there is no feature parent. 2010-11-03 16:06:12 +01:00
Hans Leidekker ced35838ea msi: An inactive dialog control does not require a property. 2010-10-26 15:24:46 +02:00
Hans Leidekker f3e7ed44f1 msi: Open the log file once per package. 2010-10-26 15:24:40 +02:00
Hans Leidekker 29ee65402b msi: Open the log file in shared write mode. 2010-10-26 15:24:33 +02: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 5a0a53820a msi/tests: Add tests for msidbFeatureAttributesUIDisallowAbsent. 2010-10-22 12:06:39 +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
Trygve Vea 6cb9f6ff2b msi: Updated Norwegian translation. 2010-10-18 11:45:58 +02:00
Hans Leidekker 8db3c0e358 msi/tests: Move test coverage for standard actions to a separate module. 2010-10-14 17:54:52 +02:00
Hans Leidekker 9cc4b0caae msi/tests: Don't create a nested restore point on recent versions of MSI.
We now set the MSIFASTINSTALL property which disables restore points.
2010-10-13 15:52:58 +02:00
Hans Leidekker 5d0a6b0004 msi: Store action data for deferred rollback actions too. 2010-10-13 15:52:38 +02:00
Hans Leidekker 7404e64373 msi: A commit or rollback custom action can be a deferred action at the same time. 2010-10-13 15:52:33 +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 43a680a155 msi: Register class ids from 32-bit packages under Wow6432Node on 64-bit. 2010-10-13 15:52:19 +02:00
Hans Leidekker 0df4712658 msi/tests: Reduce the UI level for a couple of tests.
This makes the tests run faster because native only creates restore points
for installers with a basic UI level and higher.
2010-10-11 17:11:27 +02:00
Hans Leidekker eafebe0f7d msi/tests: Set the MSIFASTINSTALL property.
On recent versions of msi this prevents the creation of a system restore
point, which can take a very long time.
2010-10-11 17:11:27 +02:00
Hans Leidekker 5709fab04c msi/tests: Fix some test failures on 64-bit. 2010-10-11 17:11:26 +02:00
Hans Leidekker cf6e820106 msi: Allocate 3 bytes instead of 2 for in-memory string references.
Fixes an installer that stores string references as 2 byte integers and
grows the number of strings beyond the limit of 64k during installation.
2010-10-11 17:11:26 +02:00
Hans Leidekker b719338433 msi/tests: Use a different product code in the automation tests. 2010-10-11 17:11:26 +02:00
Hans Leidekker 3d33fb93cc msi/tests: Determine Wow64 mode just once. 2010-10-11 17:11:26 +02:00
Hans Leidekker 9e166a9690 msi/tests: Fix some test failures on 64-bit. 2010-10-06 20:46:37 +02:00
Hans Leidekker 3cd55cc916 msi Set the feature action to INSTALLSTATE_UNKNOWN if msidbFeatureAttributesUIDisallowAbsent is set. 2010-10-06 20:46:34 +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 a9c3195eb8 msi: Add package validation tests. 2010-10-06 20:46:30 +02:00
Hans Leidekker ca7cd1bf89 msi: Validate packages based on supported version, platform and languages. 2010-10-06 20:46:27 +02:00
Hans Leidekker 8bc9a499d1 msi: Remove a potentially noisy trace. 2010-10-06 16:22:26 +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
Andrew Eikum f62439c0d4 msi/tests: Fix copy-paste errors in tests. 2010-10-01 17:48:11 +02:00
Hans Leidekker dfc9351ba4 msi: Set more 64-bit properties. 2010-10-01 17:48:10 +02:00
Hans Leidekker ddbf3c754e msi: Remove an unnecessary warning. 2010-10-01 17:48:10 +02:00
Alexandre Julliard d1d1d0205d msi/tests: Make some variables static. 2010-10-01 13:36:43 +02:00
Alexandre Julliard b4109a079f msi/tests: Fix a test failure on 64-bit. 2010-09-30 17:51:17 +02:00
Alexandre Julliard 9fe16f8ae9 msi/tests: Avoid corrupting the pending file renames key on failure. 2010-09-30 17:51:17 +02:00
Hans Leidekker 259b5fdfa6 msi: Treat empty string as NULL in MsiGetSummaryInformationW. 2010-09-29 10:09:31 +02:00
Hans Leidekker 2b2fa04ca4 msi: Always check the return value of msi_string2idW. 2010-09-29 10:09:23 +02:00
Hans Leidekker fbf45bae04 msi: Use more descriptive variable names for installer properties. 2010-09-27 14:10:45 +02:00
Lauri Kenttä 57a64040e3 msi: Update Finnish translation. 2010-09-24 18:21:19 +02:00
Hans Leidekker cce01d98e7 msi: Set some missing system folder properties. 2010-09-24 18:21:07 +02:00
Hans Leidekker 337fb86c3b msi: Use binary search to find the insert index for a row. 2010-09-24 18:21:03 +02:00
Hans Leidekker e58a67e9cd msi: Avoid accessing memory before the left hand string in compare_substring. 2010-09-24 18:20:52 +02:00
Hans Leidekker c5ef45e5ef msi: A progid without a class is not an error. 2010-09-24 18:20:41 +02:00
Hans Leidekker d59c99067a msi/test: Add tests for MsiGetFeatureState. 2010-09-24 18:20:36 +02:00
Hans Leidekker d56d0d98a3 msi: Remove unused field from MSICOMPONENT structure. 2010-09-24 18:20:32 +02:00
Paul Vriens 3d6a57a494 msi/tests: Prevent a popup on Windows NT. 2010-09-20 13:57:45 +02:00
Hans Leidekker 39d6b6eb70 msi: Handle fdintNEXT_CABINET and fdintPARTIAL_FILE for cabinet streams. 2010-09-20 13:48:12 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Hans Leidekker a0ebe951b6 msi: Read supported platform and language ids from the summary information stream. 2010-09-18 13:06:28 +02:00
Hans Leidekker 3ef3e81f9e msi: Avoid a crash on database destruction. 2010-09-18 13:06:21 +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 7e9d50a122 msi: Avoid pointer truncation in MSI_ViewFetch and MSI_ViewModify. 2010-09-13 10:59:18 -05:00
Paul Vriens 75c5484174 dlls: Fix some specfiles with respect to 'str' and 'wstr' usage. 2010-09-09 14:57:44 +02:00
Hans Leidekker 4a5b2abcf4 msi/tests: Fix some test failures on 64-bit. 2010-09-08 19:51:00 +02:00
Hans Leidekker f6e26351d5 msi: Open relocated package database in transacted mode. 2010-09-08 19:50:37 +02:00
Hans Leidekker d8b5879798 msi: Fix comparison of table ids in TABLE_Exists. 2010-09-08 19:50:15 +02:00
Francois Gouget b66eb177af msi/tests: Fix compilation on systems that don't support nameless unions or structs. 2010-09-07 16:01:39 +02:00
Hans Leidekker 2fb648c04f msi/tests: Add tests for 64-bit properties. 2010-09-02 18:05:22 +02:00
Hans Leidekker d2f1074725 msi: Set the System64Folder property on 64-bit. 2010-09-02 18:05:22 +02:00
Hans Leidekker 3730300a29 msi: Set the MsiAMD64 and Msix64 properties on 64-bit. 2010-09-02 18:05:22 +02:00
Hans Leidekker 18ebf2c576 msi: Return an error from MsiDatabaseGetPrimaryKeys if the table does not exist. 2010-09-02 18:05:22 +02:00
Hans Leidekker 0032706564 msi: Add stub implementations of MsiBeginTransaction and MsiEndTransaction. 2010-09-02 18:05:22 +02:00
Hans Leidekker dd7514a38d msi: Move database initialization to a separate function. 2010-08-27 12:08:33 +02:00
Hans Leidekker eef54ffe6b msi: Open the database storage in transacted mode when MSIDBOPEN_CREATE or MSIDBOPEN_TRANSACT is specified. 2010-08-27 12:08:29 +02:00
Hans Leidekker d411c49dd1 msi/tests: Fix a WoW64 test failure. 2010-08-27 12:08:22 +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 137dfbe80a msi/tests: Use a different product code in the package tests to avoid cascading test failures. 2010-08-27 12:08:08 +02:00
Hans Leidekker 378bb21f8e msi: Bump version to 4.5. 2010-08-18 15:31:25 +02:00
Hans Leidekker 5d85497a15 msi: Handle signature filenames in short|long notation. 2010-08-18 15:31:18 +02:00
Hans Leidekker 0c044c10d0 msi/tests: Skip SourceDir tests on win9x. 2010-08-18 15:30:49 +02:00
Hans Leidekker 7c89d4f28f msi/tests: Use HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE for registry tests.
Works around test failures on 64-bit Windows where MsiInstallProduct
returns success even though the registry keys specified in the
Registry table are not created.
2010-08-18 15:30:43 +02:00
Hans Leidekker 4102156e0f msi/tests: Fix some WoW64 test failures. 2010-08-18 15:30:28 +02:00
André Hentschel 428e8a5a01 msi: Prevent cryptic error. 2010-07-30 11:36:01 +02:00
Hans Leidekker 33b6ad7f73 msi/tests: Skip tests if UAC is enabled and the process is not running elevated. 2010-07-26 18:38:31 +02:00
Hans Leidekker 9686c95749 msi/tests: Skip a test if the current user has insufficient rights. 2010-07-26 18:38:31 +02:00
Hans Leidekker c2c98ae0c2 msi: Synchronize the spec file with version 5.0. 2010-07-23 11:46:23 +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 bdda3b950c msi: Warn if a transform file cannot be opened. 2010-07-23 11:46:10 +02:00
Hans Leidekker 2b0c45674f msi: Add some tests for MsiGetSourcePath. 2010-07-23 11:46:06 +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
Hans Leidekker ac924566fb msi/tests: Properly contruct the icon path for win9x. 2010-07-23 11:45:44 +02:00
Hans Leidekker 148887082c msi/tests: Initialize a string buffer and fix some leaks. 2010-07-23 11:45:39 +02:00
Hans Leidekker bb5ab26720 msi: Fix a memory leak. 2010-07-23 11:45:35 +02:00
Hans Leidekker c4bf9fb710 msi/tests: Fix some more wow64 test failures. 2010-07-22 16:10:42 +02:00
Hans Leidekker c4511481db msi/tests: Avoid a long timeout in the test for DeleteServices. 2010-07-22 16:10:29 +02:00