Commit Graph

3257 Commits

Author SHA1 Message Date
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