Commit Graph

2225 Commits

Author SHA1 Message Date
James Hawkins 0c01c586c7 msi: Factor out the code to open the features key. 2008-11-04 11:24:04 +01:00
James Hawkins 70be1e7746 msi: Factor out the code to open a product key. 2008-11-04 11:23:51 +01:00
James Hawkins f12b9cea99 msi: Factor out the table insertion code. 2008-11-04 11:23:30 +01:00
James Hawkins 2abb8bba13 msi: Factor out the table insertion code. 2008-11-04 11:23:07 +01:00
James Hawkins 88f39d95f2 msi: Factor out the table insertion code. 2008-11-04 11:22:45 +01:00
Michael Stefaniuc 4f199a10ad Remove the remaining casts of NULL. 2008-11-03 13:42:09 +01:00
James Hawkins ca71e5aff0 msi: Allow private properties from the AdminProperties property list. 2008-10-30 11:47:10 +01:00
James Hawkins 019f4af1c2 msi: Do not reinstall an assembly that already exists in the global assembly cache. 2008-10-29 13:29:32 +01:00
Nicolas Le Cam cec5d3f514 msi/tests: Fix a failing test on all platforms up to and including win2k. 2008-10-28 12:13:53 +01:00
James Hawkins c261030d21 msi: Skip the leading period of the extension to be registered. 2008-10-27 12:02:19 +01:00
James Hawkins 2ffa433f80 msi: Convert command line property names to uppercase. 2008-10-27 12:02:13 +01:00
James Hawkins bf9538f383 msi: Use the long file name in the WriteIniValues action. 2008-10-27 12:02:04 +01:00
James Hawkins 7616a750ba msi: Set the source path tests to "interactive" to avoid timing out on some machines. 2008-10-27 12:01:57 +01:00
James Hawkins cd4b952863 msi: Fix several test failures. 2008-10-24 14:25:01 +02:00
James Hawkins acfc915914 msi: Fix a failing test in win9x. 2008-10-24 14:25:01 +02:00
James Hawkins f18c6ba28d msi: Only compare the file version if a version was specified. 2008-10-22 13:54:53 +02:00
Andrew Talbot 1c9886d6e7 msi: Sign-compare warnings fix. 2008-10-21 11:45:44 +02:00
Andrew Talbot 40db5bdb16 msi: Sign-compare warnings fix. 2008-10-21 11:45:39 +02:00
James Hawkins 03282df13d msi: Use the quoted part of the registry value when searching for a file or directory. 2008-10-20 13:16:24 +02:00
James Hawkins 6df69c6aaa msi: Fix a copy and paste error. 2008-10-20 13:16:09 +02:00
James Hawkins 7eba78dc7e msi: Strip the file off the parent path if it's not a directory. 2008-10-20 13:16:04 +02:00
James Hawkins 0ed516908b msi: Only check the file signature if the candidate file is not a directory. 2008-10-20 13:15:36 +02:00
James Hawkins 1fb22654e4 msi: Append the next directory to search to the current directory when recursing. 2008-10-20 13:11:14 +02:00
James Hawkins 4aca381ff7 msi: Only append a backslash to directories. 2008-10-20 13:10:59 +02:00
James Hawkins 7497f1ab5c msi: Don't get rid of the file signature when searching the DrLocator table. 2008-10-20 13:10:54 +02:00
James Hawkins 2e17638dc4 msi: Simplify and clean up ACTION_RecurseSearchDirectory. 2008-10-20 13:10:50 +02:00
James Hawkins 29c0836fcc msi: Handle searching for directories in the IniLocator part of the AppSearch action. 2008-10-20 13:10:44 +02:00
James Hawkins c48497d0e6 msi: Handle searching for a file with no signature. 2008-10-20 13:10:39 +02:00
James Hawkins 326a1b6c47 msi: Add more tests for the RegLocator part of the AppSearch action. 2008-10-20 13:10:34 +02:00
James Hawkins 859bd01b5e msi: Check the file version when a version is provided in the signature. 2008-10-20 13:10:28 +02:00
James Hawkins fbba2e8b93 msi: Add more tests for the AppSearch action. 2008-10-20 13:10:19 +02:00
James Hawkins 642cddf180 msi: Return the requested ini field. 2008-10-20 13:10:08 +02:00
James Hawkins f1e2041bf4 msi: Pass the correct view to get_row. 2008-10-20 13:09:59 +02:00
James Hawkins f80b5f6e66 msi: All files are uncompressed in an administrative image. 2008-10-17 11:44:21 +02:00
James Hawkins 7620bb367f msi: Append a backslash to the AppSearch registry path. 2008-10-16 11:22:43 +02:00
James Hawkins 3adf1e4e0e msi: Append a backslash to the AppSearch directory path. 2008-10-16 11:22:40 +02:00
James Hawkins 47ac325f82 msi: Fix the returned format of REG_BINARY data. 2008-10-13 13:04:30 +02:00
James Hawkins 6d02194a46 msi: Expand REG_EXPAND_SZ registry values in the RegLocator table. 2008-10-13 13:00:47 +02:00
James Hawkins 65915af1ae msi: Append the file signature to the component's directory when searching for the component's key path. 2008-10-13 13:00:42 +02:00
James Hawkins 701c2a2728 msi: Add tests for the DrLocator part of the AppSearch action. 2008-10-13 13:00:37 +02:00
James Hawkins 33c9e80be5 msi: Add tests for the RegLocator part of the AppSearch action. 2008-10-13 13:00:32 +02:00
James Hawkins 3e76ade6c8 msi: Add tests for the IniLocator part of the AppSearch action. 2008-10-13 13:00:25 +02:00
James Hawkins 41c8bc8ae6 msi: Add more tests for the CompLocator part of the AppSearch action. 2008-10-13 13:00:06 +02:00
Alexandre Julliard 87e21fe585 msi/tests: Clean up the binary.dat file. 2008-10-09 14:27:21 +02:00
James Hawkins 68268dc3df msi: Initialize the count variable to zero. 2008-10-09 13:01:31 +02:00
James Hawkins 451aff9ae5 msi: Add extra constraints on the formatting string of edit path text. 2008-10-09 13:01:25 +02:00
James Hawkins 1484c6272d msi: Add a stub implementation of MsiDetermineApplicablePatches. 2008-10-09 13:01:18 +02:00
James Hawkins 8128d97fd4 msi: Replace lengthy calls to MSI_DatabaseOpenView with MSI_OpenQuery. 2008-10-09 12:58:47 +02:00
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