Commit Graph

2177 Commits

Author SHA1 Message Date
James Hawkins f03889ae82 msi: Add initial implementation of MsiDatabaseMerge, with tests. 2008-10-09 12:58:25 +02:00
James Hawkins c9ec69db02 msi: Add tests for converting record fields between strings and ints. 2008-10-09 12:58:12 +02:00
James Hawkins b187008345 msi: Remove a part of a debugging statement that was accidentally left in. 2008-10-09 12:58:09 +02:00
Michael Stefaniuc 704ebf280e msi: Use the right FAILED/SUCCEEDED macro instead of negating the opposite. 2008-10-08 13:43:17 +02:00
James Hawkins e88b09a342 msi: Don't update the table columns if there are no more columns.
This should fix the heap corruption that caused intermittent crashes
for patchwatcher.
2008-10-07 12:14:03 +02:00
James Hawkins 7cd6736886 msi: Add tests for dropping tables with multiple columns. 2008-10-07 12:13:52 +02:00
James Hawkins 374c042880 msi: Remove the columns in reverse order. 2008-10-07 12:13:46 +02:00
James Hawkins aa230a6267 msi: Remove a break that kept other columns from getting the table name. 2008-10-07 12:13:39 +02:00
James Hawkins d15fddf6f5 msi: Resolve file source paths dynamically, as the source directory can be changed. 2008-10-07 12:13:33 +02:00
Jacek Caban 417134709d msi: Added MsiInstallMissingComponentW stub implementation. 2008-10-07 12:12:54 +02:00
James Hawkins 62c544cf4f msi: Implement the DROP TABLE sql command. 2008-10-06 13:05:52 +02:00
James Hawkins 48e6e584d3 msi: Fix a test that fails in win95. 2008-10-01 11:41:34 -05:00
James Hawkins 4749ee2662 msi: Forward MsiDatabaseMergeA to MsiDatabaseMergeW. 2008-10-01 11:41:29 -05:00
James Hawkins 525865447e msi: Add a stub implementation of MsiDatabaseMerge. 2008-10-01 11:41:23 -05:00
Marcus Meissner 628b8e7630 msi: Fix potential uninitialized use of substg. 2008-09-30 11:33:38 -05:00
James Hawkins 3713720351 msi: Fix several test failures in win9x. 2008-09-29 17:24:17 -05:00
Marcus Meissner dd142bf5a7 msi/tests: Fix explicit C:\\Program Files\\ references. 2008-09-29 17:23:42 -05:00
Louis Lenders e16e15bf0c msi: Add stub for MsiSetExternalUIRecord. 2008-09-25 13:27:38 +02:00
Detlef Riekenberg 88a5bdb858 msi: Remove redundant NULL check before SysFreeString. 2008-09-23 12:12:35 +02:00
Marcus Meissner 67b06ecba5 msi/tests: Reduce buffer to size of string written. 2008-09-15 11:43:53 +02:00
Paul Vriens 2dfcb94211 msi/tests: Prevent a crash on NT4. 2008-09-15 11:23:42 +02:00
Paul Vriens 58ddb6f564 msi/tests: Create only one log file and delete it afterwards. 2008-09-11 11:43:09 +02:00
Rob Shearman ef1b0cacfa msi: Reduce destination file name used in the MoveFiles action to the long file name.
Add a test for this behaviour.
2008-09-10 12:08:52 +02:00
Andrew Talbot be759dddb8 msi: Uninitialized variable fix (Coverity). 2008-09-10 10:41:54 +02:00
James Hawkins d11968cade msi: Fix a few file access discrepancies between platforms. 2008-09-09 11:46:17 +02:00
James Hawkins 765275a306 msi: Make sure read-only source files are set writable after being copied. 2008-09-08 12:47:22 +02:00
James Hawkins 8a9ba8f73f msi: Actions should be run even if the installed state is the same as the requested state. 2008-09-08 12:47:22 +02:00
Marcus Meissner 96412ee564 Annotate with allocation size attribute. 2008-09-05 11:22:26 +02:00
James Hawkins 3f00006f1f msi: Source for new patch files can only be compressed. 2008-09-04 11:52:21 +02:00
Hongbo Ni 9eb3a9c157 msi: Add simplified and traditional Chinese resources. 2008-09-04 11:41:53 +02:00
James Hawkins e5fd83da6d msi: Fix a failing test in Vista. 2008-09-03 13:14:51 +02:00
Paul Vriens c559895ce9 msi/tests: Create a system restore point when needed. 2008-09-02 13:28:23 +02:00
Paul Vriens 4bc832c29a msi/tests: Add a missing CoUninitialize. 2008-09-02 13:27:46 +02:00
James Hawkins f40890c940 msi: Add tests for opening an empty package. 2008-08-29 13:26:33 +02:00
James Hawkins d880470dbf msi: Handle converting a value of REG_DWORD in MsiSourceListEnumMediaDisks. 2008-08-29 13:26:25 +02:00
Paul Vriens dd0ec9f811 msi/tests: Remove service tests. 2008-08-28 11:03:42 +02:00
James Hawkins 4b9fd1d5e2 msi: Store the _Columns and _Tables tables in the database structure. 2008-08-25 11:40:46 +02:00
James Hawkins 3bec162d51 msi: Skip the component action detection logic if there is no product code. 2008-08-25 11:40:38 +02:00
James Hawkins d596ae29d8 msi: Skip the feature action detection logic if there is no product code. 2008-08-25 11:40:30 +02:00
James Hawkins c855fbfcd8 msi: Don't install a feature that is disabled. 2008-08-25 11:40:22 +02:00
James Hawkins 9288055beb msi: Only set the action to source if the component has a local feature. 2008-08-25 11:40:15 +02:00
James Hawkins 3807a91739 msi: Fix the logic to determine the appropriate action of the feature. 2008-08-25 11:40:09 +02:00
James Hawkins 63064f7a45 msi: Handle features installed as source in MsiQueryFeatureState. 2008-08-25 11:40:02 +02:00
James Hawkins 472b991958 msi: Don't remove a misc file if the action is unknown. 2008-08-21 11:44:39 +02:00
James Hawkins 7c9873e471 msi: Fix the logic to determine the appropriate action of the component. 2008-08-21 11:44:27 +02:00
James Hawkins f909e1c06e msi: Don't remove a file that is installed as source. 2008-08-21 11:44:19 +02:00
James Hawkins 4553d0fd47 msi: Remove an invalid setting of the install state. 2008-08-21 11:44:13 +02:00
James Hawkins 39b874706c msi: Handle components installed as source in MsiQueryComponentState. 2008-08-21 11:44:05 +02:00
James Hawkins b965a74ef2 msi: Downgrade an ERR to a TRACE. 2008-08-21 11:43:58 +02:00
James Hawkins 7b858882ac msi: If the filename is empty or NULL, remove the directory. 2008-08-21 11:43:51 +02:00
James Hawkins 96dd6ce167 msi: Handle processing a component that is installed to source. 2008-08-21 11:43:44 +02:00
James Hawkins 5a3c3b6a12 msi: Use MsiQueryFeatureState to determine the feature's state. 2008-08-19 13:56:08 +02:00
James Hawkins 42115638c8 msi: Use MsiQueryComponent state to determine the component's state. 2008-08-19 13:56:04 +02:00
James Hawkins 10a2a5effe msi: Base removal of a file on the component's action, not the file's state. 2008-08-19 13:56:01 +02:00
James Hawkins 7fbce31ef7 msi: Add more tests for feature and component states. 2008-08-19 13:55:58 +02:00
James Hawkins 5ea0d9d807 ole32: Storage sharing should be implemented in ole32, not the lower-level file API. 2008-08-19 13:55:53 +02:00
James Hawkins 0e6bfb3b43 msi: Test the file access and share modes of MsiOpenDatabase. 2008-08-19 13:39:51 +02:00
James Hawkins e64a699b07 msi: Remove misc files from the RemoveFile table. 2008-08-19 13:39:40 +02:00
James Hawkins a00bdc1178 msi: A file's component's state does not determine file removal. 2008-08-19 13:39:30 +02:00
James Hawkins f33ef6ac3b msi: Don't remove a file if the old file is strictly newer than the version to be installed. 2008-08-19 13:39:19 +02:00
James Hawkins ca4b17efe8 msi: Don't check for a NULL component, as the component is guaranteed to exist. 2008-08-19 13:39:11 +02:00
James Hawkins 9a8d2f3f5c msi: Ignore a file that has a missing component. 2008-08-19 13:39:02 +02:00
James Hawkins 74239fcd91 msi: Factor out media handling and use the new interface to efficiently extract assemblies. 2008-08-19 13:37:51 +02:00
James Hawkins bf51518449 msi: Perform costing again for the InstallExecute sequence. 2008-08-19 13:36:32 +02:00
James Hawkins d9f2120f14 msi: Ignore all non-stream elements when filling the _Streams table. 2008-08-19 13:36:25 +02:00
Rob Shearman cda469c890 msi: Fix handle leak in ITERATE_SelfRegModules. 2008-08-18 17:34:12 +02:00
James Hawkins 6e63953b4c msi: Also check the LocalPackage install property when searching for the product package. 2008-08-18 17:15:46 +02:00
James Hawkins d500dc4f31 msi: Test how MsiConfigureProductEx locates the source package. 2008-08-18 17:04:53 +02:00
James Hawkins 92ed390b28 msi: Change an ERR that was supposed to be a TRACE. 2008-08-05 14:09:34 +02:00
James Hawkins 8782fdba1b msi: Add a stub implementation of MsiEnumPatchesEx. 2008-08-04 13:04:30 +02:00
James Hawkins 68e6be45e1 msi: Add tests for MsiOpenProduct. 2008-07-31 13:04:44 +02:00
James Hawkins 9b426be0ee msi: Reimplement MsiOpenProduct. 2008-07-31 13:04:36 +02:00
James Hawkins 469e4a5c94 msi: Directly register the typelib if it's not embedded in a PE module. 2008-07-29 12:20:19 +02:00
James Hawkins dfec94c157 msi: Add tests for MsiConfigureProductEx. 2008-07-29 12:20:11 +02:00
James Hawkins cbf32ff28a msi: Set the ALLUSERS property for the machine context. 2008-07-29 12:20:03 +02:00
James Hawkins 0b240c7aa3 msi: Handle the INSTALLSTATE_ABSENT state in MsiConfigureProductEx. 2008-07-29 12:19:57 +02:00
James Hawkins 9518d7f8c7 msi: Properly locate the published product in MsiConfigureProductEx. 2008-07-29 12:19:51 +02:00
James Hawkins ac976c94c8 msi: Validate the szProduct parameter of MsiConfigureProductEx. 2008-07-29 12:19:44 +02:00
James Hawkins 38106ac230 msi: Handle the package context when unpublishing the product. 2008-07-29 12:19:37 +02:00
James Hawkins 396eea6006 msi: Determine the source path based on the short/long file names bit of the Word Count summary property. 2008-07-22 13:10:56 +02:00
James Hawkins ede4a3b598 msi: Set all folders' source paths to the root directory if the source type is compressed. 2008-07-22 13:10:45 +02:00
James Hawkins 7538f9ac19 msi: Use the newly added defines from the msidbSumInfoSourceType enumeration. 2008-07-22 13:10:38 +02:00
James Hawkins 36f282b0b1 msi: Test mixing short and long source paths when installing a file. 2008-07-22 13:10:31 +02:00
James Hawkins 64a9e0f750 msi: msidbFileAttributesVital has no effect on the installation of files. 2008-07-22 13:10:21 +02:00
James Hawkins 4e467ad729 msi: Halt the installation with an error if a source file is missing. 2008-07-22 13:10:12 +02:00
James Hawkins 27ce47a263 msi: Test getting the source path from a package with short file names. 2008-07-22 13:10:00 +02:00
James Hawkins e806a285ef msi: Test getting the source path from a package with compressed files. 2008-07-22 13:09:51 +02:00
James Hawkins 45f9cb4d62 msi: Add more tests for MsiGetSourcePath. 2008-07-22 13:09:44 +02:00
James Hawkins 4cacdc7dba msi: Initialize the update function pointer when creating the control. 2008-07-18 11:15:38 +02:00
Jacek Caban 014b96ef15 msi: Added Session::Message implementation. 2008-07-17 11:36:22 +02:00
Andrew Talbot 0f75796a28 msi: Remove unneeded address-of operators from array names. 2008-07-11 14:06:19 +02:00
James Hawkins 1fed032a43 msi: Only copy the resulting string if the RegistryValue call succeeded. 2008-07-09 10:44:59 +02:00
James Hawkins 1ed12b76e1 msi: Add tests for opening a package from a database. 2008-07-09 10:44:54 +02:00
Alexandre Julliard 79c64acc7b tests: Don't depend on the static uuid libraries in the tests.
This avoids trouble with the broken MingW libraries when
cross-compiling the tests.
2008-07-08 17:51:45 +02:00
James Hawkins e59b3fa864 msi: Consolidate and add more SourceDir tests. 2008-07-08 10:55:05 +02:00
James Hawkins 26ae658986 msi: Only use the long filename when resolving the source path. 2008-07-08 10:55:01 +02:00
James Hawkins 44bfb9911b msi: Consolidate the MsiGetSourcePath tests and add more tests. 2008-07-08 10:54:58 +02:00
James Hawkins ca4758201d msi: Parse the MSIDBOPEN_PATCHFILE flag. 2008-07-08 10:50:11 +02:00
James Hawkins ccd030c7d3 msi: Add handling for the special _Storages table. 2008-07-08 10:50:04 +02:00
James Hawkins ae9b579135 msi: Properly add a storage to the database and verify its contents. 2008-07-08 10:48:33 +02:00
James Hawkins d9ac95be5b msi: Test the special _Storages table. 2008-07-02 12:04:08 +02:00
Hans Leidekker c9969780bc msi: Correct spec file entry for MsiGetFileVersion{A, W}. 2008-06-30 15:09:12 +02:00
James Hawkins 89a8cfdb53 msi: Don't overwrite a file that has a greater or equal version to the source file. 2008-06-25 20:28:52 +02:00
James Hawkins 6056fd1b05 msi: Add another MsiGetFileVersionTest. 2008-06-25 10:43:02 +02:00
James Hawkins 0097275f3f msi: Add tests for MsiGetUserInfo. 2008-06-24 12:16:01 +02:00
James Hawkins 41fe12f149 msi: Reimplement MsiGetUserInfo. 2008-06-24 12:15:48 +02:00
James Hawkins 72fedf7d88 msi: Handle the machine context in MsiQueryFeatureState. 2008-06-24 12:15:38 +02:00
James Hawkins 200eba3b94 msi: Handle the user managed context in MsiQueryFeatureState. 2008-06-24 12:15:31 +02:00
James Hawkins aefd63dc4e msi: Add more tests for MsiQueryFeatureState. 2008-06-24 12:15:23 +02:00
James Hawkins 2d4e4b6ae2 msi: Create the SourceList key in msi_publish_sourcelist. 2008-06-24 12:15:16 +02:00
James Hawkins 58e1543960 msi: Fix the published location of the upgrade code for the machine context. 2008-06-24 12:15:10 +02:00
James Hawkins 301f2a5eae msi: Open the local user data product key for the machine context. 2008-06-24 12:15:03 +02:00
James Hawkins e6d126cd49 msi: Test the PublishProduct action with the machine context. 2008-06-24 12:14:56 +02:00
James Hawkins cdb33f8a39 msi: Publish the UpgradeCode in PublishProduct. 2008-06-24 12:14:49 +02:00
James Hawkins 5538fa0290 msi: Publish media disks whether the drive type is removable or not. 2008-06-24 12:14:42 +02:00
James Hawkins ef640a6cd5 msi: Publish a few more product properties. 2008-06-24 12:14:36 +02:00
James Hawkins c7ab4fad08 msi: Allow checking a REG_MULTI_SZ string. 2008-06-24 12:14:30 +02:00
James Hawkins db2e8d2fdf msi: Squash the package code property. 2008-06-24 12:14:23 +02:00
James Hawkins ebeb537939 msi: Factor out publishing the product properties. 2008-06-24 12:14:14 +02:00
James Hawkins d809b4e2d9 msi: Don't publish the product to an invalid location. 2008-06-24 12:14:07 +02:00
James Hawkins ee8b4a0132 msi: Don't set an invalid install property in PublishProduct. 2008-06-24 12:14:00 +02:00
James Hawkins 68e6071d3c msi: Factor out publishing the product source list. 2008-06-24 12:13:53 +02:00
James Hawkins fac97bb8c5 msi: Factor out publishing icon files. 2008-06-24 12:13:46 +02:00
James Hawkins bb8d253ecc msi: Rewrite the PublishProduct test to only check the registry changes. 2008-06-19 12:34:36 +02:00
James Hawkins c0f8bfd2dd msi: Test the RegisterProduct action with the machine context. 2008-06-19 12:34:29 +02:00
James Hawkins 45de896a3d msi: Factor out the publishing of installation properties. 2008-06-19 12:34:23 +02:00
James Hawkins b635e3170f msi: Don't publish the upgrade key to an invalid location. 2008-06-19 12:34:15 +02:00
James Hawkins 2194889d5d msi: Rewrite the RegisterProduct test to only check the registry changes. 2008-06-19 12:34:04 +02:00
James Hawkins 2a180e060a msi: Fix the PublishFeatures action to handle the package context. 2008-06-19 12:33:55 +02:00
Paul Vriens 61daa613dd msi/tests: Fix some test failures.
Results on test.winehq.org show failures for at least Vista as new
DISPID's are known there.
2008-06-19 11:55:05 +02:00
James Hawkins af56e28f7e msi: Don't publish features to an invalid location. 2008-06-18 16:24:09 +02:00
James Hawkins d8e4258d08 msi: Rewrite the PublishFeatures test to only check the registry changes. 2008-06-18 16:24:05 +02:00
James Hawkins 5f46dfd698 msi: Fix the RegisterUser action to handle the package context. 2008-06-18 16:24:01 +02:00
James Hawkins 79d0c3719f msi: Rewrite the RegisterUser test to only check the registry changes. 2008-06-18 16:23:57 +02:00
James Hawkins 288af81a7c msi: Fix the ProcessComponents action to handle the package context. 2008-06-18 16:23:27 +02:00
James Hawkins 5f11262da9 msi: Determine the installation context after reading properties from the command line. 2008-06-18 16:23:22 +02:00
James Hawkins 4aa3a997f8 msi: Don't publish components to the Installer key. 2008-06-18 16:23:18 +02:00
James Hawkins 073d55e73b msi: Rewrite the ProcessComponents test to only check the registry changes. 2008-06-18 16:17:56 +02:00
James Hawkins d3cc801da1 msi: Set the source path for uncompressed files when loading the file. 2008-06-11 11:27:15 +02:00
James Hawkins dbbd5ca736 msi: Load folders first. 2008-06-11 11:26:55 +02:00
Paul Vriens ad2c9211bc msi/tests: Cleanup registry after test. 2008-06-11 11:26:22 +02:00
Dan Kegel a302ec645c msi/tests: Initialize buffer lengths before calling MsiSourceListEnumMediaDisks. 2008-06-06 10:28:35 +02:00
Dan Kegel ecfa0fbcea msi: MsiSourceListEnumMediaDisksW: free original string, not substring. 2008-06-04 12:53:25 +02:00
Dmitry Timoshkov 76d6b76737 msi: Mark some data as constant. 2008-05-26 19:46:09 +02:00
James Hawkins 77d259f46c msi: Search the last used source if the cabinet to extract cannot be found. 2008-05-22 11:30:54 +02:00
James Hawkins 70cd6bfbbd msi: Check that the file key is valid before installing the assembly. 2008-05-20 15:43:54 +02:00
Mikołaj Zalewski 14a42f802d Make Swedish use SUBLANG_NEUTRAL. 2008-05-19 16:09:13 +02:00
James Hawkins 95282bdeaa msi: Reset the hasLocalFeature flag when updating components. 2008-05-19 13:36:45 +02:00
James Hawkins 6221975407 msi: Don't enable a feature's components if that feature is disabled. 2008-05-19 13:36:37 +02:00
James Hawkins 69c02d0b03 msi: Create the MSI hidden window on demand. 2008-05-14 21:51:10 +02:00