Commit Graph

1534 Commits

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