Commit Graph

3402 Commits

Author SHA1 Message Date
Hans Leidekker aeb7d70ffd msi: Handle more than one patch per file. 2013-02-27 19:23:13 +01:00
Andrew Talbot 40f3a9fa59 msi: Avoid signed-unsigned integer comparisons. 2013-02-18 10:33:17 +01:00
Hans Leidekker bfe5e58d3a msi: Don't remove products if msidbUpgradeAttributesOnlyDetect is set. 2013-02-15 16:56:19 +01:00
Hans Leidekker 9779c4b5ea msi/tests: Move a couple of tests from install.c to msi.c. 2013-02-13 16:13:54 +01:00
Frédéric Delanoy 72989b5b03 msi: Fix memory leak (coverity). 2013-02-06 10:11:32 +01:00
Hans Leidekker 07be9f0585 msi: Improve parsing of the supported platforms string. 2013-01-31 16:32:50 +01:00
Hans Leidekker d4e9b2cd0f msi: Fix the return value of MsiGetFileVersion for some corner cases. 2013-01-31 16:32:47 +01:00
Hans Leidekker cafbad3feb msi: Don't fail if the directory already exists in MsiCreateAndVerifyInstallerDirectory. 2013-01-31 16:32:35 +01:00
Hans Leidekker 166a7e993c msi: Set _BrowseProperty to INSTALLDIR. 2013-01-30 17:19:39 +01:00
Hans Leidekker 8df6708af4 msi: Avoid a crash in msi_dialog_handle_event. 2013-01-30 17:19:37 +01:00
Hans Leidekker b637d4ca94 msi: Remove const from integer parameters. 2013-01-21 16:28:13 +01:00
Hans Leidekker 5b642da8cb msi: Execute concurrent installers in a separate process. 2013-01-21 16:27:57 +01:00
Hans Leidekker a248f4f001 msi: Set the OriginalDatabase property after applying transforms, not before. 2013-01-21 16:27:41 +01:00
Hans Leidekker 5891ce25e5 msi: Implement MsiQueryFeatureStateExA/W. 2013-01-09 17:39:33 +01:00
Hans Leidekker 6488a6a5e4 msi: Extend registry helpers to support opening the features key for a specific user. 2013-01-09 17:39:32 +01:00
Hans Leidekker 61db36556a msi: Fix a test failure on Windows 8 and conform to the more recent behavior. 2012-12-19 14:38:58 +01:00
Daniel Jelinski bd59df8ddd msi: Do not convert MaskedEdit contents to uppercase. 2012-12-14 11:57:11 +01:00
Michael Stefaniuc 62029ff586 msi: Use FIELD_OFFSET for the size of structs with a varlength array. 2012-12-13 18:38:47 +01:00
Hans Leidekker c66b78a810 msi: Don't set the Preselected property for a full reinstall. 2012-12-11 20:45:42 +01:00
Nikolay Sivov af5e73572a msi: Fix a stream data leak on error (Coverity). 2012-12-10 11:24:25 +01:00
Andrew Talbot b1d4793344 msi: Remove unused variables. 2012-11-22 11:55:09 +01:00
Frédéric Delanoy fcbc5cc5bb msi: Fix a couple of leaks (coverity). 2012-11-20 13:32:49 +01:00
Hans Leidekker ed4ce217d3 msi: Don't set the REINSTALL property if the product will be patched. 2012-11-19 16:35:36 +01:00
Frédéric Delanoy 098b3c7294 msi: Fix leaks in ITERATE_InstallService (coverity). 2012-11-16 19:27:23 +01:00
Frédéric Delanoy cac26d47a0 msi: Fix leaks in stop_service_dependents (coverity). 2012-11-16 19:26:50 +01:00
Nikolay Sivov 3b0179cbde msi: Remove unnecessary casts and argument from script site creation helper. 2012-11-15 12:20:28 +01:00
Nikolay Sivov 194c30d11f msi: Make it clear where script type mask comes from. 2012-11-15 12:19:58 +01:00
Nikolay Sivov eebde117ca msi: COM cleanup for IActiveScriptSite. 2012-11-15 12:19:52 +01:00
Nikolay Sivov e87c3b4b00 msi: Store object function pointers with type id. 2012-11-14 19:22:00 +01:00
Nikolay Sivov e726b54c87 msi: Cache ITypeInfo instances for automation objects instead of reloading every time. 2012-11-14 19:19:36 +01:00
Michael Stefaniuc dad2967943 msi: Don't over-allocate memory for a MSISELECTVIEW. 2012-11-12 13:17:00 +01:00
Michael Stefaniuc 51013ad278 msi: Use FIELD_OFFSET to calculate the size of structs with variable length array. 2012-11-09 17:10:37 +01:00
Hans Leidekker 9c431b6737 msi: Avoid a string copy when comparing SQL keywords. 2012-11-09 17:10:15 +01:00
Hans Leidekker e15121771c msi: Fix use of uninitialized variables. 2012-11-09 17:09:02 +01:00
Hans Leidekker b036ee6309 msi: Register dlls in a separate process. 2012-11-07 18:12:10 +01:00
Hans Leidekker e2900c23c7 msi: Make sure either the REINSTALL or the REMOVE property is set when the product is already installed. 2012-11-07 18:12:09 +01:00
Hans Leidekker 26299647f7 msi: Remove a component regardless of its install state, unless it's a permanent component. 2012-11-07 18:12:09 +01:00
Hans Leidekker 462ec1ba43 msi: Return correct length for the empty string from deformat_string. 2012-11-07 18:12:08 +01:00
Frédéric Delanoy 85bf1082ce msi: Fix some leaks (coverity). 2012-11-07 13:56:03 +01:00
Hans Leidekker cfadbddcaf msi: Avoid a crash when target paths have not yet been resolved. 2012-11-06 20:00:27 +01:00
Frédéric Delanoy 84541cc5e3 msi: Fix a leak (coverity). 2012-11-05 17:44:19 +01:00
Hans Leidekker 7d3f903db1 msi: Fix handling of REG_MULTI_SZ values in the WriteRegistryValues action. 2012-11-05 17:44:18 +01:00
Hans Leidekker 570322069c msi: Preserve strings with embedded nulls in the record formatting implementation. 2012-11-05 17:44:18 +01:00
Hans Leidekker 8d21f998c3 msi: Fix handling of strings with embedded nulls in msi_addstring. 2012-11-05 17:44:17 +01:00
Hans Leidekker 31ea3f44dd msi: Return length for the empty string in msi_string_lookup. 2012-11-02 19:47:30 +01:00
Hans Leidekker af08a2f6ba msi: Pass string length to msi_set_property in ACTION_CustomAction. 2012-10-29 14:41:55 +01:00
Hans Leidekker 52a87c9054 msi: Add a length parameter to msi_strcpy_to_awstring and use it where appropriate. 2012-10-29 14:41:49 +01:00
Hans Leidekker 2a31a3c057 msi: Don't create a copy of deferred custom action data. 2012-10-29 14:41:44 +01:00
Hans Leidekker 929d234072 msi: Return length instead of size from deformat_string. 2012-10-29 14:41:41 +01:00
Hans Leidekker 0f1d3474a8 msi: Add a length parameter to msi_set_property and use it where appropriate. 2012-10-29 14:41:36 +01:00
Hans Leidekker a7ff2818fe msi: Preserve strings with embedded nulls when copying from a record to the string table. 2012-10-29 14:41:21 +01:00
Hans Leidekker 9588deb54c msi: Preserve strings with embedded nulls when copying from the string table to a record. 2012-10-29 14:41:16 +01:00
Hans Leidekker 32aed60786 msi: Preserve strings with embedded nulls in the record implementation. 2012-10-29 14:41:04 +01:00
Hans Leidekker 8d28cc0ac7 msi: Get rid of MSI_RecordSetStringA. 2012-10-29 14:40:55 +01:00
Hans Leidekker 9aa23c6c77 msi: Store string length in the record structure. 2012-10-29 14:40:46 +01:00
Hans Leidekker 6950ac1d1c msi: Add support for storing strings with embedded nulls in the string table. 2012-10-29 14:40:40 +01:00
Hans Leidekker 652863f4d5 msi: Add more tests for embedded nulls in string property values. 2012-10-29 14:40:31 +01:00
Hans Leidekker a1c4d2c977 msi: Add a test for embedded nulls in string property values. 2012-10-29 14:40:18 +01:00
André Hentschel 1e361aa8cb msi/tests: Make multiline macros blocks (coverity). 2012-10-24 11:33:00 +02:00
Jacek Caban 3b9a13e94c msi: Make script Session object visible by name. 2012-09-18 14:48:24 +02:00
Jacek Caban 645ce64196 msi: Choose the right IActiveScriptParse* interface based on process type. 2012-09-18 14:48:19 +02:00
Hans Leidekker dd8f54a49f msi: Don't reinstall components shared with other products. 2012-09-13 13:56:39 +02:00
Hans Leidekker 1ee3be6e80 msi: Only remove a component if the number of clients drops to zero. 2012-09-11 18:07:29 +02:00
Marcus Meissner b9550ad352 msi: Move free after last usage (Coverity). 2012-09-06 18:23:40 +02:00
Jacek Caban e679471885 Always define WIDL_C_INLINE_WRAPPERS. 2012-08-28 14:41:13 +02:00
Michael Stefaniuc 5974e9d120 msi/tests: Avoid a TRUE:FALSE conditional expression. 2012-08-15 12:12:49 +02:00
Hans Leidekker 842525f423 msi: Try the registered install location first when resolving the target directory. 2012-08-13 11:45:15 +02:00
Hans Leidekker b7cefc9997 msi: Avoid an out of bounds access in msi_build_directory_name. 2012-08-13 11:45:11 +02:00
Hans Leidekker f180de40dd msi: Implement the RemoveExistingProducts standard action. 2012-07-31 18:01:54 +02:00
Vincent Povirk b8812afd33 msi: Stub Migrate10CachedPackagesW. 2012-07-31 10:52:53 +02:00
Hans Leidekker 6a588baaf7 msi: Use inline wrappers for calling COM methods. 2012-07-27 17:05:32 +02:00
Hans Leidekker 108d5927d0 msi: Use the right interface to call 32-bit and 64-bit custom action scripts. 2012-07-27 17:05:32 +02:00
Detlef Riekenberg a7e1b7c6ea msi/tests: Use always static binding for GetTokenInformation. 2012-07-27 17:05:20 +02:00
Hans Leidekker cbd83d0307 msi/tests: Mark some test results as broken. 2012-07-16 19:34:40 +02:00
Hans Leidekker 32fa9db888 msi: Don't hard-code the ServicePackLevel property. 2012-07-09 15:06:42 -04:00
Hans Leidekker f55ee1a212 msi: Don't crash if no working directory is specified for custom action type 34. 2012-07-09 15:06:35 -04:00
Francois Gouget 7f0cfac5cc msi/tests: Get rid of unneeded function typedefs. 2012-06-15 18:35:37 +02:00
Hans Leidekker a17ca16495 msi: Keep assembly caches loaded until the package is destroyed. 2012-06-12 10:22:24 +02:00
Hans Leidekker 3480ccbbb4 msi: Always load mscoree.dll from the system directory. 2012-06-12 10:22:15 +02:00
Hans Leidekker 458f6b7ccd msi: Don't fail if no .NET runtime is available. 2012-06-12 10:22:04 +02:00
Hans Leidekker f6f1bfd6fb msi/tests: Use only uppercase characters for the PID_REVNUMBER property. 2012-06-12 10:21:55 +02:00
Hans Leidekker 0ed61000d3 msi: Support registry key names that exceed 255 characters. 2012-06-11 21:03:48 +02:00
Hans Leidekker fc2c8a215f msi: Fail if a registry key cannot be created. 2012-06-11 21:03:48 +02:00
Hans Leidekker fd0c2dabdf msi: Ignore the value if a registry value name is special. 2012-06-11 21:03:47 +02:00
Hans Leidekker f0ea60049c msi: Add support for 64-bit registry components. 2012-06-11 21:03:47 +02:00
Hans Leidekker e16bcda486 msi: Don't create empty values for special registry entries. 2012-05-31 12:37:22 +02:00
Hans Leidekker c959e38625 msi: Don't terminate the string in msi_id2stringA.
This makes sure that the last string can be fully written when saving the
string table.
2012-05-31 12:37:22 +02:00
Hans Leidekker 35b9594244 msi: Add support for version 4.0 of the .NET runtime. 2012-05-17 17:21:42 +02:00
Hans Leidekker d6105eaa1f msi: Use the correct function pointer in msi_init_assembly_caches. 2012-05-17 17:21:28 +02:00
Hans Leidekker 11daa6aad5 msi: Break out of the loop as soon as the assembly is detected in msi_load_assembly. 2012-05-17 17:21:25 +02:00
Michael Stefaniuc 49add07795 msi/tests: Test the correct return values. 2012-05-17 10:18:11 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Hans Leidekker 4b32c09376 msi: Add support for the ActionInfo progress message subtype. 2012-05-15 16:26:38 +02:00
Hans Leidekker 6c7d0993f0 msi: Add support for the ProgressAddition progress message subtype. 2012-05-15 16:26:37 +02:00
Hans Leidekker 022915f75b msi: Don't hide failure of script custom actions. 2012-05-15 16:26:37 +02:00
Hans Leidekker 32c7a52f5c msi: Resolve the target path for the ODBC driver file if necessary. 2012-05-08 16:21:40 +02:00
Alexandre Julliard 720a37d778 msi/tests: Skip MsiEnumProductsEx tests if not supported. 2012-05-03 23:31:43 +02:00
Francois Gouget 1bf438ab29 msi: Tweak msiexec's usage message. 2012-05-03 11:51:38 +02:00
Hans Leidekker 9700e9c7a6 msi: Fix a couple of DispGetParam calls. 2012-05-01 14:50:03 +02:00
Hans Leidekker c3e3c81bfb msi: Add the Session object as a global member to custom action scripts. 2012-05-01 14:49:58 +02:00