Commit Graph

3578 Commits

Author SHA1 Message Date
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
Hans Leidekker 52738e4f93 msi: Remove a workaround for missing Windows Script interfaces. 2012-05-01 14:49:52 +02:00
Hans Leidekker 605e0b7b41 msi: Add support for uninstalling global assemblies. 2012-04-30 11:02:28 +02:00
Hans Leidekker 89e95aa92c msi: Avoid a crash in get_registered_local_package. 2012-04-26 19:26:41 +02:00
Hans Leidekker fde66de6a5 msi: Don't free cached tables in MsiDatabaseCommit. 2012-04-26 19:26:37 +02:00
Hans Leidekker c8bb335990 msi: Check supported languages in the AppSearch action. 2012-04-23 17:55:28 +02:00
Hans Leidekker 52f3d5bead msi: Remove child folders first in the RemoveFolders action. 2012-04-23 17:55:21 +02:00
Hans Leidekker 2e5bf9ca06 msi: Dynamically allocate the path buffer in MsiQueryComponentStateW. 2012-04-23 17:55:18 +02:00
Hans Leidekker cf1cb30dfa msi: Initialize hkey in msi_comp_find_prod_key. 2012-04-23 17:55:14 +02:00
Hans Leidekker f1af03fa16 msi: Reduce the indentation level in ACTION_GetComponentInstallStates. 2012-04-23 17:55:10 +02:00
Francois Gouget f5a5cc067a msi: Make create_record() static. 2012-04-20 12:00:33 +02:00
Hans Leidekker a7137ef035 msi: Remove an unneeded assignment. 2012-04-20 11:59:43 +02:00
Hans Leidekker 2b9be70975 msi/tests: Fix some leaks. 2012-04-20 11:59:39 +02:00
Hans Leidekker 2e51464e4d msi/tests: Add a test for MsiEnumProductsEx. 2012-04-20 11:59:35 +02:00
Hans Leidekker fc73c9db0a msi: Fix install state detection for registry components. 2012-04-20 11:59:26 +02:00
Robert van Herk f87c4a36dd msi: Fixed MsiGetFileHashW for empty files. 2012-04-06 20:40:59 +02:00
Hans Leidekker dd205230a0 msi: Keep the UI level fixed during the lifetime of a package. 2012-04-05 17:53:20 +02:00
Hans Leidekker 350449fc43 msi: Suspend the installation if an action sets MSIRUNMODE_REBOOTNOW. 2012-04-02 13:30:41 +02:00
Hans Leidekker 15ee85dee8 msi: Implement MsiGet/SetMode(MSIRUNMODE_REBOOTNOW). 2012-04-02 13:30:36 +02:00
Hans Leidekker a6b3d77021 msi: Use the state parameter passed to MsiSetMode. 2012-04-02 13:30:28 +02:00
Hans Leidekker 89c80c41ea msi: Rename the need_reboot flag to need_reboot_at_end. 2012-04-02 13:30:24 +02:00
Hans Leidekker f01cd3a36d msi/tests: Add tests for MsiEnumComponents and MsiEnumComponentsEx. 2012-04-02 12:34:38 +02:00
Hans Leidekker 25b7228274 msi: Reimplement MsiEnumComponents on top of MsiEnumComponentsEx. 2012-04-02 12:34:28 +02:00
Hans Leidekker 8cebf01702 msi: Implement MsiEnumComponentsEx. 2012-04-02 12:34:24 +02:00
Hans Leidekker 8ea5266915 msi: Detect installed side-by-side assemblies. 2012-03-30 10:45:26 +02:00
Hans Leidekker ccad8e9d80 msi/tests: Reduce code duplication in the feature/component state tests. 2012-03-28 19:05:02 +02:00
Hans Leidekker 3f1e3008ea msi: Clear the cert pointer in MsiGetFileSignatureInformation. 2012-03-28 17:37:44 +02:00
Hans Leidekker d351a9999e msi: Also set the Intel property on 64-bit processors. 2012-03-28 17:37:41 +02:00
Andoni Morales Alastruey 342fcb6198 msi: Implement MSIMODIFY_MERGE function in TABLE_modify. 2012-03-28 11:44:52 +02:00
Hans Leidekker 280af52666 msi: Mask off modifiers before setting the UILevel property.
Spotted by Aric Stewart.
2012-03-26 18:15:03 +02:00
Hans Leidekker 9b2b760ea9 msi: Get the UI level from the global variable instead of the property. 2012-03-26 18:15:03 +02:00
André Hentschel c000cbaf49 msi: Allow ARM installations. 2012-03-26 12:41:27 +02:00
Hans Leidekker 45a62d53b6 msi: Restrict the match on files from cabinets to files that have not been installed. 2012-03-16 16:27:38 +01:00
Hans Leidekker c98bf1b57b msi: Fix deleting services on installation.
Based on a patch by Berhard Loos.
2012-03-13 13:30:11 +01:00
Hans Leidekker fa2420d696 msi: Perform a case insensitive match on filenames from cabinets. 2012-03-12 16:37:24 +01:00
Hans Leidekker 0f40d2624d msi: Reimplement MsiEnumProducts on top of MsiEnumProductsEx. 2012-03-12 16:37:24 +01:00
Hans Leidekker a4c20dc437 msi: Implement MsiEnumProductsEx. 2012-03-12 16:37:23 +01:00
Hans Leidekker 531cab9feb msi: Deformat the description field of INSTALLMESSAGE_ACTIONDATA messages. 2012-03-12 16:37:22 +01:00
Hans Leidekker 98c621c1bf msi: Use the return value of IXMLDOMNode_get_text (clang). 2012-02-06 10:19:37 -06:00
Hans Leidekker bb0b467366 msi: Avoid a null pointer dereference in MsiGetFileVersionW (clang). 2012-02-06 10:19:30 -06:00
Hans Leidekker bca0fd6a55 msi: Follow the parent state for preselected features unless the parent is an advertised feature. 2012-02-05 09:38:12 -06:00
Stefan Leichter f3caa76846 msi: Update version resource. 2012-01-30 20:44:49 +01:00
Frédéric Delanoy ca4fdc57ed msi: Avoid dead code in parse_prop (Coverity). 2012-01-30 11:59:44 +01:00
Frédéric Delanoy 8ef373a7f2 msi: Avoid dead code in parse_prop (Coverity). 2012-01-25 11:24:58 +01:00
Hans Leidekker c8e8f44168 msi: Use the column count specified in the table transform data.
It can be smaller than the number of columns found in the table meta data.
2012-01-24 16:57:32 +01:00
Francois Gouget 47f45d793d Use a single space after a full stop to follow the Windows GUI guidelines. 2012-01-23 16:07:03 +01:00
Hans Leidekker fcce720a2f msi: Don't evaluate msidbFeatureAttributesFollowParent when features are preselected. 2012-01-23 15:59:54 +01:00
Hans Leidekker 09a49fd784 msi: Pass the file identifier instead of the filename in action data for SelfRegModules/SelfUnregModules. 2012-01-20 16:01:48 +01:00
Hans Leidekker d20c69c54d msi: Don't parse the format string when building the shortcut target path.
It's no longer necessary because target paths are always normalized.
2012-01-19 21:08:51 +01:00
Hans Leidekker 9336c10619 msi: Make sure target paths are normalized.
Fix for the Lotus Notes 6.5.1 installer.
2012-01-18 16:25:21 +01:00
Nikolay Sivov 3b60c2c0d1 msi: Support test for aplicable patch of MSIPATCH_DATATYPE_XMLPATH type. 2012-01-18 12:37:37 +01:00
Nikolay Sivov 123eba2801 msi: Support MSIPATCH_DATATYPE_XMLBLOB when testing for applicable patch. 2012-01-18 12:37:37 +01:00
Nikolay Sivov 5cbe5faf49 msi: Create the rest of objects with separate helpers. 2012-01-17 19:13:55 +01:00
Nikolay Sivov 576aa0e6d0 msi: Use data table for dispid tests. 2012-01-16 13:13:23 +01:00
Nikolay Sivov 8a012ff4f7 msi: Implement list on top of general object. 2012-01-16 13:13:13 +01:00
Nikolay Sivov 07058e0068 msi: Add a helper to create database object. 2012-01-16 13:12:51 +01:00
Nikolay Sivov ff3ed0e5ea msi: Add null terminator to typelib name. 2012-01-16 13:12:41 +01:00
Nikolay Sivov b79311b175 msi: Create installer object initializing automation object data. 2012-01-16 13:12:25 +01:00
Nikolay Sivov 9505a1bf28 msi: Implement session object directly on top of automation object. 2012-01-16 13:12:14 +01:00
Nikolay Sivov 9687c29cc5 msi: COM cleanup for automation object implementation. 2012-01-16 13:11:28 +01:00
Hans Leidekker bc801f85be msi: Set the SourceDir and SOURCEDIR properties in MsiGetSourcePath. 2012-01-16 12:45:34 +01:00
Hans Leidekker 4ef765cb4e msi: Don't try to ready media for files from a previous installation or files that will be skipped. 2012-01-10 18:29:05 +01:00
Hans Leidekker c7e5f0331f msi: Downgrade an error. 2012-01-10 18:29:04 +01:00
Hans Leidekker b13195ce4e msi: Fix detection of installed global assemblies. 2012-01-10 18:29:04 +01:00
Hans Leidekker b00e7039c5 msi: Execute custom actions in the right script. 2012-01-06 21:57:40 +01:00
Hans Leidekker de11a50b91 msi: Don't crash on secondary root folders in msi_resolve_target_folder. 2012-01-05 20:54:25 +01:00
Hans Leidekker 2a19021610 msi: VolumeLabel and DiskPrompt are optional fields in the Media table. 2012-01-03 18:07:15 +01:00
Hans Leidekker 4def593456 msi: Accept a missing left backquote in SQL identifiers. 2012-01-03 18:07:08 +01:00
Hans Leidekker ca49aae61e msi: Fix handling of single quoted column names in SELECT queries. 2011-12-23 15:12:18 +01:00
Hans Leidekker bde25b2cb4 msi: Use a common function to validate a product ID. 2011-12-23 15:12:11 +01:00
Hans Leidekker ad4f747fa6 msi: Fix changing media for normal files. 2011-12-23 15:12:06 +01:00
Hans Leidekker 8cc5561fbf msi: Don't run the rollback script in reinstall mode. 2011-12-13 18:59:15 +01:00
Hans Leidekker 8a5c700d78 msi: Pass REINSTALL and REINSTALLMODE properties on the command line in MsiReinstallFeatureW. 2011-12-13 18:59:14 +01:00
Hans Leidekker 12e106613a msi: Don't set the LOGVERBOSE property in MsiReinstallFeatureW. 2011-12-13 18:59:14 +01:00
Hans Leidekker 1f56b60cc4 msi: Don't set the Installed property in MsiReinstallFeatureW.
This property will be set later.
2011-12-13 18:59:13 +01:00
Hans Leidekker 00477d601e msi: Support all install contexts in MsiReinstallFeatureW. 2011-12-13 18:59:13 +01:00
Hans Leidekker 973e86b844 msi: Move some traces from implementations to entry points. 2011-12-13 18:59:12 +01:00
Hans Leidekker 0f3eb5f689 msi: Format the value name from the RegLocator table. 2011-12-12 15:50:39 +01:00
Hans Leidekker 75242afefd msi/tests: Try harder to remove a shortcut file. 2011-12-06 15:51:01 +01:00
Hans Leidekker cd4432bc9b msi: Make sure to keep a reference to custom action data until the actions are finished. 2011-12-06 15:51:00 +01:00
Hans Leidekker 39b7e6e50c msi: Resolve the target folder if necessary in msi_get_target_folder. 2011-12-01 14:18:22 +01:00
Hans Leidekker 959ebdb118 msi: Split up delete_reg_key_or_value. 2011-12-01 14:18:14 +01:00
Francois Gouget 51a256e65f Assorted spelling fixes and wording tweaks. 2011-11-28 16:40:50 +01:00
Hans Leidekker 3ad3a184d5 msi: Perform a case insensitive match on the volume label. 2011-11-22 12:43:59 +01:00
Francois Gouget 7238a78805 msi: Delete the handle static critical sections when unloading the dll. 2011-11-17 11:37:49 +01:00
Hans Leidekker a100550383 msi: Trace the exit code from custom action processes. 2011-11-14 13:10:19 +01:00
Hans Leidekker 353016f92f msi: Process messages while waiting for custom actions to complete. 2011-11-14 13:10:19 +01:00
Andrew Talbot 3358b541ac msi: Remove extraneous braces from switch statement. 2011-11-07 11:53:56 +01:00
Hans Leidekker eb7d8b92cb msi: GetComputerName returns ERROR_BUFFER_OVERFLOW when the buffer is too small. 2011-11-03 13:09:07 +01:00
Hans Leidekker 5266f34c3c msi: Set the ComputerName property. 2011-11-01 12:13:46 +01:00
Hans Leidekker 936c14f87f msi: Handle some more message types in MSI_ProcessMessage. 2011-11-01 12:12:59 +01:00
Hans Leidekker 899e85ab26 msi: Fix the log mode for progress messages. 2011-11-01 12:12:55 +01:00
Hans Leidekker 392bd2b7a2 msi/tests: Fix a skip message. 2011-10-27 14:21:31 +02:00
Hans Leidekker 841a747409 msi/tests: Fix some test failures on win2k. 2011-10-27 14:21:27 +02:00
Hans Leidekker 319081cbf6 msi: Wait up to 30 seconds for services to start up. 2011-10-27 14:21:23 +02:00
Bernhard Loos 4ac1e8e034 msi: Always use WHEREVIEW for sorting. 2011-10-20 20:48:26 +02:00
Bernhard Loos 0fd4943277 msi: Get rid of JOINVIEW. 2011-10-20 20:48:26 +02:00
Bernhard Loos 4383aafadd msi: Reorder tables to optimize condition evaluation. 2011-10-20 20:48:26 +02:00
Vincent Povirk 2556173f20 msi: Use MsgWaitForMultipleObjectsEx to do waits. 2011-10-13 20:43:20 +02:00
Dan Kegel c77395dc08 msi: Initialize variable to placate static analyzers. 2011-10-13 20:06:46 +02:00
Hans Leidekker e973115a79 msi: Properly build the shortcut target path. 2011-10-11 13:37:50 +02:00
Hans Leidekker cda63b8a38 msi: Don't attempt to patch files if the component action resolves to anything other than INSTALLSTATE_LOCAL. 2011-10-11 13:37:50 +02:00
Michael Stefaniuc 78ebd8f7cf msi: Remove a redundant NULL check before free (Smatch). 2011-10-11 13:37:50 +02:00
Michael Stefaniuc 958eff8e94 msi: Remove a break after return (Smatch). 2011-10-11 13:37:50 +02:00
Michael Stefaniuc 0c5f83040a msi: Move a TRACE before the continue (Smatch). 2011-10-11 13:37:49 +02:00
Andrew Talbot 895b48e9ed msi: Mark fall-throughs in switch statements. 2011-10-06 16:47:33 -05:00
Andrew Talbot 48a6130279 msi: Add a break to a switch statement. 2011-10-06 16:47:30 -05:00
Hans Leidekker 5ea1caa69e msi/tests: Properly preserve pending file renames. 2011-09-27 16:24:26 +02:00
Francois Gouget d2084d5a41 msi/tests: Avoid #if 0 to make sure code still compiles. 2011-09-27 10:58:52 +02:00
Michael Stefaniuc 6074bd51cc msi: Remove casts to the type of the casted variable. 2011-09-23 16:21:26 +02:00
Hans Leidekker ca741823dd msi: Only use Windows platform-specific encoded strings from the font naming table. 2011-09-23 12:39:14 +02:00
Hans Leidekker 19a965f581 msi: Improve font version parsing. 2011-09-23 12:39:10 +02:00
Hans Leidekker 7c7e0bd51d msi: MSI_SetFeatureStateW doesn't need to be WINAPI. 2011-09-23 12:39:02 +02:00
Hans Leidekker 80438ef2ce msi: Remove an unused parameter from msi_create_table. 2011-09-23 12:38:59 +02:00
Hans Leidekker 83ef90789f msi: Support reading version information from OpenType/CFF fonts. 2011-09-21 11:35:43 +02:00
Hans Leidekker 2788a95c8e msi: Support TrueType font files in MsiGetFileVersion. 2011-09-20 16:21:41 +02:00
Francois Gouget ed01c53290 msi: Don't use debugstr_a() on an output parameter.
Spotted by Michael Stefaniuc and Hans Leidekker.
2011-09-20 16:21:37 +02:00
Francois Gouget ff98afc450 msi: Fix printing NULL strings. 2011-09-19 17:56:05 +02:00
Hans Leidekker 6ae7061645 msi: Improve parsing of the package platform. 2011-09-15 15:41:42 +02:00
Hans Leidekker f13cafad4a msi: Ignore files if their path cannot be resolved in the RemoveFiles action. 2011-09-14 14:55:33 +02:00
Hans Leidekker eede401d03 msi: Free the message string in ACTION_ResolveSource. 2011-09-14 14:55:28 +02:00
Bernhard Loos 9b729bb1b3 msi: Speed up WHERE statement evaluation by evaluating the condition as early as possible. 2011-09-12 17:45:51 +02:00
Bernhard Loos dc16dd1351 msi: The underlying tables might have changed, so it's not possible to cache the result of the execute. 2011-09-12 17:45:28 +02:00
Hans Leidekker 258fc7137f msi: Ignore unknown components in the FeatureComponents table. 2011-09-09 13:38:15 +02:00
Hans Leidekker 6351cd827b msi: Remove some dead assignments (clang). 2011-09-09 13:38:09 +02:00
Hans Leidekker bd3885946c msi: Return the right error from ResolveSource when the user cancels. 2011-09-09 13:38:04 +02:00
Hans Leidekker 984422bad1 msi: SelfUnregModules' counterpart is SelfRegModules. 2011-09-09 13:37:43 +02:00
Hans Leidekker 5783c2cfcb msi: Move the preview code to dialog.c. 2011-09-09 13:37:40 +02:00
Hans Leidekker 79e71d543f msi/tests: Fix some test messages. 2011-09-09 13:37:03 +02:00
Hans Leidekker 9562b61bc4 msi/test: Mark some test results as broken. 2011-09-09 13:36:57 +02:00
Hans Leidekker f618eb2860 msi: Respect the indirect attribute in the SelectionPath event handler. 2011-09-09 13:36:48 +02:00
Marcus Meissner 6d1ec3517d Revert "msi: Check for return value of GetUserName (Coverity).".
This reverts commit ac0a7b644f.
GetUserName is supposed to return 0 here, as size is 0.
2011-09-08 20:08:06 +02:00
Marcus Meissner ac0a7b644f msi: Check for return value of GetUserName (Coverity). 2011-09-07 18:14:02 +02:00
Hans Leidekker 9cb38911d2 msi: Initialize a variable. 2011-09-05 17:17:41 +02:00
Hans Leidekker 470688f729 msi: Use a higher value for the initial transform disk id. 2011-09-05 17:17:37 +02:00
Hans Leidekker eaf8848d0d msi/tests: Fix a number of test messages. 2011-09-05 17:17:32 +02:00
Hans Leidekker a8b51497e5 msi: Avoid a leak when a query is executed more than once. 2011-09-05 17:17:28 +02:00
Francois Gouget 2649761175 msi: Make find_table() static. 2011-09-02 14:42:17 +02:00
Michael Stefaniuc f0be3d8139 msi: COM cleanup for the IEnumVARIANT iface. 2011-09-02 10:44:22 +02:00
Jacek Caban 9ef5af540b msi: Ude default calling convention for internal functions. 2011-08-31 19:43:08 +02:00
Jacek Caban 81031c532e msi: Use struct instead of interface in object declarations. 2011-08-31 19:43:08 +02:00
Marcus Meissner ee12b4feed msi: Check return value of msi_string2idW (Coverity). 2011-08-31 19:43:07 +02:00
Alexandre Julliard 2fcf1220eb msi: Avoid dynamic stack allocation. 2011-08-29 13:52:32 +02:00
Bernhard Loos f0a53a8f1b msi: Implement proper sorting in WHEREVIEW. 2011-08-26 13:35:54 +02:00
Bernhard Loos abd1174941 msi: Protected primary keys against modification. 2011-08-26 13:34:25 +02:00
Bernhard Loos a52c2bf941 msi: Make WHEREVIEW able to deal directly with multiple tables. 2011-08-26 13:33:44 +02:00
Bernhard Loos 3bd0acf1ba msi: Use an array instead of a hashtable for WHEREVIEW. 2011-08-25 14:34:34 +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 d7952d8a24 msi/tests: Skip a test if the process is limited. 2011-08-24 12:14:46 +02:00
Hans Leidekker 0dec906d61 msi/tests: Accept one more estimated size. 2011-08-24 12:14:46 +02:00
Hans Leidekker fabfc5da78 msi/tests: Clean up local packages. 2011-08-23 16:53:56 +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 0f67869d84 msi: Print a warning instead of a fixme if we fail to open the database. 2011-08-23 16:53:56 +02:00
Hans Leidekker 763e2f3edc msi/tests: Use a package code that is different from the product code. 2011-08-23 16:53:56 +02:00
Frédéric Delanoy 760faf01a9 tests: Assorted spelling fixes. 2011-08-04 18:27:37 +02:00
Hans Leidekker 7b7c95425a msi: Make sure the source directory has a trailing backslash. 2011-08-04 18:27:36 +02:00
Frédéric Delanoy 7e309601f3 dlls: Assorted spelling fixes. 2011-08-03 14:15:50 +02:00
Alexandre Julliard b56dc9a6f7 winecrt0: Remove the clsid parameter in __wine_(un)register_resources. 2011-08-02 20:47:49 +02:00
Hans Leidekker cf4aec0cbd msi: Avoid a crash in ControlEvent_SetTargetPath. 2011-08-02 11:51:06 +02:00
Alexandre Julliard 729afa6adc makefiles: Generate resource files for typelibs. 2011-08-02 10:11:10 +02:00
Bernhard Loos 20bdf059ab msi: MsiDatabaseCommit also succeeds for a a readonly database. 2011-07-28 11:31:28 +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 d1b2058500 msi: Make the column and table name parameters of get_column_info const. 2011-07-27 11:55:06 +02:00
Hans Leidekker d38ace6d4c msi: Store table and column names in the string table. 2011-07-27 11:54:58 +02:00
Hans Leidekker b5ea0030f0 msi: Allow read sharing if the package is openend in transacted mode. 2011-07-25 17:59:04 +02:00
Hans Leidekker 911ad2bdab msi: Don't duplicate column string data. 2011-07-25 17:59:04 +02:00
Hans Leidekker b085b23b29 msi: Fix the SelectionPath event handler. 2011-07-24 12:31:55 +02:00
Francois Gouget 26772e168b msi: Make msi_parse_patch_summary() and msi_apply_patch_db() static. 2011-07-07 14:46:14 +02:00
Hans Leidekker e601ef55a9 msi: Check the return value of MSI_IterateRecords (clang). 2011-07-07 14:46:14 +02:00
Hans Leidekker 4686efd281 msi: Get rid of the msistring typedef. 2011-07-07 14:46:14 +02:00
Hans Leidekker 540d189060 msi: Avoid dereferencing a NULL pointer (clang). 2011-07-07 14:46:14 +02:00
Hans Leidekker 6083fd5e53 msi: Check the transform language against the package language instead of the system language. 2011-07-07 14:46:14 +02:00
Hans Leidekker 537a5932b0 msi: Add a stub implementation of MsiDeterminePatchSequence. 2011-07-07 14:46:14 +02:00
Hans Leidekker 9299319b88 msi: Remove some dead assignments (clang). 2011-07-07 14:45:59 +02:00
Hans Leidekker 7f199e81e1 msi: Avoid using an uninitialized value (clang). 2011-07-07 12:32:29 +02:00
Hans Leidekker 4202b1419c msi: Use the return value of MSI_IterateRecords (clang). 2011-07-07 12:32:25 +02:00
Frédéric Delanoy 99e422c975 msi: Remove dead assignment (Clang). 2011-07-06 11:30:10 +02:00
Hans Leidekker 823560d472 msi: Get rid of the remaining tabs. 2011-07-01 14:39:36 +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 12a55d9190 msi/tests: Clean up the local package in test_register_product. 2011-07-01 14:39:36 +02:00
Hans Leidekker 395887b684 msi/tests: Remove a test.
This test shows that native fails to remove an empty directory under
certain conditions. I don't see why we should replicate this behavior.
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
Marcus Meissner 90970651d3 msi: Remove superflous NULL check (Coverity). 2011-06-27 13:29:09 -05:00
Marcus Meissner 59f8cfeb22 msi: Removed useless NULL check (Coverity). 2011-06-27 13:28:59 -05:00
Hans Leidekker 0b2bd0c903 msi: Count progress in units of 512 bytes. 2011-06-23 10:00:13 +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 ebf323cfcb msi: Add support for running the progress bar backwards. 2011-06-23 10:00:02 +02:00
Hans Leidekker d1ae506e40 msi: Don't subscribe more than once to the same control event. 2011-06-23 09:59:56 +02:00
Hans Leidekker 838614c7ec msi: Don't update the progress bar in schedule_install_files. 2011-06-23 09:59:52 +02:00
Hans Leidekker 5ca2277cc5 msi: Pass the full custom action command to CreateProcess. 2011-06-14 13:15:25 +02:00
Marcus Meissner aec497b03d msi: Fix some NULL dereferences (Coverity). 2011-06-13 11:31:09 +02:00
Hans Leidekker 667ba16dbc msi: Implement and test MsiSetFeatureAttributes. 2011-06-10 10:55:18 +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 6efc9f9281 msi: Add a stub implementation of MsiCreateTransformSummaryInfo. 2011-06-10 10:45:49 +02:00
Alexandre Julliard 89472db9e3 msi: Create temp files in the destination directory instead of the root. 2011-06-09 15:56:57 +02:00
Hans Leidekker 1ae309f981 msi: Get rid of some more forward declarations. 2011-06-07 14:18:34 +02:00
Hans Leidekker 4004b25c1d msi: Avoid some AW conversions. 2011-06-07 14:18:34 +02:00
Hans Leidekker b4c20e7fef msi: Get rid of forward declarations for custom action handlers. 2011-06-07 14:18:34 +02:00
Hans Leidekker 597e166433 msi: Handle disabled components properly in the ProcessComponents action. 2011-06-07 14:18:33 +02:00
Hans Leidekker ab13c00fc9 msi: Add support for returning validation errors. 2011-06-07 14:18:33 +02:00
Hans Leidekker c869192c92 msi: Print a warning instead of an error if we're going to remove an installed file.
Removing an installed file is normal as part of a rollback.
2011-06-07 14:18:33 +02:00
Hans Leidekker 8aa8b9b654 msi: Fully initialize the MSISTORAGESVIEW and MSISTREAMSVIEW structures. 2011-06-07 14:18:33 +02:00
Hans Leidekker 5e37c1a2b7 msi: Revert 8321276cd3. 2011-06-07 14:18:33 +02:00
Hans Leidekker ddb25cd8a1 msi: Reorder dialog functions to avoid forward declarations. 2011-06-07 14:18:33 +02:00
Hans Leidekker 880ef2bb35 msi: Factor out common code to execute custom action commands. 2011-06-07 14:18:33 +02:00
Hans Leidekker 926fe27718 msi: GetUserName sets last error to ERROR_INSUFFICIENT_BUFFER if the buffer is too small. 2011-06-01 16:13:32 +02:00
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
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