Commit Graph

2009 Commits

Author SHA1 Message Date
James Hawkins 5f7b95dadd msi: Validate the parameters of MsiEnumClients. 2007-12-17 11:48:03 +01:00
James Hawkins 64c75d1e02 msi: Add tests for MsiEnumClients. 2007-12-17 11:47:58 +01:00
James Hawkins 4777a3a33b msi: Simplify ExpandAnyPath. 2007-12-17 11:47:49 +01:00
James Hawkins ce6e84c071 msi: Verify that the PID_PAGECOUNT and PID_REVNUMBER summary info properties exist. 2007-12-17 11:35:33 +01:00
James Hawkins 620862e385 msi: If the package doesn't exist, return ERROR_FILE_NOT_FOUND. 2007-12-17 11:35:23 +01:00
James Hawkins f933dd8b4f msi: Validate the parameters of MsiOpenPackage. 2007-12-17 11:35:17 +01:00
James Hawkins 8fab39cc60 msi: Add more tests for MsiOpenPackage. 2007-12-17 11:35:11 +01:00
James Hawkins 1277e1b55a msi: Release the record when loading the hash data. 2007-12-17 11:35:05 +01:00
Marcus Meissner 964a0303c1 msi: Fixed buffer overflow in number parsing. 2007-12-17 11:33:33 +01:00
James Hawkins fa8476e7f6 msi: Close the file handle returned by FindFirstFile. 2007-12-14 12:26:21 +01:00
Lionel Debroux fe444f0217 msi: Fix memory leaks (found by Smatch). 2007-12-13 14:30:40 +01:00
Lionel Debroux 1bed47a3b3 msi: Fix missing alloc check. 2007-12-13 14:30:40 +01:00
James Hawkins d51ed8bd93 msi: Free the cabinet string on error. 2007-12-12 13:48:50 +01:00
James Hawkins 80894d1c52 msi: Properly release the record. 2007-12-12 13:48:46 +01:00
James Hawkins e62b8c9b99 msi: Free the user sid string. 2007-12-12 13:48:42 +01:00
James Hawkins f919a24eb2 msi: Free the deformatted string. 2007-12-12 13:48:38 +01:00
James Hawkins e6431cd06e msi: Handle the CompLocator table in the AppSearch action. 2007-12-08 19:53:49 +01:00
James Hawkins 44349af11a msi: Reimplement MsiGetProductCode. 2007-12-08 19:53:43 +01:00
James Hawkins 2634d86a08 msi: Remove two tests that depend on the sort order of RegEnumValue. 2007-12-08 19:53:39 +01:00
James Hawkins 8090dbad93 msi: Add tests for MsiGetProductCode. 2007-12-07 17:07:16 +01:00
James Hawkins 383a8a5b92 msi: Reimplement MsiGetComponentPath. 2007-12-05 12:08:04 +01:00
James Hawkins ced84f5b53 msi: Add tests for MsiGetComponentPath. 2007-12-05 12:07:35 +01:00
James Hawkins 440af17322 msi: Test the CompLocator subset of the AppSearch action. 2007-12-04 18:17:01 +01:00
James Hawkins c77d200f27 msi: Add a stub implementation of MsiEnumComponentCostsW. 2007-12-03 14:03:11 +01:00
James Hawkins b57a2f93a9 msi: Implement the Version property of the Installer object. 2007-12-03 14:03:06 +01:00
James Hawkins 6a30e1b0b4 msi: Test the CCPSearch action. 2007-12-03 14:03:00 +01:00
James Hawkins 80bbf58378 msi: Use a hash table for reordering rows in a WHERE query to conserve space. 2007-12-03 13:44:46 +01:00
James Hawkins 33a4fe19de msi: Don't check for the media or cabinet if the cabinet is internal. 2007-11-29 13:37:13 +01:00
James Hawkins 32d3ffc5c5 msi: Make sure attr is valid before checking for the directory bit. 2007-11-29 13:37:07 +01:00
Anatoly Lyutin 704c399237 msi: Fix invalid SQL query. 2007-11-28 11:14:42 +01:00
James Hawkins 63fe32a8bb msi: Downgrade an ERR to a WARN. 2007-11-26 12:28:49 +01:00
James Hawkins 6dd927a265 msi: Fix the condition of a FIXME. 2007-11-26 12:28:44 +01:00
James Hawkins 0a05a87436 msi: Downgrade an ERR to a WARN. 2007-11-26 12:28:37 +01:00
James Hawkins 8912798fb5 msi: Downgrade a FIXME to a WARN. 2007-11-26 12:28:31 +01:00
James Hawkins ca9a4dc0d9 msi: Only check the volume label if it's different than the first media's volume label. 2007-11-26 12:28:24 +01:00
James Hawkins 4160722b07 msi: Check the destination file's hash and skip that file if the hash matches. 2007-11-26 12:28:15 +01:00
James Hawkins 6a6a218548 msi: Set the file contents of the file hash test file explicitly. 2007-11-26 12:28:03 +01:00
James Hawkins e100288934 msi: Verify the szFilePath parameter of MsiGetFileHash. 2007-11-26 12:27:53 +01:00
James Hawkins ef7d16c816 msi: Add tests for MsiGetFileHash and clean up the existing tests. 2007-11-26 12:27:45 +01:00
Misha Koshelev ac2c1b8070 msi: automation: Fix ITypeInfo leak. 2007-11-20 16:39:19 +01:00
Misha Koshelev c30d03f8cc msi/tests: automation: Add missing VariantClear. 2007-11-20 16:39:14 +01:00
Misha Koshelev 74a2ce4d99 msi/tests: Close opened service handles. 2007-11-20 16:38:56 +01:00
Misha Koshelev fce6f56f93 msi: automation: Fix automation object reference counts when objects are created. 2007-11-20 16:38:42 +01:00
James Hawkins 075e84bd90 msi: Check the cabinet's full path for existence, not just the cabinet name. 2007-11-20 12:29:00 +01:00
James Hawkins 78eead93fd msi: Don't check for a cabinet's existence if it's embedded in the package. 2007-11-19 12:55:36 +01:00
James Hawkins 4e9940990b msi: Don't ignore the error returned by ready_media. 2007-11-15 12:48:29 +01:00
James Hawkins b1507aee98 msi: Only check the presence of the cabinet if the file is compressed. 2007-11-15 12:48:18 +01:00
James Hawkins 0023759a4b msi: Add tests for situations involving missing cabinets. 2007-11-15 12:48:08 +01:00
James Hawkins bb747e4fbe msi: Simplify ready_media. 2007-11-15 12:47:59 +01:00
James Hawkins 474fca1eec msi: Fix the condition for checking a drive. 2007-11-13 13:35:50 +01:00
James Hawkins bee95916f7 msi: Set the file to NULL when running the directory search. 2007-11-13 13:35:41 +01:00
James Hawkins 9459ef5ab1 msi: Implement the VolumeSelectCombo control. 2007-11-13 13:35:27 +01:00
James Hawkins c68825569d msi: Test the Uninstall registry entries. 2007-11-13 13:35:21 +01:00
James Hawkins f6b27673b0 msi: Delete the uninstall key when the product is removed. 2007-11-13 13:35:01 +01:00
James Hawkins 0e29f314f5 msi: Return a remote interface to the database in a custom action. 2007-11-12 12:06:40 +01:00
James Hawkins 7dffb518c0 msi: Create the _Tables table when creating a database. 2007-11-12 12:06:29 +01:00
James Hawkins ef1277d462 msi: Test the default tables added by MsiOpenDatabase. 2007-11-12 12:06:22 +01:00
Alexandre Julliard 0590fe2ecf Make some variables static. 2007-11-06 14:38:54 +01:00
James Hawkins 25a612b8f3 msi: Test that the install state is dependent on the feature and component registration. 2007-11-06 14:01:21 +01:00
James Hawkins c31fd4371a msi: Process the ADDSOURCE property when setting feature states. 2007-11-06 14:01:17 +01:00
James Hawkins 75b825da17 msi: Test the install states of removed features. 2007-11-06 14:01:12 +01:00
James Hawkins fcc490d047 msi: Add a missing struct initialization. 2007-11-06 14:01:03 +01:00
James Hawkins 1a0b23cd7d msi: Implement the CCPSearch standard action. 2007-11-05 14:55:24 +01:00
James Hawkins 1c1cf26997 msi: Explicitly check the returned value against -1 as the variable is unsigned. 2007-11-05 14:55:14 +01:00
James Hawkins 3a5178e900 msi: Don't update a table entry when applying a transform if the string value is the same. 2007-11-05 14:54:11 +01:00
James Hawkins 9d71238a16 msi: Fix the location used to write the user's environment variables. 2007-11-05 14:54:05 +01:00
James Hawkins 2df062182a msi: Remove an unused parameter. 2007-11-05 14:53:58 +01:00
James Hawkins 556a01d7c5 msi: Use a magic constant to silence signedness comparison warnings. 2007-11-05 14:53:34 +01:00
James Hawkins 546bcef0bb msi: MsiQueryProductState returns INSTALLSTATE, not UINT. 2007-11-05 14:53:27 +01:00
James Hawkins b03082c397 msi: MsiQueryFeatureState and MsiUseFeatureEx return INSTALLSTATE, not UINT. 2007-11-05 14:53:21 +01:00
James Hawkins 37895faaa8 msi: MsiViewGetError returns MSIDBERROR, not UINT. 2007-11-05 14:53:16 +01:00
James Hawkins 76275bea09 msi: Remove an unused parameter. 2007-11-05 14:53:10 +01:00
James Hawkins cf8e9e3311 msi: Remove an unused parameter. 2007-11-05 14:53:04 +01:00
James Hawkins bb54ed1335 msi: Fix the sign of an index variable. 2007-11-05 14:52:56 +01:00
James Hawkins 1a896348d5 msi: Remove a legacy error check. 2007-11-05 14:52:51 +01:00
James Hawkins 35a6782d7b msi: Test and implement the MSIMODIFY_DELETE command. 2007-11-05 14:52:46 +01:00
James Hawkins 341d1fa7b5 msi: Initialize a handle in case MsiGetSummaryInformation fails. 2007-11-05 14:52:38 +01:00
James Hawkins 21bde9d974 msi: Fix the location used to read machine context source list info. 2007-11-05 14:52:31 +01:00
James Hawkins 21619964da msi: szUserSid must be NULL if context is MSIINSTALLCONTEXT_MACHINE. 2007-11-05 14:52:25 +01:00
James Hawkins 14d439c863 msi: Handle the MSIINSTALLCONTEXT_USERMANAGED context. 2007-11-05 14:52:19 +01:00
James Hawkins 3d5b3ef903 msi: Reimplement MsiSourceListAddSourceEx to handle reordering the source list. 2007-11-05 14:52:09 +01:00
James Hawkins d9a8f0b5fe msi: The options must include a source type. 2007-11-05 14:48:31 +01:00
James Hawkins 7fe6aad7fa msi: An empty source is an invalid parameter. 2007-11-05 14:48:25 +01:00
James Hawkins dde89244e5 msi: Append a slash to network and url sources. 2007-11-05 14:48:16 +01:00
James Hawkins 798429f9ca msi: Validate the product code. 2007-11-05 14:47:33 +01:00
James Hawkins 861ae27a4f msi: Return the error from OpenSourceKey. 2007-11-05 14:47:26 +01:00
James Hawkins 266ee0f571 msi: Add tests for MsiSourceListAddSourceEx. 2007-11-05 14:47:11 +01:00
James Hawkins 22c10da044 msi: Don't create the product source key when adding a source. 2007-11-05 14:46:59 +01:00
James Hawkins 44e1c7d79b msi: Implement MsiSourceListAddSourceExA. 2007-11-05 14:46:52 +01:00
James Hawkins 405d0be4f7 msi: do_query is supposed to fail, so don't release a handle that is never initialized. 2007-11-05 14:46:41 +01:00
James Hawkins 07c3f4411e msi: A feature's requested action does not depend on its installed state. 2007-11-01 12:43:24 +01:00
James Hawkins ccdf578ba2 msi: Only unpublish the features if the entire product is being uninstalled. 2007-11-01 12:43:18 +01:00
James Hawkins 9f11a5a878 msi: Properly register features. 2007-11-01 12:43:12 +01:00
James Hawkins fc6b9dd4e4 msi: Properly register and unregister components. 2007-11-01 12:43:06 +01:00
James Hawkins eec9bbb12d msi: Remove a duplicated function. 2007-11-01 12:42:57 +01:00
James Hawkins c3df74e24f msi: Implement the MoveFiles standard action. 2007-11-01 12:42:50 +01:00
James Hawkins b9a29e221f msi: Test the MoveFiles standard action. 2007-11-01 12:41:54 +01:00
James Hawkins 4d2e148fb0 msi: Use package_from_db instead of opening the package with MsiOpenPackage. 2007-10-26 14:03:47 +02:00
James Hawkins 1d9c680eed msi: Output expected values on failing tests. 2007-10-26 14:03:47 +02:00
James Hawkins a992991262 msi: Define _WIN32_MSI to pull in new definitions. 2007-10-26 14:03:47 +02:00
James Hawkins d258484b0b msi: Set the ROOTDRIVE property so the admin sequence won't choose its own. 2007-10-26 14:03:46 +02:00
James Hawkins 5169d04ec2 msi: Add missing newline to the adm_custom_action table. 2007-10-26 14:03:46 +02:00
Francois Gouget c4b1195c0c Assorted spelling fixes. 2007-10-23 18:20:27 +02:00
James Hawkins 5606428a71 msi: Set media info strings to NULL after freeing them. 2007-10-23 18:05:32 +02:00
James Hawkins 85bd53a675 msi: Include the null terminator when writing data to the stream. 2007-10-23 18:05:25 +02:00
James Hawkins 39bcc662e4 msi: Don't delete the table if the table deleted itself because of a release. 2007-10-23 18:05:05 +02:00
James Hawkins b6cfc405bd msi: Release the record only after using the record's data. 2007-10-23 18:04:50 +02:00
Mikolaj Zalewski 96e4320feb msi: Use BS_GROUPBOX for group boxes. 2007-10-22 12:36:07 +02:00
Detlef Riekenberg c54219fb40 msi/tests: Do not leak a HKEY when RegQueryValueEx failed. 2007-10-19 12:26:17 +02:00
Mikolaj Zalewski d5b620ea0b msi: Make the WriteEnvironmentStrings handling of [~] a bit better. 2007-10-18 13:21:44 +02:00
James Hawkins 2694cf3ff8 msi: Add handling for MSIMODIFY_INSERT for the streams table. 2007-10-18 12:10:13 +02:00
James Hawkins 2274388323 msi: Save nonpersistent strings as holes in the string pool. 2007-10-18 12:10:05 +02:00
James Hawkins 36df6a0655 msi: Test adding nonpersistent strings to the string table. 2007-10-18 12:09:52 +02:00
James Hawkins 26f86c55c9 msi: Return ERROR_FUNCTION_FAILED if a matching row is not found. 2007-10-18 12:09:39 +02:00
James Hawkins 46ec7ee183 msi: Return ERROR_FUNCTION_FAILED when inserting duplicate keys. 2007-10-18 12:09:33 +02:00
Alexandre Julliard 6adf058089 msi: Avoid casting const pointers to non-const. 2007-10-17 14:14:21 +02:00
Alexandre Julliard 71747518ad msi: Properly clear the new table data when a column is added. 2007-10-17 14:13:53 +02:00
Marcus Meissner 6f865b9497 msi: Common Files is translated to current language. 2007-10-17 13:41:45 +02:00
Marcus Meissner 9684c9fee6 msi: Marked two variables static. 2007-10-17 13:40:59 +02:00
James Hawkins 0e2db26fa3 msi: Only double the returned size when szValueBuf is NULL. 2007-10-16 12:48:07 +02:00
Daniel Nylander 59450c91ff msi: Add Swedish translation. 2007-10-16 12:38:10 +02:00
Detlef Riekenberg 7f655802a3 msi: Dump the database name in a FIXME. 2007-10-04 11:28:53 +02:00
Alexandre Julliard cd2780e2a7 msi: Avoid accessing a freed object. 2007-10-01 18:07:49 +02:00
Mikolaj Zalewski cf84cbac5b msi: Add some already implemented function to the spec file. 2007-09-28 11:00:04 +02:00
Juan Lang a3331c6f22 msi: Initialize nested. 2007-09-18 10:42:14 +02:00
Juan Lang 71a78c4478 msi: Make sure nested is initialized. 2007-09-18 10:42:05 +02:00
Juan Lang c2d66da665 msi: Don't crash if record has no fields. 2007-09-18 10:41:58 +02:00
Alexandre Julliard e4959bf1bc msi: We can now store binary files in the repository. 2007-09-17 15:53:53 +02:00
Stefan Leichter e96695a652 msi: Remove 'recursive registry key delete' function. 2007-08-27 11:58:35 +02:00
Paul Vriens f581a1cbef msi/tests: Be verbose when GetProcAddress fails. 2007-08-21 21:38:31 +02:00
Marcus Meissner fb4901759b msi: Allocate 1 byte more buffer. 2007-08-13 12:25:32 +02:00
James Hawkins b353a09569 msi: Add tests for the RemoveFiles standard action. 2007-08-13 11:35:42 +02:00
Paul Vriens 5f16125246 msi/tests: Run tests again on win98 and NT4. 2007-08-10 16:19:03 +02:00
James Hawkins 6ac0816109 msi: Implement the UnpublishFeatures standard action. 2007-08-10 12:58:17 +02:00
Francois Gouget 5771700019 msi: Better match the PSDK types, remove some now unused types from win32.api, and update it to fix the winapi_check warnings. 2007-08-09 14:12:44 +02:00
James Hawkins 511bdd9de8 msi: Simplify MsiQueryComponentState, with more tests. 2007-08-09 13:53:36 +02:00
James Hawkins 0713c32869 msi: Implement the remaining contexts for MsiQueryComponentState. 2007-08-08 15:32:00 +02:00
James Hawkins ca55c7a330 msi: Implement the MSIINSTALLCONTEXT_MACHINE context for MsiQueryComponentState. 2007-08-07 12:39:48 +02:00
James Hawkins 5f442207d5 msi: Forward MsiQueryComponentStateA to MsiQueryComponentStateW. 2007-08-07 12:39:36 +02:00
James Hawkins 072adfa99a msi: Add tests for MsiQueryComponentState. 2007-08-07 12:39:27 +02:00
Francois Gouget 4deb14a3b6 msi: Fix the MsiEnumProductsEx*(), MsiQueryComponentState*() and MsiProvideQualifiedComponentEx*() prototypes. 2007-08-06 13:57:53 +02:00
James Hawkins f1b790be06 msi: Fix the size allocated for the deferred custom action string. 2007-08-06 12:18:08 +02:00
James Hawkins 2e6ed06fdc msi: Reimplement joins to allow joining any number of tables, each of arbitrary size. 2007-08-02 12:18:42 +02:00
James Hawkins 4f6a93b9c8 msi: Add tests for joining three tables. 2007-08-02 12:18:42 +02:00
Paul Vriens 5e7b31b51d msi/registry: Use the return value of squash_guid. 2007-07-30 23:37:58 +02:00
James Hawkins 37286473a0 msi: Add a stub implementation of MsiSourceListEnumSourcesA. 2007-07-30 15:27:02 +02:00
James Hawkins 5e81dbebb0 msi: Treat an empty string and a NULL string as the same value. 2007-07-30 15:26:51 +02:00
Misha Koshelev 03d19b5782 msi: Use SysAllocString/SysFreeString for BSTR members of EXCEPINFO structure. 2007-07-30 13:38:11 +02:00
James Hawkins 9089835c35 msi: Use a more unique property separator. 2007-07-30 12:51:55 +02:00
James Hawkins ac1f717ab8 msi: Keep track of the wildcard record index. 2007-07-30 12:51:47 +02:00
James Hawkins b830fb0a34 msi: Implement the MSIMODIFY_UPDATE command in the SELECT view. 2007-07-27 12:24:39 +02:00
James Hawkins fb45206ed7 msi: Initialize the size parameter. 2007-07-27 12:24:08 +02:00
James Hawkins b0ac20e951 msi: Add more tests for MSIMODIFY_UPDATE. 2007-07-27 12:24:02 +02:00
James Hawkins 6af199ef9c msi: Use a different separator as a semi-colon may separate values in the CustomActionData. 2007-07-25 13:03:45 +02:00
James Hawkins f4147ca004 msi: Add handling for the MSIMODIFY_UPDATE command. 2007-07-24 11:49:59 +02:00
James Hawkins 479aca4731 msi: Add tests for the MSIMODIFY_UPDATE command. 2007-07-24 11:49:50 +02:00
James Hawkins 8a7690c151 msi: Properly delete the columns view. 2007-07-24 11:49:33 +02:00
Andrew Talbot 0e14c29d66 msi: Cast-qual warning fix. 2007-07-24 11:25:40 +02:00
James Hawkins ccef56f2cc msi: Ref count temporary columns and release them when necessary. 2007-07-23 11:55:34 +02:00
James Hawkins 0fd733bf90 msi: Implement adding columns using the ALTER command. 2007-07-23 11:55:11 +02:00
Juan Lang 955f5f3910 msi: Return FALSE from MsiGetMode for MSIRUNMODE_OPERATIONS. 2007-07-19 14:38:37 +02:00
James Hawkins 3b1ab76986 msi: Implement reference counting for tables, manipulated with the HOLD and FREE sql commands. 2007-07-19 12:00:43 +02:00
James Hawkins 0169533be8 msi: Add more tests for the ALTER command. 2007-07-19 11:59:59 +02:00
Michael Stefaniuc 02933a11de dlls: Remove unreachable break after return/break. Found by Smatch. 2007-07-19 11:57:49 +02:00
James Hawkins 24e158e972 msi: Only double the size if the remote call is from MsiGetPropertyA. 2007-07-18 12:58:23 +02:00
James Hawkins 929acbcb7f Revert "msi: Only call a custom action remotely if the type is msidbCustomActionTypeInScript."
This reverts f2ae31000b commit.
2007-07-18 12:58:15 +02:00
James Hawkins f2ae31000b msi: Only call a custom action remotely if the type is msidbCustomActionTypeInScript. 2007-07-17 12:55:03 +02:00
James Hawkins dc3060c542 msi: Load the AdminProperties stream if the package is an Admin package. 2007-07-17 12:54:53 +02:00
Paul Vriens 02d14c85e7 msi/tests: Don't create a directory that's not needed. 2007-07-16 13:36:49 +02:00
James Hawkins 6805bf8ace msi: Add a test for running an ADMIN install. 2007-07-13 14:41:34 +02:00
James Hawkins ba257f0cea msi: Add a test for installing from different current working directories. 2007-07-13 14:41:14 +02:00
James Hawkins 6c940b9b49 msi: Fix compilation in MSVC. 2007-07-13 14:41:04 +02:00
James Hawkins ed281b725a msi: Fix three tests that were failing in Windows. 2007-07-13 14:40:59 +02:00
James Hawkins c7b53d37e1 msi: Fix automation.c compile for MSVC. 2007-07-13 14:40:55 +02:00
James Hawkins 30fc5602de msi: Reload properties as they may have been changed by a transform. 2007-07-13 12:27:33 +02:00
James Hawkins cf3f442754 msi: Fix a copy and paste error. 2007-07-13 12:27:28 +02:00
Alexandre Julliard 3f9632ca53 msi/tests: Comment out call to function that is still a stub in Wine. 2007-07-12 13:00:47 +02:00
James Hawkins 0f6aaf86bd msi: Add tests for adding properties with a transform during an install. 2007-07-11 12:42:59 +02:00
James Hawkins 1093eb83cd msi: Add tests for adding properties in a transform. 2007-07-11 12:42:55 +02:00
James Hawkins 5a8e0e8c1d msi: Fix current _Property table tests and add more tests. 2007-07-11 12:42:45 +02:00
James Hawkins f0b97cb1e1 msi: Check for NULL transform, as there may be no transforms for the _Columns or _Tables tables. 2007-07-11 12:00:53 +02:00
James Hawkins 17ba74195b msi: Handle adding columns in transforms. 2007-07-10 13:35:50 +02:00
James Hawkins 9285351ad3 msi: Test adding columns with data in a transform. 2007-07-10 13:35:39 +02:00
James Hawkins 5af06dec83 msi: Delete msifile after the tests. 2007-07-10 13:35:31 +02:00
James Hawkins dfa1b1299c msi: Match the changes made by the hand-generated and API-generated transforms. 2007-07-10 13:35:11 +02:00
James Hawkins 1647de570b msi: Enable remote custom actions. 2007-07-06 18:12:18 +02:00
James Hawkins 6b97f8905d msi: Handle remote calls to MsiEvaluateCondition. 2007-07-06 18:12:11 +02:00
James Hawkins ba4919912c msi: Forward MsiFormatRecordA to MsiFormatRecordW. 2007-07-06 18:12:05 +02:00
James Hawkins cba1b1e1f4 msi: Handle remote calls to MsiFormatRecordW. 2007-07-06 18:12:00 +02:00
James Hawkins 29ce520df9 msi: Fix use of BSTRs. 2007-07-06 18:11:51 +02:00
James Hawkins c6741d83c6 msi: Handle remote calls to MsiSetInstallLevel. 2007-07-04 12:07:01 +02:00
James Hawkins 569ea392a7 msi: Handle remote calls to MsiGetLanguage. 2007-07-04 12:07:01 +02:00
James Hawkins 82b0066f70 msi: Handle remote calls to MsiSetComponentState. 2007-07-04 12:07:00 +02:00
James Hawkins 254e27ad31 msi: Handle remote calls to MsiGetComponentState. 2007-07-04 12:07:00 +02:00
James Hawkins 7d93e1a2a5 msi: Handle remote calls to MsiGetFeatureState. 2007-07-04 12:07:00 +02:00
James Hawkins f45b3ce60e msi: Handle remote calls to MsiSetFeatureState. 2007-07-04 12:07:00 +02:00
James Hawkins c96f1d524b msi: Handle remote calls to MsiGetMode. 2007-07-04 12:07:00 +02:00
James Hawkins f935e94adf msi: Handle remote calls to MsiSetTargetPath. 2007-07-04 12:06:59 +02:00
James Hawkins 582be6a73a msi: Handle remote calls to MsiGetSourcePath. 2007-07-04 12:06:59 +02:00
James Hawkins b7479be1bb msi: Handle remote calls to MsiGetTargetPath. 2007-07-04 12:06:59 +02:00
James Hawkins 99714f12cb msi: Handle remote calls to MsiSequence. 2007-07-04 12:06:59 +02:00
James Hawkins 0f321c0af9 msi: Handle remote calls to MsiDoAction. 2007-07-04 12:06:59 +02:00
James Hawkins be5eec45b5 msi: Handle remote calls to MsiProcessMessage. 2007-07-04 12:06:59 +02:00
James Hawkins 39a5638268 msi: Read the components state directly from the registry. 2007-07-03 14:05:41 +02:00
James Hawkins 34f6af95b4 msi: Return INSTALLSTATE_BADCONFIG if we can't decode the first component. 2007-07-03 14:05:36 +02:00
James Hawkins 73e0a87477 msi: Return INSTALLSTATE_ADVERTISED if the component list is empty. 2007-07-03 14:05:29 +02:00
James Hawkins 1130d5909b msi: Open the correct key and return INSTALLSTATE_ADVERTISED if it's missing. 2007-07-03 14:05:21 +02:00
James Hawkins ceb4e6d4ef msi: Add tests for MsiQueryFeatureState. 2007-07-03 13:50:08 +02:00
James Hawkins 0e44e090c5 msi: Set the WindowsInstaller value in RegisterProduct instead of PublishProduct. 2007-07-03 13:49:44 +02:00
James Hawkins a2df31aea1 msi: Only publish the product if at least one feature is to be installed. 2007-07-03 13:49:35 +02:00
James Hawkins 624bbbe78a msi: Unpublish the product when it is entirely removed. 2007-07-03 13:49:18 +02:00
James Hawkins 5e46fc9019 msi: Delay publishing of the SourceList until the PublishProduct action. 2007-07-03 13:43:20 +02:00
James Hawkins 08443b3bf7 msi: PackagePath must also include the package name. 2007-07-03 13:43:00 +02:00
James Hawkins 56129f252c msi: Add tests to show when the SourceList is published to the registry. 2007-07-03 13:42:52 +02:00
James Hawkins 04c67c2a1c msi: Add support for the MSICODE_PATCH option. 2007-07-03 13:42:42 +02:00
James Hawkins 0cd708e7f5 msi: pcchValue represents the length of szValue in TCHARS, not bytes. 2007-07-03 13:42:22 +02:00
James Hawkins 4d668e06a2 msi: Handle remote calls to MsiSetProperty. 2007-07-03 12:59:58 +02:00
James Hawkins 4de8247c5a msi: Handle remote calls to MsiGetProperty. 2007-07-03 12:59:48 +02:00
James Hawkins e4658e05f2 msi: Handle remote calls to MsiGetActiveDatabase. 2007-07-03 12:59:32 +02:00
James Hawkins bc4750ff75 msi: Add the IWineMsiRemoteCustomAction interface. 2007-07-03 12:59:17 +02:00
James Hawkins f9001058b0 msi: Add the IWineMsiRemotePackage interface. 2007-07-03 12:58:43 +02:00
James Hawkins c26505b701 msi: Return ERROR_SUCCESS if the PackageName property is not present. 2007-07-02 15:28:50 +02:00
James Hawkins 381b915b47 msi: Return ERROR_BAD_CONFIGURATION if the SourceList key does not exist. 2007-07-02 15:28:42 +02:00
James Hawkins 3e56d78f2e msi: Validate MsiSourceListGetInfo parameters. 2007-07-02 15:28:33 +02:00
James Hawkins 1ff40d1558 msi: Add tests for MsiSourceListGetInfo. 2007-07-02 15:28:14 +02:00
James Hawkins 6cc2f0f402 msi: Implement MsiSourceListGetInfoA. 2007-07-02 15:27:42 +02:00
James Hawkins bafc4dc385 msi: Ignore invalid conditional expressions when checking the launch conditions. 2007-06-29 12:33:19 +02:00
James Hawkins 219857f831 msi: Add tests that show '!=' is not a valid conditional expression operator. 2007-06-29 12:33:09 +02:00
James Hawkins 4c3e4ba029 msi: Reference count the custom action data to avoid freeing the data by another thread.
Based on a patch by Rob Shearman.
2007-06-27 14:32:28 +02:00
Alexandre Julliard bb8ba38f98 msi: Avoid some redundant checks in MsiCloseHandle. 2007-06-27 14:32:28 +02:00
James Hawkins 46158e034c msi: Add support for remote handles. 2007-06-27 14:32:28 +02:00
James Hawkins c18b77557d msi: Set the WindowsInstaller value of the UserData product key when publishing the product. 2007-06-27 12:32:45 +02:00
James Hawkins 24ede2f9e6 msi: If the UserData product key exists, but the user product key doesn't, the product is absent. 2007-06-27 12:32:44 +02:00
James Hawkins 3bf32f2700 msi: Any value of WindowsInstaller besides 0 means the product is installed. 2007-06-27 12:32:44 +02:00
James Hawkins 7da89f48fd msi: Use the correct registry key when detecting a published product. 2007-06-27 12:32:44 +02:00
James Hawkins 15823e1acf msi: If the user product key exists, the product's state is advertised. 2007-06-27 12:32:43 +02:00
James Hawkins e92f66558a msi: Validate MsiQueryProductCode parameters. 2007-06-27 12:32:43 +02:00
James Hawkins db318ec9af msi: Add tests for MsiQueryProductState. 2007-06-27 12:32:43 +02:00
Rob Shearman 2e2b17f340 msi: Fix transforms to work when the number of bytes per string reference differs to that of the database it is being applied to. 2007-06-27 12:32:42 +02:00
Rob Shearman bf67b14602 msi: Fix bytes_per_column for binary types when the database is using 3-byte string references. 2007-06-27 12:32:42 +02:00
Rob Shearman 0876f7664a msi: Fix loading string tables for databases that use 3-byte string references and that have a non-zero codepage (i.e. != CP_ACP). 2007-06-27 12:32:23 +02:00
Rob Shearman 023383afd3 msi: Free version after using lpVer in msi_get_disk_file_version as lpVer points inside of version. 2007-06-27 11:44:49 +02:00
Rob Shearman 9c6fac65d8 msi: Check the return value of VerQueryValueW in msi_get_disk_file_version. 2007-06-27 11:44:44 +02:00
James Hawkins 90e9722ecb msi: Add tests for publishing and unpublishing products, features, and components. 2007-06-26 12:11:54 +02:00
James Hawkins ee89cfca53 msi: Add a stub implementation of MsiQueryComponentStateA. 2007-06-26 12:11:47 +02:00
James Hawkins 71d7da1170 msi: Fetch the volume name when getting disk info. 2007-06-26 11:56:47 +02:00
Rob Shearman 8a94f7aad3 msi: Implement MsiGetMode for MSIRUNMODE_SCHEDULED, MSIRUNMODE_COMMIT and MSIRUNMODE_ROLLBACK. 2007-06-26 11:56:33 +02:00
Andrew Talbot 0e4ccb822c msi: Fix use of uninitialized variable (Coverity). 2007-06-25 13:23:58 +02:00
Rob Shearman f533159bb6 msi: Only use the long name for the file source if the file has one. 2007-06-22 12:18:22 +02:00
James Hawkins 9309f4dfa0 msi: Properly delete rows from the table, instead of zeroing out the row. 2007-06-19 11:31:44 +02:00
James Hawkins 82f4e3981b msi: Send the expected data to set_deferred_action_props. 2007-06-19 11:31:07 +02:00
Andrew Talbot 19ef864058 msi: Name all or none of the formal arguments in function prototypes. 2007-06-18 13:36:42 +02:00
James Hawkins 261e1179bb msi: Patches are applied based on ProductCode, not ProductID. 2007-06-18 12:14:58 +02:00
James Hawkins d8860d34e4 msi: Implement MsiApplyPatchW. 2007-06-18 12:14:53 +02:00
James Hawkins 974e76fe79 msi: Forward MsiApplyPatchA to MsiApplyPatchW. 2007-06-18 12:14:38 +02:00
Dmitry Timoshkov 6076485fde msi: Simplify the code. 2007-06-15 12:41:07 +02:00
James Hawkins 3c444ea350 msi: Set the UserSID and ProductCode properties for deferred custom actions. 2007-06-15 12:40:56 +02:00
James Hawkins 881f59254a msi: Fixed the WriteEnvironmentStrings action. 2007-06-14 13:52:59 +02:00
Andrew Talbot cf1e01eb0c msi: Constify some variables. 2007-06-14 13:20:45 +02:00
James Hawkins 9ed5c865e2 msi: Protect custom actions with a structured exception handler. 2007-06-14 13:14:50 +02:00
James Hawkins c8a8f77abe msi: Set the MsiNetAssemblySupport property. 2007-06-13 11:18:42 +02:00
Andrew Talbot 8b362f7fc8 msi: Constify some variables. 2007-06-13 11:18:35 +02:00
Andrew Talbot 58c55881be msi: Constify a variable. 2007-06-12 11:18:39 +02:00
Jeff Latimer 8521cb8677 msi: Use the langbuff len rather than the versionbuff len when allocating the langbuff. 2007-06-11 13:49:45 +02:00
James Hawkins a05613a9f2 msi: Add support for large string tables. 2007-06-08 11:59:28 +02:00
James Hawkins 8568e0a4a8 msi: Represent table data as bytes instead of shorts. 2007-06-08 11:58:36 +02:00
James Hawkins 65f23343ee msi: Reduce the amount of code that directly accesses table data. 2007-06-08 11:58:20 +02:00
James Hawkins 298699e242 msi: Use fetch_int to reduce code duplication and access to table data. 2007-06-08 11:57:57 +02:00
Andrew Talbot a0ae69a8d1 msi: Constify some variables. 2007-06-06 14:07:22 +02:00
Misha Koshelev b7233ba33f msi: automation: Implement SummaryInfo::PropertyCount. 2007-06-05 11:00:18 +02:00
Misha Koshelev 61f4fff42b msi/tests: automation: Add tests for SummaryInfo::PropertyCount. 2007-06-05 10:59:52 +02:00
Misha Koshelev dcbd8e93d5 msi: automation: Implement SummaryInfo::Property, put. 2007-06-05 10:59:38 +02:00
Misha Koshelev aaa7fd9e11 msi/tests: automation: Add tests for SummaryInfo::Property, put. 2007-06-05 10:59:00 +02:00
Misha Koshelev 41ca1f7106 msi: automation: Add MsiOpenDatabaseMode enum. 2007-06-05 10:58:48 +02:00
Misha Koshelev 3fd518a505 msi/tests: automation: Add test for Installer::OpenDatabase. 2007-06-05 10:58:41 +02:00
Misha Koshelev b489ed4485 msi: automation: SummaryInfo::Property, remove all specific instances to PIDs. 2007-06-05 10:58:30 +02:00
Misha Koshelev 8b2d0d3e34 msi: suminfo: Return ERROR_UNKNOWN_PROPERTY as native. 2007-06-05 10:57:56 +02:00
Misha Koshelev b9ea25721b msi/tests: suminfo: Add tests for MsiSummaryInfoGetProperty for unknown property values. 2007-06-05 10:57:50 +02:00
Misha Koshelev 0c503defcf msi: automation: Fix SummaryInfo::Property get to conform to native. 2007-06-04 13:00:24 +02:00
Misha Koshelev f2c10a530c msi/tests: automation: Add tests for SummaryInfo::Property, get. 2007-06-04 12:59:43 +02:00
Misha Koshelev 68d4e65c5e msi: automation: Database::SummaryInformation is a propget, not a method. 2007-06-04 12:59:20 +02:00
Misha Koshelev 1e6bcb028d msi: automation: Remove redundant VariantClear(pVarResult). 2007-06-04 12:59:13 +02:00
Misha Koshelev e7d25cb4fd msi: msiserver.idl: Maintain spacing as spaces, not tabs. 2007-06-04 12:59:06 +02:00
Misha Koshelev 39ffa7d16f msi: automation: Add missing operand for evaluation. 2007-06-04 12:59:00 +02:00
Misha Koshelev f850364efa msi: automation: Remove duplicate error messages on unknown dispid.
DISP_E_MEMBERNOTFOUND FIXME is already handled in AutomationObject_Invoke.
2007-06-04 12:58:53 +02:00
Andrew Talbot 1486d851da msi: Constify some variables. 2007-06-01 12:51:14 +02:00
James Hawkins f083b3c038 msi: Implement SummaryInfo::Property get. 2007-06-01 12:43:33 +02:00
James Hawkins 7a289624cf msi: Implement Installer::OpenDatabase. 2007-06-01 12:43:17 +02:00
James Hawkins 60e95ee6e8 msi: Add handling for MsiBreak. 2007-06-01 12:42:16 +02:00
Alexander Nicolaysen Sørnes 115ead4c73 msi: Update Norwegian Bokmål resources. 2007-06-01 12:40:50 +02:00
James Hawkins 5b8641a5a4 msi: Implement the WriteEnvironmentStrings standard action. 2007-05-31 13:27:15 +02:00
James Hawkins c2e91588e9 msi: Perform a forced reboot if a custom action returns ERROR_INSTALL_SUSPEND. 2007-05-30 11:49:16 +02:00
James Hawkins b8e0b3c1c8 msi: Set the MsiNTProductType property. 2007-05-30 11:49:09 +02:00
James Hawkins 44649d2ff8 msi: Fall back to checking if the cab exists if the volume name doesn't match. 2007-05-30 11:48:51 +02:00
James Hawkins 1aa0082558 msi: Create the destination directory if it doesn't exist when duplicating files. 2007-05-30 11:48:40 +02:00
Francois Gouget fa48cb042c Assorted spelling fixes. 2007-05-29 13:47:18 +02:00
Francois Gouget dbf7b7b398 msi/tests: Fix a signed/unsigned int mismatch. 2007-05-29 12:12:01 +02:00
Dmitry Timoshkov 3c9e7a7f33 wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility. 2007-05-25 20:37:56 +02:00
James Hawkins ea2c96c5df msi: Add the ability to deformat the component's source. 2007-05-25 19:30:50 +02:00
James Hawkins f5c2806ca1 msi: Remove a misleading ERR, as this fails if a file doesn't exist, which is common. 2007-05-25 19:30:42 +02:00
Michael Stefaniuc 7043b7baa4 msi: A signed 1-bit bitfield doesn't make much sense; use unsigned. 2007-05-24 11:36:10 +02:00
Misha Koshelev 864a7df10e msi: automation: Append copyright notice. 2007-05-23 12:49:16 +02:00
Misha Koshelev 74de3e1754 msi: Make MsiEnumProducts enumerate products, not features. 2007-05-21 12:38:55 +02:00
Misha Koshelev ea899e1d6f msi/tests: automation: Test Installer::Products before and after InstallProduct, check product is not/is installed. 2007-05-21 12:38:55 +02:00
Misha Koshelev 74b2c18bae msi/tests: automation: Installer::InstallProduct, remove a registry key set by Wine but not native. 2007-05-21 12:38:55 +02:00
Misha Koshelev 01460f6753 msi: automation: Implement StringList::_NewEnum. 2007-05-18 20:01:55 +02:00
Misha Koshelev 4ccdbc5845 msi: automation: Generalize list implementation.
Same structures and functions can be used for both StringList and RecordList.
2007-05-18 20:01:39 +02:00
Misha Koshelev 2521111bc7 msi/tests: automation: Add tests for StringList::_NewEnum. 2007-05-18 20:00:30 +02:00
Misha Koshelev 5ee995d90a msi/tests: automation: Fix Installer_ProductInfo ok message to correctly state function. 2007-05-18 20:00:13 +02:00
Misha Koshelev ee33e40542 msi/tests: automation: Change SUCCEEDED(hr) to more specific hr == S_OK. 2007-05-18 14:43:40 +02:00
Misha Koshelev 04505f7107 msi: script: Change all tabs to spaces to conform to msi formatting. 2007-05-18 14:43:28 +02:00
Misha Koshelev 937b643092 msi: automation: Change all tabs to spaces to conform to msi formatting. 2007-05-18 14:43:19 +02:00
Misha Koshelev 63ed9117c3 msi/tests: automation: Check for NULL source string before calling lstrcpyW. 2007-05-18 14:43:05 +02:00
Misha Koshelev f1f687e646 msi/tests: automation: Change non-const LPCWSTR parameters to LPWSTR. 2007-05-18 14:42:57 +02:00
Misha Koshelev 8136bd4117 msi: automation: Implement Installer::ProductInfo. 2007-05-17 12:47:39 +02:00
Misha Koshelev d800a082a8 msi: Return appropriate values for empty MsiProductInfo parameters. 2007-05-17 12:47:20 +02:00
Misha Koshelev 68bfb39767 msi/tests: Add test for empty MsiGetProductInfo parameters not referencing default registry values. 2007-05-17 12:45:16 +02:00
Misha Koshelev 2177e492e6 msi/tests: automation: Add tests for Installer::ProductInfo. 2007-05-16 14:58:19 +02:00
Misha Koshelev 0eaf8bc164 msi/tests: automation: Remove unnecessary if (SUCCEEDED(hr)) statements. 2007-05-16 14:58:07 +02:00
Misha Koshelev 187f856e46 msi: automation: Condense a few loops. 2007-05-16 14:58:00 +02:00
Francois Gouget 0acb5810bf Assorted spelling fixes. 2007-05-15 18:09:16 +02:00
Misha Koshelev 23cfbe2ec8 msi: automation: Simplify counting products/related products. 2007-05-15 14:12:20 +02:00
Misha Koshelev 5f2e81e2a5 msi: automation: Installer::Products, verify HeapAlloc return value. 2007-05-15 14:11:45 +02:00
Misha Koshelev 536b49905b msi: Make MsiEnumRelatedProducts enumerate registry value names, not subkeys. 2007-05-15 14:11:37 +02:00
Misha Koshelev a6dfcf90f7 msi: automation: Implement Installer::RelatedProducts. 2007-05-15 14:10:58 +02:00
Misha Koshelev 7a9b218235 msi/tests: automation: Add tests for Installer::RelatedProducts. 2007-05-15 14:09:52 +02:00
Misha Koshelev 5b37ba6f04 msi: automation: Implement Installer::InstallProduct. 2007-05-15 14:09:42 +02:00
Misha Koshelev b75b224822 msi/tests: automation: Add test for Installer::InstallProduct. 2007-05-15 14:06:47 +02:00
Misha Koshelev 18cab64b42 msi: automation: Implement Record::IntegerData. 2007-05-15 14:06:27 +02:00
Misha Koshelev 9d234fcb9f msi: automation: Implement View::Modify. 2007-05-14 16:20:01 +02:00
Misha Koshelev 854ca51a5f msi/tests: automation: Add test for View::Modify. 2007-05-14 16:19:24 +02:00
Misha Koshelev 5e16dbb3f3 msi/tests: automation: Add tests for Record::IntegerData. 2007-05-14 16:19:15 +02:00
Misha Koshelev d2ad4e09ce msi/tests: automation: Correct expected Record::StringData PROPERTYPUT return variant type. 2007-05-14 16:19:05 +02:00
Misha Koshelev c0c6fe6341 msi: automation: Implement Record::FieldCount. 2007-05-14 16:17:22 +02:00
Misha Koshelev aa9f4beb65 msi: automation: Return DISP_E_MEMBERNOTFOUND if flags are incorrect. 2007-05-14 16:16:54 +02:00
Misha Koshelev 6bb7c911f5 msi/tests: automation: Test invoking methods as properties & vice versa. 2007-05-14 16:15:51 +02:00
Misha Koshelev 7eb3db632e msi: automation: Implement Installer::CreateRecord. 2007-05-14 16:15:40 +02:00
Misha Koshelev 075e1898bf msi/tests: automation: Test for Installer::CreateRecord error. 2007-05-14 16:15:20 +02:00
Misha Koshelev 2d8c2ce6d6 msi: automation: Implement Session::EvaluateCondition. 2007-05-14 16:14:58 +02:00
Misha Koshelev 75222d7452 msi/tests: automation: Add tests for Session::EvaluateCondition. 2007-05-14 16:13:23 +02:00
Misha Koshelev d74e643f8c msi: automation: Implement Installer::RegistryValue. 2007-05-11 12:59:52 +02:00
Marcus Meissner c904290336 msi/tests: Increase buffer size a bit.
Spotted by Coverity.
2007-05-11 11:45:36 +02:00
Francois Gouget 450ad214ec msi/tests: Add missing '\n' to ok() calls. 2007-05-11 11:20:25 +02:00
James Hawkins 666cfd1c03 msi: Only check the volume label for every media after the first disk. 2007-05-11 11:20:18 +02:00
James Hawkins 0de574b258 msi: Deformat the key path before opening the key. 2007-05-10 14:12:57 +02:00
Paul Vriens a543e60dc9 msi/tests: Properly cleanup after each test. 2007-05-10 12:14:14 +02:00
Misha Koshelev 2b7d8cb9d5 msi/tests: automation: Add more tests for Installer::RegistryValue.
Add test for a new error condition and tests for returning data from values of different registry value types.
2007-05-10 12:10:28 +02:00
James Hawkins 6eb7eadffa msi: Check the volume name when changing media. 2007-05-09 12:07:01 +02:00
Misha Koshelev d5c6c64bfc msi: automation: Display an error on create_session failure. 2007-05-08 18:09:28 +02:00
Misha Koshelev 3909a499e0 msi: automation: Move VariantClears out of specific case statements when possible. 2007-05-08 18:09:20 +02:00