Commit Graph

1769 Commits

Author SHA1 Message Date
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
Misha Koshelev 891f7febca msi: automation: Display errors on create_automation_object failure. 2007-05-08 12:45:07 +02:00
Misha Koshelev 3a424aca58 msi: automation: Clear all VT_BSTR variants returned by DispGetParam. 2007-05-08 12:36:44 +02:00
Misha Koshelev ab2669a750 msi/tests: automation: Simplify ok_exception. 2007-05-08 12:34:59 +02:00
Misha Koshelev 87a46493cf msi/tests: automation: Add test for Installer::RegistryValue. 2007-05-08 12:34:54 +02:00
Misha Koshelev de8e566ebe msi: automation: Output FIXMEs for unknown member names. 2007-05-08 12:31:05 +02:00
Misha Koshelev 05de3b03de msi: automation: Implement Installer::Products and Installer::ProductState. 2007-05-08 12:30:26 +02:00
Misha Koshelev 4ba4936dee msi/tests: automation: Add tests for Installer::Products and Installer::ProductState. 2007-05-08 12:26:44 +02:00
Misha Koshelev 715950bc7e msi: automation: Generalize interface-specific data storage in AutomationObject.
This makes a more general framework for interface/object-specific data storage.
2007-05-08 12:24:56 +02:00
Misha Koshelev 757e617ec2 msi: automation: Use proper parameter names.
This fixes the parameter names to match native as they are required by
some scripting languages and by the exceptions that are thrown.
2007-05-08 12:23:14 +02:00
James Hawkins 770e49cd3c msi: Add handling for the ReinstallMode control event. 2007-05-07 15:18:52 +02:00
James Hawkins 987c2c85e1 msi: Add stub handlers for the remaing standard actions that reference tables. 2007-05-07 15:18:47 +02:00
James Hawkins e962b0a7df msi: Remove debugging printf statements. 2007-05-07 15:14:13 +02:00
James Hawkins 12c33ab8aa msi: Remove incorrect ERR as messages can be sent before the control is created. 2007-05-07 14:32:03 +02:00
James Hawkins 933fd8b879 msi: Set the text limit of the edit control if the limit is given. 2007-05-07 14:31:57 +02:00
James Hawkins 7fe3ba934c msi: Add the ES_AUTOHSCROLL style to the edit control. 2007-05-07 14:30:38 +02:00
James Hawkins 7f4a4e161f msi: Only allow valid styles in msi_dialog_get_style. 2007-05-07 14:30:29 +02:00
Misha Koshelev c7e7f36e77 msi: automation: Implement Session::Installer. 2007-05-07 14:24:16 +02:00
Misha Koshelev 8ba0b3c7b9 msi: automation: Store parent Installer object in Session. 2007-05-07 14:23:37 +02:00
Misha Koshelev 4a5a90b04a msi/tests: automation: Session::Installer conformance test. 2007-05-07 14:23:06 +02:00
Misha Koshelev 144ef422e0 msi: script: Discriminate properly between JScript and VBScript. 2007-05-07 14:22:59 +02:00
Misha Koshelev d49b251db9 msi/tests: automation: Integrate test_createrecord_and_version properly. 2007-05-04 13:40:12 +02:00
Misha Koshelev 357f3db286 msi/tests: automation: Convert method names to Unicode on the fly to simplify adding new tests. 2007-05-04 13:40:02 +02:00
Misha Koshelev 1752f36413 msi/tests: automation: Free memory after string conversion. 2007-05-04 13:39:32 +02:00
Alexandre Julliard 69a88a9d40 Fix minor differences in the formatting of the license notices. 2007-05-04 12:08:15 +02:00
Misha Koshelev eee455c24a msi: Add JScript/VBScript support. 2007-05-01 18:34:17 +02:00
Misha Koshelev d70c9e7690 msi: Added handlers for JScript/VBScript actions that call one script function. 2007-05-01 18:25:34 +02:00
Misha Koshelev f217cacbc2 msi: automation: Expose Installer object. 2007-05-01 18:05:26 +02:00
Misha Koshelev 8026c070bc msi: automation: Implement Installer::OpenPackage. 2007-05-01 18:05:25 +02:00
Misha Koshelev e4d211a5e9 msi: automation: Implement a few functions from the Session object. 2007-05-01 18:05:25 +02:00
Misha Koshelev df6d7977c8 msi: automation: Implement Database::OpenView. 2007-05-01 18:05:25 +02:00
Misha Koshelev deabb2978e msi: automation: Implement View::Execute, Fetch, and Close. 2007-05-01 18:05:25 +02:00
Misha Koshelev ced0a775a4 msi: automation: Implement Record::StringData. 2007-05-01 18:05:25 +02:00
James Hawkins 1104dc088d msi: Run the costing actions for both the UI and execute sequences. 2007-05-01 13:54:10 +02:00
James Hawkins baad888766 msi: Reset the folder's resolved target before setting the target in CostFinalize. 2007-05-01 13:53:25 +02:00
James Hawkins d8586e164f msi: Add tests that show that costing is run in both the UI and Execute sequences. 2007-05-01 13:53:13 +02:00
Misha Koshelev bb55acb577 msi: Expand IDL file to contain some OLE automation interface functions. 2007-05-01 11:58:45 +02:00
Misha Koshelev 26c16313d9 msi: Add base class for OLE automation objects. 2007-05-01 11:58:04 +02:00
Misha Koshelev d1c4588625 msi: Merge OLE automation conformance tests. 2007-05-01 11:49:29 +02:00
Misha Koshelev 49bb20cf35 msi: Add OLE automation conformance test. 2007-04-30 13:57:50 +02:00
Francois Gouget 4017334ed4 msi/tests: Add missing '\n' to ok() call. 2007-04-30 12:34:58 +02:00
Marcus Meissner ff40f3d2d3 msi: Do not mark the tables const. 2007-04-27 11:13:40 +02:00
Hans Leidekker 9eefc04f6b msi: Add a stub implementation for MsiEnumProductsEx{A, W}. 2007-04-26 14:24:18 +02:00
James Hawkins da55285acb msi: Implement special handling for the _Streams table. 2007-04-25 12:44:37 +02:00
Rob Shearman 220f93db61 msi: Fix an off-by-one error when calculating the path and filename for the action data in the SelfRegModules action.
The backslash is in p[0], not p[1].
2007-04-25 11:49:34 +02:00
Rob Shearman 22cd120d5d msi: Create the _Property table as a temporary table so that the properties aren't saved to the .msi file. 2007-04-25 11:49:29 +02:00
Rob Shearman 3323303e09 msi: Set rec to NULL after calling msiobj_release on it in msi_create_table so that we don't call msiobj_release on it again. 2007-04-25 11:49:26 +02:00
Rob Shearman e474304160 msi: Add a non-persistent string instead of a persistent one if the table or row is non-persistent. 2007-04-24 12:25:41 +02:00
Rob Shearman 697d820eee msi: All columns being temporary means the table is non-persistent.
The HOLD keyword just means that the non-persistent data in the table 
should be kept around, not that the table is temporary.
2007-04-24 12:25:36 +02:00
Rob Shearman 44f7cb8858 msi: Add a persistent flag to tables.
Implement MSI_DatabaseIsTablePersistent.
2007-04-24 12:25:25 +02:00
Rob Shearman a33cc3d859 msi: Don't add info to the _Columns table for non-persistent tables. 2007-04-24 12:24:59 +02:00
Rob Shearman 23379b3b5c msi: Add support for adding temporary/non-persistent data to tables. 2007-04-24 12:24:48 +02:00
Rob Shearman d8cd46ac47 msi: The HOLD keyword implies a temporary table, whereas database importing should lead to permanent tables, so remove the HOLD keyword. 2007-04-24 12:23:13 +02:00
Rob Shearman 338568886c msi: Create the table directly in create_table instead of requiring it to be loaded after saving. 2007-04-24 12:23:02 +02:00
Rob Shearman ba0507a178 msi: Move table creation to table.c. 2007-04-24 12:22:48 +02:00
Rob Shearman 3aa9a25cb3 msi: Store the column info in the MSITABLE structure.
Load the data on view creation for simplicity instead of view execution.
2007-04-24 12:22:14 +02:00
Rob Shearman 94d48238ff msi: Remove the hash table for a column when one of its values is modified since it will now be invalid. 2007-04-24 12:21:40 +02:00
Rob Shearman e261d602fb msi: Cleanup unneeded string table functions.
Make string table functions that aren't used outside of string.c static.
2007-04-24 12:21:33 +02:00
Rob Shearman 37b11baaa3 msi: Move string loading and saving to string.c. 2007-04-24 12:20:19 +02:00
Rob Shearman 2e3289ca6c msi: Add support for non-persistent strings.
Store the loaded refcount in the string table.
2007-04-24 12:18:04 +02:00
James Hawkins 7d3162e6be msi: Abstract MSI_RecordSetStream. 2007-04-23 16:18:13 +02:00
James Hawkins 2b4bf44b79 msi: Add an internal MSI_ViewModify. 2007-04-23 16:18:03 +02:00
Hans Leidekker 1d19c2b72f msi: Install data sources in the InstallODBC custom action. 2007-04-23 14:07:18 +02:00
Hans Leidekker 33c025b7f2 msi: Install translators in the InstallODBC custom action. 2007-04-23 14:06:47 +02:00
James Hawkins b4bb6e5b5d msi: Add the _Property table back, with tests. 2007-04-23 14:03:51 +02:00
James Hawkins d677bd7f3b msi: Return MSICONDITION_NONE in MsiDatabaseIsTablePersistent if the table doesn't exist. 2007-04-23 14:00:24 +02:00
Alban Browaeys 7aa3917823 msi: Move msi_free(msiFilePath) to enable ERR message to use it before it is freed. 2007-04-16 13:20:43 +02:00
James Hawkins 98eafa870c msi: Add handling for the concurrent install custom action. 2007-04-16 12:11:08 +02:00
James Hawkins 6da8041d47 msi: Run the InstallExecute sequence if the InstallUISequnce table is empty. 2007-04-16 12:10:03 +02:00
James Hawkins 06df9f790d msi: Generalize the msi_custom_action_info struct so other custom actions can use it. 2007-04-16 12:09:14 +02:00
James Hawkins 4cc48b7710 msi: Add tests for the concurrent installation custom action. 2007-04-16 12:08:52 +02:00
Rob Shearman 1b0b5f5699 msi: Provide UI action data for uncompressed files, not just compressed ones. 2007-04-13 11:42:46 +02:00
Aric Stewart b46ab0b8cb msi: Do not crash in MsiGetUserInfo if org, user or serial are not present, instead return USERINFOSTATE_ABSENT. 2007-04-12 16:19:24 +02:00
James Hawkins 7ef8428b5e msi: Reset the is_extracted flag when every cabinet is loaded. 2007-04-12 16:18:08 +02:00
Aric Stewart d54900b8bc msi: Register fonts with full target paths as applications can and will install fonts to places other than the windows/fonts directory. 2007-04-11 11:20:52 +02:00
Rob Shearman 3fbe9db433 msi: Don't wait on closed handles in ACTION_FinishCustomActions.
The handle will be closed by free_custom_action_data, so duplicate the 
handle before calling it.
2007-04-04 12:39:14 +02:00
James Hawkins 8cedb218c3 msi: Load the folder property if available and requested. 2007-03-29 21:01:42 +02:00
Francois Gouget d9e8a0f63e Remove unneeded checks on the GetModuleHandle() return value for cases where we are linked with the dll. 2007-03-28 12:36:13 +02:00
Andrew Talbot efc988e1c8 msi: Replace inline static with static inline. 2007-03-23 12:29:19 +01:00
Francois Gouget 7b0cde8f84 Assorted spelling fixes. 2007-03-06 21:51:35 +01:00
Andrew Talbot 7a9b2183d4 msi: Replace const pointer parameters with correct pointers to const. 2007-03-06 12:10:31 +01:00
Rob Shearman 77f6bc4f8d msi: Set the PackageCode property based on the "revision number" data in the summary information.
Add a test to show that PackageCode is set by MSI.
2007-03-05 16:43:26 +01:00
Rob Shearman e2972af436 msi: Rewrite the second loop in ACTION_FinishCustomActions so that it always terminates.
Create an array of handles to wait on so that we can wait without
holding a critical section.
2007-03-05 16:43:26 +01:00
Rob Shearman 95f38b75fb msi: Set the Date, Time and VersionDatabase properties.
Add tests for these properties.
Update the todo list of properties to set.
2007-03-05 16:43:26 +01:00
Paul Vriens 6efffc3829 msi/tests: Properly cleanup after each test. 2007-03-05 12:05:59 +01:00
James Hawkins ba40c463d7 msi: Overwrite an existing read-only file when copying the install file. 2007-02-26 13:57:43 +01:00
James Hawkins a40d687133 msi: Add tests for using markers in SELECT clauses. 2007-02-26 13:56:24 +01:00
James Hawkins d4a324940b msi: Check for a NULL text entry, as it can be blank in the VolumeCostList control. 2007-02-26 13:56:21 +01:00
James Hawkins 747f19f011 msi: Free the custom action data after the thread function executes. 2007-02-26 13:56:11 +01:00
James Hawkins 0746b9076d msi: Cleanup the dialog event subscriptions when destroying the dialog. 2007-02-21 10:53:49 +01:00
Andrew Talbot 5346ba392d msi: Constify some variables. 2007-02-19 12:04:12 +01:00
Steven Stein ee3ac7a8fb msi: ValidateProductID action stub. 2007-02-14 22:17:41 +01:00
Steven Stein 378928f2df msi: Added "Default" control condition to msi_dialog_set_control_condition. 2007-02-14 22:17:36 +01:00
Mike McCormack d50c62884a msi: Find pending custom actions by GUID. 2007-02-14 14:42:02 +01:00
Alexandre Julliard a71a22c579 cabinet: Fixed fd leak in case of error. 2007-02-14 13:12:32 +01:00
Mike McCormack 63cdee2741 msi: Remove an unused initializer. 2007-02-13 17:47:30 +01:00
Misha Koshelev 8aa5c99379 msi: Conformance test, check that INSTALLUILEVEL flags don't trigger UI install. 2007-02-13 17:45:20 +01:00
Mike McCormack 63e554994a msi: Store dll based custom actions in a separate list. 2007-02-12 14:12:41 +01:00
Mike McCormack 5927015726 msi: Simplify ACTION_FinishCustomActions. 2007-02-12 14:12:34 +01:00
Mike McCormack d0e12bdef7 msi: Split process_handle() into two separate functions. 2007-02-12 12:39:05 +01:00
Vitaly Lipatov c8bcbdb90d Some fixes in russian resources. 2007-02-09 11:48:28 +01:00
James Hawkins 5b8282120a msi: Don't skip files continued from a previous cabinet. 2007-02-08 13:01:40 +01:00
Mike McCormack 94edfde1d9 msi: Register the typelib. 2007-02-08 11:56:16 +01:00
Mike McCormack 3ca5f8bbf9 msi: Add a test for the version method. 2007-02-07 21:40:09 +01:00
Peter Oberndorfer 712e67723a msi: Clean up magic numbers. 2007-02-07 11:35:17 +01:00
Peter Oberndorfer c1b7a825ff msi: Honor attributes for combobox. 2007-02-07 11:35:09 +01:00
Peter Oberndorfer a5277fb53b msi: Honor msidbControlAttributesSorted attribute for list box. 2007-02-07 11:34:32 +01:00
Misha Koshelev d8b00a071d msi: Make sure to ignore UI level flags in dialog and files as well. 2007-02-07 11:03:39 +01:00
Peter Oberndorfer 91bf34f610 msi: Do not use a static variable to save the insertion position for the listview. 2007-02-06 20:36:33 +01:00
Peter Oberndorfer 9afb0f39a8 msi: Store value of the property with each listbox element.
This makes sure the property is set to the right value even when order in listbox is changed.
2007-02-06 20:36:12 +01:00
Peter Oberndorfer 69448afdc7 msi: Do not store property for each listbox element, as it is the same one for the whole listbox.
Remove struct msi_listbox_item as it only contains 1 element now.
2007-02-06 20:35:19 +01:00
Peter Oberndorfer 79d2f76b8e msi: Only insert entries into listbox if property value matches. 2007-02-06 20:35:03 +01:00
Mike McCormack 224ead8253 msi: Test the dispid for CreateRecord. 2007-02-06 13:20:29 +01:00
Mike McCormack 59736773d7 msi: Add the generated typelib to the resources. 2007-02-06 13:20:26 +01:00
Mike McCormack a16e5151da msi: Factor out code to calculate column offsets. 2007-02-06 13:20:17 +01:00
Mike McCormack 824b89987a msi: Add a test showing MsiGetProperty returns correct values. 2007-02-06 13:20:12 +01:00
Misha Koshelev ecd20e28ac msi: InstallPackage check for UI level must not disregard flags. 2007-02-06 13:19:55 +01:00
James Hawkins 30577c253a msi: Allow uncompressed files before compressed files in the same media. 2007-02-05 12:27:33 +01:00
Mike McCormack 702adb37a2 msi: Add a (mostly empty) typelib for the MsiServer interface. 2007-01-26 14:29:43 +01:00
Mike McCormack 595983f498 msi: Add todos around tests that aren't being run yet, but will fail. 2007-01-26 13:53:52 +01:00
Mike McCormack 7fe5166340 msi: Fix a typo. 2007-01-26 13:53:52 +01:00
Mike McCormack 8a38d3038c msi: Allocate a buffer in WCHARs not CHARs. 2007-01-26 12:55:50 +01:00
Mike McCormack 9c76a0b37a msi: Implement IDispatch->CreateInstance() for the msi server dll. 2007-01-25 12:00:07 +01:00
Mike McCormack c63d21bf8c msi: Implement IClassFactory->QueryInterface() for the msi server dll. 2007-01-25 12:00:04 +01:00
Mike McCormack d316c19741 msi: Add a test for the IMsiServer interface. 2007-01-25 11:59:59 +01:00
Francois Gouget aab5e5856e Don't put single quotes around '%s' when using the debugstr_*() functions. 2007-01-18 12:55:50 +01:00
Mike McCormack 208cdde0f5 msi: Register IMsiServer. 2007-01-18 11:59:20 +01:00
Mikołaj Zalewski c38c5fb2fc msi: Add Polish translation. 2007-01-15 12:42:42 +01:00
Andrew Talbot 020bda7ee2 msi: Declare some functions static. 2007-01-12 20:41:49 +01:00
Andrew Talbot e5938d6fbb msi: Remove unused variables. 2007-01-12 20:41:45 +01:00
Paul Vriens 4d0232e504 msi/tests: Remove test directory after the files have been deleted. 2007-01-01 17:04:32 +01:00
James Hawkins be59fb4e6d msi: Enable cab compression and delete any resulting cabs using SHFileOperation. 2006-12-19 12:38:48 +01:00
James Hawkins e1f76deedc msi: Run the install tests from a temporary directory. 2006-12-19 12:09:07 +01:00
James Hawkins fdfb10e02b msi: Update the text control when the selection path changes. 2006-12-18 12:01:18 +01:00
James Hawkins 6f3f2549c1 msi: Only cleanup event subscriptions of the dialog being closed. 2006-12-18 12:01:09 +01:00
Alexandre Julliard fadc820fe5 Revert "msi: Comparisons with null in conditions are special."
This reverts commit 9dce96b315.
2006-12-14 17:02:23 +01:00
Alexandre Julliard 598f2be54b msi: Fix the condition test to not assume MsiNetAssemblySupport is empty. 2006-12-14 17:01:35 +01:00
Andrew Talbot ebd6f7d1ce msi/tests: Cast-qual warning fix. 2006-12-12 12:11:01 +01:00
Marcus Meissner f0280cbd1e made functions and variables static in some testcases. 2006-12-11 12:18:29 +01:00
Mike McCormack c8898f6bba msi: Add tests for comparison to empty strings. 2006-12-07 17:54:37 +01:00
Mike McCormack 9dce96b315 msi: Comparisons with null in conditions are special. 2006-12-07 17:54:32 +01:00