Commit Graph

3278 Commits

Author SHA1 Message Date
Hans Leidekker ee7d8547b6 msi: Downgrade some warnings. 2010-11-03 16:06:21 +01:00
Hans Leidekker 566e67a491 msi: Components don't require a key path. 2010-11-03 16:06:17 +01:00
Hans Leidekker aef0aa30fd msi: Don't crash if there is no feature parent. 2010-11-03 16:06:12 +01:00
Hans Leidekker ced35838ea msi: An inactive dialog control does not require a property. 2010-10-26 15:24:46 +02:00
Hans Leidekker f3e7ed44f1 msi: Open the log file once per package. 2010-10-26 15:24:40 +02:00
Hans Leidekker 29ee65402b msi: Open the log file in shared write mode. 2010-10-26 15:24:33 +02:00
Aleksey Bragin 8c5718ec9d msi: Fix freed memory access and fix freeing of invalid pointer. 2010-10-22 19:05:12 +02:00
Hans Leidekker 031c70c965 msi: Register service arguments in the InstallServices action. 2010-10-22 12:07:00 +02:00
Hans Leidekker 7f5204e1bc msi: Register service dependencies in the InstallServices action. 2010-10-22 12:06:54 +02:00
Hans Leidekker 7a460eba71 msi: The LoadOrderGroup, StartName and Password fields from the ServiceInstall table are formatted strings. 2010-10-22 12:06:49 +02:00
Hans Leidekker d7dbb7e08d msi: Register the service description in the InstallServices action. 2010-10-22 12:06:44 +02:00
Hans Leidekker 5a0a53820a msi/tests: Add tests for msidbFeatureAttributesUIDisallowAbsent. 2010-10-22 12:06:39 +02:00
Hans Leidekker ded22a58c0 msi: Don't inline msi_feature_set_state and msi_component_set_state. 2010-10-22 12:06:33 +02:00
Hans Leidekker eaa57c5b7b msi: Compare strings without depending on thread locale. 2010-10-19 13:49:54 +02:00
Trygve Vea 6cb9f6ff2b msi: Updated Norwegian translation. 2010-10-18 11:45:58 +02:00
Hans Leidekker 8db3c0e358 msi/tests: Move test coverage for standard actions to a separate module. 2010-10-14 17:54:52 +02:00
Hans Leidekker 9cc4b0caae msi/tests: Don't create a nested restore point on recent versions of MSI.
We now set the MSIFASTINSTALL property which disables restore points.
2010-10-13 15:52:58 +02:00
Hans Leidekker 5d0a6b0004 msi: Store action data for deferred rollback actions too. 2010-10-13 15:52:38 +02:00
Hans Leidekker 7404e64373 msi: A commit or rollback custom action can be a deferred action at the same time. 2010-10-13 15:52:33 +02:00
Hans Leidekker 59d6dcfddd msi: Put keys from 32-bit packages starting with HLKM\Software under Wow6432Node on 64-bit. 2010-10-13 15:52:27 +02:00
Hans Leidekker 43a680a155 msi: Register class ids from 32-bit packages under Wow6432Node on 64-bit. 2010-10-13 15:52:19 +02:00
Hans Leidekker 0df4712658 msi/tests: Reduce the UI level for a couple of tests.
This makes the tests run faster because native only creates restore points
for installers with a basic UI level and higher.
2010-10-11 17:11:27 +02:00
Hans Leidekker eafebe0f7d msi/tests: Set the MSIFASTINSTALL property.
On recent versions of msi this prevents the creation of a system restore
point, which can take a very long time.
2010-10-11 17:11:27 +02:00
Hans Leidekker 5709fab04c msi/tests: Fix some test failures on 64-bit. 2010-10-11 17:11:26 +02:00
Hans Leidekker cf6e820106 msi: Allocate 3 bytes instead of 2 for in-memory string references.
Fixes an installer that stores string references as 2 byte integers and
grows the number of strings beyond the limit of 64k during installation.
2010-10-11 17:11:26 +02:00
Hans Leidekker b719338433 msi/tests: Use a different product code in the automation tests. 2010-10-11 17:11:26 +02:00
Hans Leidekker 3d33fb93cc msi/tests: Determine Wow64 mode just once. 2010-10-11 17:11:26 +02:00
Hans Leidekker 9e166a9690 msi/tests: Fix some test failures on 64-bit. 2010-10-06 20:46:37 +02:00
Hans Leidekker 3cd55cc916 msi Set the feature action to INSTALLSTATE_UNKNOWN if msidbFeatureAttributesUIDisallowAbsent is set. 2010-10-06 20:46:34 +02:00
Hans Leidekker 85874c07b9 msi: Look at the requested action instead of the action taken in MSI_SetFeatureStates. 2010-10-06 20:46:32 +02:00
Hans Leidekker a9c3195eb8 msi: Add package validation tests. 2010-10-06 20:46:30 +02:00
Hans Leidekker ca7cd1bf89 msi: Validate packages based on supported version, platform and languages. 2010-10-06 20:46:27 +02:00
Hans Leidekker 8bc9a499d1 msi: Remove a potentially noisy trace. 2010-10-06 16:22:26 +02:00
Hans Leidekker 52aab76eb2 msi: Put the uninstall key for 32-bit packages under Wow6432Node on 64-bit. 2010-10-05 17:50:16 +02:00
Andrew Eikum f62439c0d4 msi/tests: Fix copy-paste errors in tests. 2010-10-01 17:48:11 +02:00
Hans Leidekker dfc9351ba4 msi: Set more 64-bit properties. 2010-10-01 17:48:10 +02:00
Hans Leidekker ddbf3c754e msi: Remove an unnecessary warning. 2010-10-01 17:48:10 +02:00
Alexandre Julliard d1d1d0205d msi/tests: Make some variables static. 2010-10-01 13:36:43 +02:00
Alexandre Julliard b4109a079f msi/tests: Fix a test failure on 64-bit. 2010-09-30 17:51:17 +02:00
Alexandre Julliard 9fe16f8ae9 msi/tests: Avoid corrupting the pending file renames key on failure. 2010-09-30 17:51:17 +02:00
Hans Leidekker 259b5fdfa6 msi: Treat empty string as NULL in MsiGetSummaryInformationW. 2010-09-29 10:09:31 +02:00
Hans Leidekker 2b2fa04ca4 msi: Always check the return value of msi_string2idW. 2010-09-29 10:09:23 +02:00
Hans Leidekker fbf45bae04 msi: Use more descriptive variable names for installer properties. 2010-09-27 14:10:45 +02:00
Lauri Kenttä 57a64040e3 msi: Update Finnish translation. 2010-09-24 18:21:19 +02:00
Hans Leidekker cce01d98e7 msi: Set some missing system folder properties. 2010-09-24 18:21:07 +02:00
Hans Leidekker 337fb86c3b msi: Use binary search to find the insert index for a row. 2010-09-24 18:21:03 +02:00
Hans Leidekker e58a67e9cd msi: Avoid accessing memory before the left hand string in compare_substring. 2010-09-24 18:20:52 +02:00
Hans Leidekker c5ef45e5ef msi: A progid without a class is not an error. 2010-09-24 18:20:41 +02:00
Hans Leidekker d59c99067a msi/test: Add tests for MsiGetFeatureState. 2010-09-24 18:20:36 +02:00
Hans Leidekker d56d0d98a3 msi: Remove unused field from MSICOMPONENT structure. 2010-09-24 18:20:32 +02:00
Paul Vriens 3d6a57a494 msi/tests: Prevent a popup on Windows NT. 2010-09-20 13:57:45 +02:00
Hans Leidekker 39d6b6eb70 msi: Handle fdintNEXT_CABINET and fdintPARTIAL_FILE for cabinet streams. 2010-09-20 13:48:12 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Hans Leidekker a0ebe951b6 msi: Read supported platform and language ids from the summary information stream. 2010-09-18 13:06:28 +02:00
Hans Leidekker 3ef3e81f9e msi: Avoid a crash on database destruction. 2010-09-18 13:06:21 +02:00
Hans Leidekker 931bf05731 msi: Adjust the AdminUser property too after applying a patch. 2010-09-18 13:06:17 +02:00
Hans Leidekker 7e9d50a122 msi: Avoid pointer truncation in MSI_ViewFetch and MSI_ViewModify. 2010-09-13 10:59:18 -05:00
Paul Vriens 75c5484174 dlls: Fix some specfiles with respect to 'str' and 'wstr' usage. 2010-09-09 14:57:44 +02:00
Hans Leidekker 4a5b2abcf4 msi/tests: Fix some test failures on 64-bit. 2010-09-08 19:51:00 +02:00
Hans Leidekker f6e26351d5 msi: Open relocated package database in transacted mode. 2010-09-08 19:50:37 +02:00
Hans Leidekker d8b5879798 msi: Fix comparison of table ids in TABLE_Exists. 2010-09-08 19:50:15 +02:00
Francois Gouget b66eb177af msi/tests: Fix compilation on systems that don't support nameless unions or structs. 2010-09-07 16:01:39 +02:00
Hans Leidekker 2fb648c04f msi/tests: Add tests for 64-bit properties. 2010-09-02 18:05:22 +02:00
Hans Leidekker d2f1074725 msi: Set the System64Folder property on 64-bit. 2010-09-02 18:05:22 +02:00
Hans Leidekker 3730300a29 msi: Set the MsiAMD64 and Msix64 properties on 64-bit. 2010-09-02 18:05:22 +02:00
Hans Leidekker 18ebf2c576 msi: Return an error from MsiDatabaseGetPrimaryKeys if the table does not exist. 2010-09-02 18:05:22 +02:00
Hans Leidekker 0032706564 msi: Add stub implementations of MsiBeginTransaction and MsiEndTransaction. 2010-09-02 18:05:22 +02:00
Hans Leidekker dd7514a38d msi: Move database initialization to a separate function. 2010-08-27 12:08:33 +02:00
Hans Leidekker eef54ffe6b msi: Open the database storage in transacted mode when MSIDBOPEN_CREATE or MSIDBOPEN_TRANSACT is specified. 2010-08-27 12:08:29 +02:00
Hans Leidekker d411c49dd1 msi/tests: Fix a WoW64 test failure. 2010-08-27 12:08:22 +02:00
Hans Leidekker 44b15b061b msi: Create the product key if necessary in msi_publish_patches.
Fixes a regression caused by c9fb24927d.
2010-08-27 12:08:16 +02:00
Hans Leidekker 137dfbe80a msi/tests: Use a different product code in the package tests to avoid cascading test failures. 2010-08-27 12:08:08 +02:00
Hans Leidekker 378bb21f8e msi: Bump version to 4.5. 2010-08-18 15:31:25 +02:00
Hans Leidekker 5d85497a15 msi: Handle signature filenames in short|long notation. 2010-08-18 15:31:18 +02:00
Hans Leidekker 0c044c10d0 msi/tests: Skip SourceDir tests on win9x. 2010-08-18 15:30:49 +02:00
Hans Leidekker 7c89d4f28f msi/tests: Use HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE for registry tests.
Works around test failures on 64-bit Windows where MsiInstallProduct
returns success even though the registry keys specified in the
Registry table are not created.
2010-08-18 15:30:43 +02:00
Hans Leidekker 4102156e0f msi/tests: Fix some WoW64 test failures. 2010-08-18 15:30:28 +02:00
André Hentschel 428e8a5a01 msi: Prevent cryptic error. 2010-07-30 11:36:01 +02:00
Hans Leidekker 33b6ad7f73 msi/tests: Skip tests if UAC is enabled and the process is not running elevated. 2010-07-26 18:38:31 +02:00
Hans Leidekker 9686c95749 msi/tests: Skip a test if the current user has insufficient rights. 2010-07-26 18:38:31 +02:00
Hans Leidekker c2c98ae0c2 msi: Synchronize the spec file with version 5.0. 2010-07-23 11:46:23 +02:00
Hans Leidekker 64eec8f9fa msi: Register dlls directly in the SelfRegModules and SelfUnregModules actions. 2010-07-23 11:46:16 +02:00
Hans Leidekker bdda3b950c msi: Warn if a transform file cannot be opened. 2010-07-23 11:46:10 +02:00
Hans Leidekker 2b0c45674f msi: Add some tests for MsiGetSourcePath. 2010-07-23 11:46:06 +02:00
Hans Leidekker bd634c0491 msi: Set/unset the SourceDir property at the right stage in the execution sequence. 2010-07-23 11:46:01 +02:00
Hans Leidekker ad971803da msi: Never defer standard actions. 2010-07-23 11:45:49 +02:00
Hans Leidekker ac924566fb msi/tests: Properly contruct the icon path for win9x. 2010-07-23 11:45:44 +02:00
Hans Leidekker 148887082c msi/tests: Initialize a string buffer and fix some leaks. 2010-07-23 11:45:39 +02:00
Hans Leidekker bb5ab26720 msi: Fix a memory leak. 2010-07-23 11:45:35 +02:00
Hans Leidekker c4bf9fb710 msi/tests: Fix some more wow64 test failures. 2010-07-22 16:10:42 +02:00
Hans Leidekker c4511481db msi/tests: Avoid a long timeout in the test for DeleteServices. 2010-07-22 16:10:29 +02:00
Hans Leidekker 10a32a0b7a msi/tests: Skip tests when the current user has insufficient rights. 2010-07-22 16:10:19 +02:00
Hans Leidekker dad50e3aa0 msi/tests: Return an error code from helper_createpackage and package_from_db. 2010-07-22 16:09:56 +02:00
Hans Leidekker 21d09ffb43 msi/tests: Fix test failures on wow64. 2010-07-22 16:09:43 +02:00
Hans Leidekker d8b7a2099e msi: Downgrade a warning. 2010-07-22 16:09:14 +02:00
Hans Leidekker 06afeec2a5 msi: Make sure properties are updated after applying a patch. 2010-07-22 16:09:09 +02:00
Michael Stefaniuc 7e037305d6 msi: Remove the ignored common resource attributes. 2010-07-22 11:41:40 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Hans Leidekker d99b6d3934 msi: Properly advance the patch pointer in msi_check_product_patches.
Fixes patch enumeration when multiple patches are registered for a given product.
2010-07-21 13:24:01 +02:00
Hans Leidekker 409e2d7105 msi/tests: Double null-terminate a REG_MULTI_SZ string. 2010-07-21 13:24:01 +02:00
Hans Leidekker 3929369611 msi: Remove a fixme that no longer applies. 2010-07-21 13:24:01 +02:00
Hans Leidekker d10208e863 msi: Improve traces in db_get_raw_stream. 2010-07-21 13:24:00 +02:00
Hans Leidekker fba248642b msi: Reverse the transform storage list order.
This ensures that we use the most recently added stream if another
transform storage contains a stream by the same name. Fixes
wordconv.msp, an update for Word 2007.
2010-07-21 13:24:00 +02:00
Hans Leidekker 424e3a9fb8 msi: Move the component enabled check into the standard actions. 2010-07-21 13:24:00 +02:00
Hans Leidekker 568c7c198c msi: Set feature states to the installed state if the Preselected property is not set. 2010-07-21 13:24:00 +02:00
Hans Leidekker c9fb24927d msi: Publish patches regardless of any features being installed locally. 2010-07-21 13:24:00 +02:00
Hans Leidekker 9b329d5bab msi: Keep track of the patch filename in apply_registered_patch. 2010-07-20 16:29:45 +02:00
Hans Leidekker b87271150a msi: Unpublish the product after running all the actions. 2010-07-20 16:29:45 +02:00
Hans Leidekker f7aa88fe7d msi: Store the patch state in the registry. 2010-07-20 16:29:45 +02:00
Hans Leidekker 03cddf9d05 msi: Add a test for MsiSetFeatureState. 2010-07-20 16:29:45 +02:00
Paul Vriens f2135efe48 msi: Add the Serbian (Cyrillic) translation.
Translation by Nenad Vujic <nesa24casa@gmail.com>
2010-07-20 14:53:22 +02:00
Paul Vriens 4662e12164 msi: Add the Serbian (Latin) translation.
Translation by Nenad Vujic <nesa24casa@gmail.com>
2010-07-19 14:38:16 +02:00
Andrew Nguyen 93f92d51a4 msi/tests: Skip some source tests if a required product key cannot be created. 2010-07-09 11:41:11 +02:00
Andrew Nguyen 9c850c9f8a msi/tests: Fix a source test comment. 2010-07-09 11:41:00 +02:00
Andrew Nguyen abe900a23c msi/tests: Remove a redundant source test. 2010-07-09 11:40:56 +02:00
Andrew Nguyen ba180b8600 msi/tests: Free the user SID string buffer with the correct deallocator in the source tests. 2010-07-09 11:40:36 +02:00
Andrew Nguyen 3b79a7b4ac msi/tests: Skip patch tests if product installation failed. 2010-07-09 11:40:28 +02:00
Andrew Nguyen f01b9aab09 msi/test: Uninstall the test product when skipping patch tests.
This seems to be a reasonable cleanup action.
2010-07-09 11:39:14 +02:00
Andrew Nguyen 577554260e msi/tests: Delete the test patch file for proper patch test cleanup. 2010-07-09 11:39:10 +02:00
Andrew Nguyen ff188900f3 msi/tests: Run the automation tests in silent mode to avoid a dialog. 2010-07-09 11:39:07 +02:00
Alexandre Julliard 044669e709 msi/tests: Check the x86 program directory first for installed files. 2010-07-02 14:14:44 +02:00
Alexandre Julliard bcb869a342 msi/tests: Reset the enumeration index for MsiEnumProducts before testing it. 2010-07-01 13:21:34 +02:00
Gustavo Henrique Milaré e45330968a msi: Update Portuguese (Brazilian) translation. 2010-06-25 13:30:33 +02:00
Hans Leidekker 2c20c35d3c msi: Avoid a crash when the cabinet file must be downloaded.
Fixes a regression caused by e5869d5d5c.
2010-06-23 15:27:05 +02:00
Hans Leidekker ff0f2b35e1 msi: Add tests for MsiLocateComponent and make them pass. 2010-06-14 14:41:45 +02:00
Hans Leidekker b4674a3c2b msi: Don't trace the contents of an output buffer. 2010-06-14 14:41:42 +02:00
Hans Leidekker 67f15e7149 msi: Implement MsiGetFeatureCostA/W. 2010-06-11 15:54:54 +02:00
Hans Leidekker 6b1a1579f6 msi: Update an existing record even if the low bit in the transform mask is set. 2010-06-11 15:54:47 +02:00
Hans Leidekker 73774b3ef8 msi: Disable an optimization in the execution of WHERE clauses.
There's no guarantee that the condition strings are in the string table.
2010-06-11 15:54:35 +02:00
Hans Leidekker 15f5b9dca3 msi: Compare file versions as numbers instead of strings. 2010-06-11 15:54:24 +02:00
Alexandre Julliard 04a6a14c1f msi: Don't allow entering text in a scroll text richedit control. 2010-06-10 14:48:28 +02:00
Hans Leidekker b8ac327e7e msi: Display the directory identifier instead of the full path in standard actions. 2010-06-09 16:15:52 +02:00
Hans Leidekker 5ecbc4f8ca msi: Directly pass the disk id to installfiles_cb.
The MEDIAINFO structure is modified by the cabinet_next_cabinet
callback if there's a continuous cabinet in the installer.
2010-06-09 16:14:24 +02:00
Hans Leidekker dcb501decd msi: Create directories right before installing files. 2010-06-09 16:12:44 +02:00
Matijn Woudt 1a159dfddc msi/tests: Testcases for CREATE TABLE. 2010-06-07 15:15:49 +02:00
Andrew Eikum c99c5a41e9 msi/tests: Fix install tests for Win9x. 2010-06-07 13:44:20 +02:00
Hwang YunSong 761ce56643 msi: Update Korean resource. 2010-06-02 16:01:57 +02:00
Hans Leidekker e1a63fd5c2 msi: Pass the control name to ControlEvent_SubscribeToEvent instead of uninitialized memory. 2010-05-31 12:46:08 +02:00
Hans Leidekker 35a0461baa msi: Improve parsing of patch summary information. 2010-05-31 12:46:08 +02:00
Hans Leidekker d17ebc4032 msi: Advance to the right cabinet in ACTION_MsiPublishAssemblies. 2010-05-31 12:46:08 +02:00
Hans Leidekker 8bfc08771c msi: Don't keep handles open to the patch database in MSI_ApplyPatchW. 2010-05-31 12:46:08 +02:00
Andrew Eikum beb0b2bc05 msi: Publish icons into the correct directory. 2010-05-31 12:14:27 +02:00
Hans Leidekker c35856dd09 msi: End the search for a directory signature if the parent cannot be found. 2010-05-25 13:29:56 +02:00
Hans Leidekker c2ce561469 msi: Add a test for properties updated by a patch. 2010-05-25 13:29:35 +02:00
Hans Leidekker c815432a50 msi: Get rid of the goto in MSI_ApplicablePatchW. 2010-05-25 13:29:22 +02:00
Alexandre Julliard 598a25de82 msi: Ignore min/max versions if their values are null. 2010-05-24 20:33:28 +02:00
Sven Baars 23f9b07d6a msi: Update Dutch translation. 2010-05-24 11:14:52 +02:00
Sven Baars cc9e357ecf msi: Fix English translation. 2010-05-24 11:14:44 +02:00
Hans Leidekker 5395c999d2 msi: Add more tests for feature overrides. 2010-05-20 16:25:44 +02:00
Hans Leidekker e16f187791 msi: Test the reference count on the installer object retrieved from a session object. 2010-05-20 16:25:44 +02:00
Hans Leidekker 2e24d34b22 msi: Fix some leaks in the tests. 2010-05-20 16:25:44 +02:00
Hans Leidekker 7a370c8d7b msi: Consistently use the allocation macros. 2010-05-20 16:25:44 +02:00
Hans Leidekker 57a6b6fb38 msi: Release the package in MsiGetMode and MsiSetMode. 2010-05-20 16:25:44 +02:00
Hans Leidekker e5dd509901 msi: Release the package in MsiGetProductPropertyW. 2010-05-20 16:25:44 +02:00
Hans Leidekker a4c25196b0 msi: Fix memory leaks in deformat_string_internal. 2010-05-20 16:25:44 +02:00
Frédéric Delanoy 2ba53f476c msi: Update French translation. 2010-05-13 19:44:59 +02:00
Hans Leidekker e60bf536eb msi: Improve some traces. 2010-05-12 18:46:35 +02:00
Hans Leidekker 6475c11c1f msi: Only extract a file when its disk id matches the media disk id.
This makes sure that an updated file is extracted from the cabinet stream
included in the patch, instead of the original source.
2010-05-12 18:46:32 +02:00
Hans Leidekker 376c2fd02b msi: Store the disk id in the MSIFILE structure. 2010-05-12 18:46:28 +02:00
Hans Leidekker dd305c3700 msi: Set the SourceDir property to the registered source if the product is installed. 2010-05-11 16:28:18 +02:00
Hans Leidekker 41a7f025e4 msi: Avoid A->W conversions in msi_publish_install_properties. 2010-05-11 16:28:12 +02:00
Hans Leidekker 347bb13fc7 msi: Set install properties just once. 2010-05-11 16:28:07 +02:00
Hans Leidekker 4d2fb55e4e msi: Add a test to show that the InstallSource property is unchanged after an upgrade. 2010-05-11 16:28:02 +02:00
Hans Leidekker 715a506fac msi: Add more patch registration tests. 2010-05-11 16:27:56 +02:00
Hans Leidekker 06a8cc2a06 msi: Add a test to show that patches are not committed to the local package database. 2010-05-11 16:27:49 +02:00
Gerald Pfeifer acd9732ffe msi: Fix the return value of msi_copy_outval in the error case. 2010-05-10 10:10:24 +02:00
Aurimas Fišeras aa2542bfcd msi: Update Lithuanian translation. 2010-05-10 10:05:32 +02:00
Detlef Riekenberg 2a9b4e0142 msiexec: Use resource in msi for a help dialog to allow translation. 2010-05-06 17:56:44 +02:00
Hans Leidekker 82d7b04c2c msi: Apply registered patches in MsiOpenPackage. 2010-05-05 15:27:12 +02:00
Hans Leidekker 881ef98479 msi: Forward MsiDetermineApplicablePatchesA to MsiDetermineApplicablePatchesW. 2010-05-05 15:27:08 +02:00
Hans Leidekker 920fc345ba msi: Register more patch details. 2010-05-04 13:15:00 +02:00
Hans Leidekker 74641ab8db msi: Handle non-null product code in MSI_ApplyPatchW. 2010-05-04 13:15:00 +02:00
Hans Leidekker 25460075cc msi: Add some tests for patch registration. 2010-05-04 13:15:00 +02:00
Hans Leidekker 23eabb44c8 msi: Make a local copy of patch packages. 2010-05-04 13:15:00 +02:00
Gerald Pfeifer be8d0bbb1e msi: Remove variable product_code which is not really used from MSI_ApplyPatchW. 2010-05-03 15:38:47 +02:00
Gerald Pfeifer effda58ad3 msi: Fix return value for ITERATE_RemoveFiles (in the error case). 2010-05-03 15:38:39 +02:00
Sven Baars 2d2823ae44 msi: Fix Dutch translation. 2010-05-03 13:55:21 +02:00
Paul Vriens 1cc32247e0 msi: Update Dutch translation. 2010-05-03 13:54:41 +02:00
Hans Leidekker 162780d112 msi: Support multiple patches per package. 2010-04-29 10:19:40 -05:00
Hans Leidekker df6b195a1a msi: Simplify msi_set_context. 2010-04-29 10:19:40 -05:00
Hans Leidekker c6f281fcf7 msi: Make sure to only open a patch database in msi_apply_patch_package. 2010-04-29 10:19:40 -05:00
Hans Leidekker 73f1294431 msi: Test the contents of some of the system tables before and after patching. 2010-04-29 10:19:40 -05:00
Hans Leidekker 319465831c msi: Store a copy of the file extension in the MSIMIME structure.
Fixes a crash that occurs when the extension foreign key points to nowhere.
Reported by Vincent Pelletier.
2010-04-29 10:19:39 -05:00
Hans Leidekker 7d9d6707c1 msi: Fix some test failures on Windows. 2010-04-29 10:19:39 -05:00
Hans Leidekker 82fdc926a2 msi: Move all file comparisons to CostFinalize.
File costing can't be done correctly on upgrades unless we know
which files are going to be overwritten.
2010-04-28 15:04:40 -05:00
Hans Leidekker 9af488d236 msi: Always evaluate component conditions.
Fixes a regression caused by 0d770c96fe.
2010-04-28 15:04:40 -05:00
Hans Leidekker 43f7bc8687 msi/tests: Use a unique product code when testing MsiConfigureFeature parameter validation.
This is to avoid ERROR_INSTALL_ALREADY_RUNNING errors on Windows.
2010-04-28 15:04:39 -05:00
Hans Leidekker d9510f5962 msi: Only set the property in the Reinstall event. 2010-04-28 15:04:39 -05:00
Hans Leidekker f23bf7a460 msi/tests: Return INVALID_FILE_SIZE from get_pf_file_size if the file can't be opened.
So we can distinguish a zero-sized file from a file that doesn't exist.
2010-04-28 15:04:39 -05:00
Hans Leidekker a5a58910b6 msi: Try to apply a patch to each product it is targeted for.
A patch may target multiple products but only one of them needs to
be installed for the patch to succeed. Fixes an Acrobat Reader 9 patch.
2010-04-21 11:57:33 +02:00
Hans Leidekker e31ee69f37 msi: Rename MSI_GetPropertyW and MSI_SetPropertyW.
For consistency with related functions msi_dup_property and msi_get_property_int
and because there is no ANSI version of these functions.
2010-04-21 11:57:33 +02:00
Hans Leidekker 44b7983913 msi: Make MSI_SetPropertyW take a pointer to a database instead of a package. 2010-04-21 11:57:33 +02:00
Hans Leidekker 186f4efa3f msi: Make msi_get_property_int and friends take a pointer to a database instead of a package.
They only operate on a database and this way we can use them before a package is created.
2010-04-21 11:57:33 +02:00
Hans Leidekker 031d2c63e8 msi: Add a test to show that MsiOpenPackage must apply any existing patches. 2010-04-21 11:57:33 +02:00
Octavian Voicu 80878d00da msi: Sync combo control value with associated property. 2010-04-19 15:13:30 +02:00
Octavian Voicu 857f979468 msi: Fill combo control with items from database. 2010-04-19 15:13:19 +02:00
Octavian Voicu 2793a4fd52 msi: Use standard window class for combo control and add error checking. 2010-04-19 15:12:48 +02:00
Octavian Voicu 9c892430ba msi: Fix crash when calling MsiGetActiveDatabase with invalid remote handle. 2010-04-19 15:12:41 +02:00
Hans Leidekker d8504e0550 msi: Handle MSIDBOPEN_PATCHFILE properly in MsiOpenDatabase. 2010-04-19 14:57:49 +02:00
Hans Leidekker 9a9faeffd8 msi: Don't assume unversioned files are present. 2010-04-19 14:57:43 +02:00
Hans Leidekker f08c355e09 msi: Add beginnings of a test module that concentrates on patches. 2010-04-19 14:57:35 +02:00
Hans Leidekker 8f53405544 msi: Remove the string index parameter from msi_addstringW. 2010-04-19 14:57:02 +02:00
Hans Leidekker fc15e565d3 msi: Make the name parameter of create_storage and create_stream constant. 2010-04-19 14:56:58 +02:00
Hans Leidekker 111d33b393 msi: Remove unused and redundant name field from STORAGE structure. 2010-04-19 14:56:53 +02:00
Hans Leidekker 109ffd0f97 msi: Make the string reference count a short.
This is safe because the reference count is stored in 2 bytes on disk.

(This is commit ff2f894888 reapplied
because of incorrect revert in 88214a72ce).
2010-04-14 18:00:39 +02:00
Hans Leidekker 33299faae4 msi: Move application of substorage transforms out of msi_parse_patch_summary. 2010-04-13 11:48:30 +02:00
Hans Leidekker bcc0ad9b07 msi: Release summary information on error in msi_parse_patch_summary. 2010-04-13 11:48:25 +02:00
Hans Leidekker a0ba56b3bd msi/tests: Run the RemoveODBC action to unregister the fake drivers. 2010-04-13 11:48:20 +02:00
Hans Leidekker 88214a72ce msi: Make the string reference count a short.
This is safe because the reference count is stored in 2 bytes on disk.
2010-04-13 11:48:14 +02:00
Hans Leidekker ff2f894888 msi: Make the string reference count a short.
This is safe because the reference count is stored in 2 bytes on disk.
2010-04-13 11:46:14 +02:00
Detlef Riekenberg d4303865e8 msi: Display a MessageBox in MsiMessageBoxEx. 2010-04-12 11:31:12 +02:00
Paul Vriens 55fbf84d26 msi/tests: Remove temporary files. 2010-04-09 11:53:58 +02:00
Hans Leidekker dd1bef3498 msi: Reset the MsiEnumPatchesExW index on failure. 2010-04-02 15:22:50 +02:00
Hans Leidekker 7aad77ae58 msi: Add tests for registering and unregistering MIME info. 2010-04-02 15:22:49 +02:00
Hans Leidekker 3050cde95e msi: Implement the UnregisterMIMEInfo standard action. 2010-04-02 15:22:49 +02:00
Hans Leidekker a7ef96f97f msi: Add tests for registering and unregistering extension info. 2010-04-02 15:22:49 +02:00
Hans Leidekker 17d7effd2a msi: Implement the UnregisterExtensionInfo standard action. 2010-04-02 15:22:49 +02:00
Hans Leidekker 3bdfa1f624 msi: Implement the UnregisterProgIdInfo standard action. 2010-04-02 15:22:48 +02:00
Hans Leidekker 90158af2dc msi: Add tests for registering and unregistering class info. 2010-04-02 15:22:48 +02:00
Hans Leidekker cf75d40dad msi: Set the action taken in the RegisterExtensionInfo and RegisterClassInfo actions. 2010-04-02 15:22:48 +02:00
Hans Leidekker 843968c056 msi: Implement the UnregisterClassInfo standard action. 2010-04-02 15:22:47 +02:00
Mikhail Maroukhine 86f76d2b48 msi: Fix compiler warnings with flag -Wcast-qual. 2010-03-29 12:14:44 +02:00
Mikhail Maroukhine f930c87fd6 objbase.h: CLSIDFromString: Add constness to the parameters declaration in accordance with MSDN. 2010-03-29 12:11:02 +02:00
Hans Leidekker 5a08c9ed6f msi: Improve the SetODBCFolders action stub. 2010-03-26 15:35:37 +01:00
Hans Leidekker 2c5e1f686b msi: Implement the Reinstall control event. 2010-03-26 15:35:32 +01:00
Hans Leidekker e5869d5d5c msi: Keep source directory and cabinet file separate. 2010-03-26 15:35:24 +01:00
Hans Leidekker 1407f1ee36 msi: Return the right error when a cabinet cannot be extracted. 2010-03-26 15:35:20 +01:00
Hans Leidekker 129161fec5 msi: Update the UI in the StartServices and StopServices actions. 2010-03-26 15:35:17 +01:00
Alexandre Julliard 4a88562ec7 msi: Reset the MsiEnumProductsW index on failure. 2010-03-26 15:34:48 +01:00
Paul Vriens d495fa1e68 msi/tests: Fix test failures on W2K with Windows Installer 3.0. 2010-03-25 13:01:29 +01:00
Paul Vriens 114aa43a54 msi/tests: Fix test failures on W2K with Windows Installer 2.x. 2010-03-25 13:01:24 +01:00
Paul Vriens 05d0787d08 msi/tests: Fix test failures on W2K with Windows Installer 2.x. 2010-03-24 21:53:05 +01:00
Hans Leidekker 1d453a1ff0 msi: Search network sources in addition to disk sources. 2010-03-23 13:24:27 +01:00
Hans Leidekker faf750f2f7 msi: Remove stream from streams cache before destroying it. 2010-03-23 13:24:27 +01:00
Hans Leidekker 367c2048a1 msi: Don't crash on null last parameter in MsiDecomposeDescriptor. 2010-03-23 13:24:27 +01:00
Hans Leidekker d0856c0ac5 msi: Display REG_EXPAND_SZ values too in the WriteRegistryValues action. 2010-03-23 13:24:26 +01:00
Hans Leidekker 18a85caa3c msi: Update the UI in the UnpublishFeatures action. 2010-03-23 13:24:26 +01:00
Hans Leidekker 706c4f77e8 msi: Implement a second cabinet extractor on top of IStream and use it to extract embedded cabinets.
Currently a cabinet stream is read into memory and then written to a file,
which is then extracted like an external cabinet file. This uses more time
and disk space than necessary and fails if the cabinet is too large to fit
into memory.
2010-03-23 13:24:26 +01:00
Hans Leidekker 27e90274b5 msi: Set the action taken in the ProcessComponents and InstallFiles actions. 2010-03-23 13:24:26 +01:00
Hans Leidekker 8722d0c44a msi: The AppSearch and CCPSearch actions must be run only once. 2010-03-23 13:24:26 +01:00
Hans Leidekker a4be941df9 msi: Display the file identifier instead of the filename in the SelfRegModules and SelfUnregModules actions. 2010-03-23 13:24:26 +01:00
Paul Vriens ba51763f4a msi/tests: Remove temporary files. 2010-03-22 10:42:48 +01:00
Alexandre Julliard fbef7217b9 makefiles: Remove the no longer needed explicit dependencies for bison files. 2010-03-16 13:28:24 +01:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Nikolay Sivov 5c6de7957e msi: Convert IWineMsiRemoteDatabase BSTR parameters to LPCWSTR to avoid typecast. 2010-03-15 14:18:06 +01:00
Paul Vriens e5c182f0df msi/tests: Remove a key after running tests. 2010-03-15 13:17:38 +01:00
Hans Leidekker 73d316c58d msi: Also update the UI when removing files listed in the RemoveFiles table. 2010-03-05 13:14:46 +01:00
Hans Leidekker ab9a181326 msi: Update the UI in the RegisterUser action. 2010-03-05 13:14:41 +01:00
Hans Leidekker 4341f18c7e msi: Update the UI in the RegisterProduct action. 2010-03-05 13:14:36 +01:00
Hans Leidekker c547fb3629 msi: Display the product code in the PublishProduct action. 2010-03-05 13:14:32 +01:00
Hans Leidekker e90fbf09c7 msi: Update the UI in the MsiPublishAssemblies action. 2010-03-05 13:14:27 +01:00
Hans Leidekker a358c7f6d4 msi: Update the UI in the MoveFiles action. 2010-03-05 13:14:23 +01:00
Hans Leidekker aba6afc85e msi: Move the implementation of the MoveFiles action to files.c. 2010-03-05 13:14:19 +01:00
Hans Leidekker a5549305de msi: Update the UI in the RemoveODBC action. 2010-03-05 13:14:11 +01:00
Hans Leidekker eff0503f64 msi: Update the UI in the InstallODBC action. 2010-03-05 13:14:06 +01:00
Hans Leidekker bb9451adae msi: Display the product code in the FindRelatedProducts action. 2010-03-05 13:14:01 +01:00
Hans Leidekker 2666294f64 msi: Properly update the UI in the DuplicateFiles and RemoveDuplicateFiles actions. 2010-03-05 13:13:57 +01:00
Hans Leidekker 3c36d9d1f9 msi: Update the UI in the DeleteServices action. 2010-03-05 13:13:52 +01:00
Hans Leidekker a70d86d3c9 msi: Display directory identifier instead of the full path in the CreateFolders action. 2010-03-05 13:13:47 +01:00
Hans Leidekker 868e6f2bc8 msi: Update the UI in the AppSearch action. 2010-03-05 13:13:42 +01:00
Hans Leidekker 31d0664ebd msi: Update the UI in the AllocateRegistrySpace action. 2010-03-05 13:13:37 +01:00
Hans Leidekker 353035fadd msi: Initialize a couple of variables.
Found by Valgrind.
2010-03-04 12:30:29 +01:00
Hans Leidekker aaf5ffb2b5 msi: Add tests for removing environment strings. 2010-03-03 15:23:28 +01:00
Hans Leidekker f62211198a msi: Implement the RemoveEnvironmentStrings standard action. 2010-03-03 15:23:23 +01:00
Hans Leidekker 7b6858546c msi: Strip leading text style label from control text before lookup in binary table. 2010-03-03 15:23:15 +01:00
Andrew Nguyen 0270f18e11 msi: Correctly set the process working directory in custom action type 34. 2010-03-03 11:52:37 +01:00
Hans Leidekker 75ec82bbaf msi: Add tests for removing values from .ini files. 2010-03-02 16:12:23 +01:00
Hans Leidekker b891d0888a msi: Implement the RemoveIniValues standard action. 2010-03-02 16:12:17 +01:00
Hans Leidekker 1fe30e0015 msi: Skip the FindRelatedProducts action when product is already installed. 2010-03-02 16:12:08 +01:00
Hans Leidekker e637839a83 msi: Improve a trace. 2010-03-02 16:11:57 +01:00
Hans Leidekker 6c6b2a7a18 msi: Look at the requested action when publishing assemblies, not the action taken. 2010-03-02 16:11:53 +01:00
Hans Leidekker ff3ed5f051 msi: Look at the requested action when moving files, not the action taken. 2010-03-02 16:11:49 +01:00
Hans Leidekker c13d84fffc msi: Look at the requested action when deleting services, not the action taken. 2010-03-02 16:11:44 +01:00
Hans Leidekker 2d3676d912 msi: Look at the requested action when stopping services, not the action taken. 2010-03-02 16:11:40 +01:00
Hans Leidekker 87448dcaeb msi: Look at the requested action when installing services, not the action taken. 2010-03-02 16:11:36 +01:00
Hans Leidekker c8308ef99d msi: Only create environment strings when the component is set to be installed. 2010-03-02 16:11:31 +01:00
Hans Leidekker a64372ca44 msi: Improve a trace. 2010-03-02 16:11:24 +01:00
Hans Leidekker 930b5e1c68 msi: The table for isolated components is called IsolatedComponent. 2010-02-26 14:20:53 +01:00
Hans Leidekker fd5887e5a9 msi: Remove empty directories as part of the RemoveFiles action. 2010-02-26 14:20:48 +01:00
Hans Leidekker b2c8f35107 msi: Add tests for removing registry values. 2010-02-25 16:00:58 +01:00
Hans Leidekker 342f866044 msi: Implement the RemoveRegistryValues standard action. 2010-02-25 16:00:51 +01:00
Hans Leidekker 5c59617121 msi: Add tests for creating and removing duplicate files. 2010-02-23 13:31:04 +01:00
Hans Leidekker 253a7fa73c msi: Implement the RemoveDuplicateFiles standard action. 2010-02-23 13:31:01 +01:00
Hans Leidekker 587e107398 msi: Allocate sufficient memory in ITERATE_InstallODBCDriver and ITERATE_InstallODBCTranslator.
Found by Valgrind.
2010-02-22 13:15:22 +01:00
Hans Leidekker a620a84f4c msi/tests: Free exception information.
Found by Valgrind.
2010-02-22 13:15:16 +01:00
Hans Leidekker ba090ede7b msi: All stream names starting with 0x0005 are unencoded.
Fixes a regression caused by 1ff9923148.
2010-02-22 13:15:09 +01:00
Hans Leidekker ec5ae81c8d msi: Make msi_reset_folders static. 2010-02-22 13:14:35 +01:00
Alexandre Julliard 6164ce2d82 makefiles: Use the standard C_SRCS variable as the list of test files.
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Hans Leidekker 1ff9923148 msi: Add summary information stream to the streams table. 2010-02-19 13:06:53 +01:00
Hans Leidekker ddb2091623 msi: Fix a memory leak. 2010-02-19 13:06:46 +01:00
Hans Leidekker 9f68142118 msi: Encode stream name in the callers of db_get_raw_stream. 2010-02-19 13:06:41 +01:00
Hans Leidekker d9e40b8219 msi: Destroy streams cache when applying a transform. 2010-02-19 13:06:36 +01:00
Hans Leidekker f80f1cc2db msi: Accept '\5' and '-' in SQL identifiers. 2010-02-19 13:06:32 +01:00
Hans Leidekker f4bcb105d2 msi: Include run mode in fixmes. 2010-02-19 13:06:27 +01:00
Hans Leidekker 65c68efc8d msi: Implement MSIRUNMODE_MAINTENANCE and MSIRUNMODE_REBOOTATEND for MsiGetMode. 2010-02-18 14:39:11 +01:00
Hans Leidekker a11882fc0f msi: Implement MsiSetMode. 2010-02-18 14:39:06 +01:00
Hans Leidekker 7b660bb3d8 msi: Add tests for publishing and unpublishing components. 2010-02-17 10:57:45 +01:00
Hans Leidekker 0f0e81d14a msi: Implement the UnpublishComponents standard action. 2010-02-17 10:57:40 +01:00
Hans Leidekker d95e3eb4d2 msi: PublishComponents must look at the requested install state of the feature, not the component. 2010-02-17 10:57:35 +01:00
Hans Leidekker 9cbb80d984 msi: Only run the CreateFolder and RemoveFolder actions when the component is set to be installed or removed, respectively. 2010-02-16 12:29:08 +01:00
Hans Leidekker c32d9d7004 msi: Get rid of ACTION_VerifyFeatureForAction. 2010-02-16 12:29:01 +01:00
Hans Leidekker 598c542607 msi: Get rid of ACTION_VerifyComponentForAction. 2010-02-16 12:28:56 +01:00
Hans Leidekker 54391a11c0 msi: Update the UI when registering or unregistering type libraries. 2010-02-16 12:28:48 +01:00
Hans Leidekker 438ad93b22 msi: Implement and test MsiGetPatchInfoA/W. 2010-02-15 16:36:39 +01:00
Hans Leidekker b4bdfe6746 msi: Add tests for creating and removing shortcuts. 2010-02-15 12:20:02 +01:00
Hans Leidekker 2276c291fc msi: Implement the RemoveShortcuts standard action. 2010-02-15 12:20:02 +01:00
Paul Vriens 983cff23fa msi/tests: Fix a test failure on Win9x/WinMe. 2010-02-12 16:39:39 +01:00
Hans Leidekker f7879b43d5 msi: Fix a memory leak in ITERATE_StartService.
Found by Valgrind.
2010-02-12 14:49:38 +01:00
Hans Leidekker 82d50fa675 msi: Return the right error from ITERATE_RegisterTypeLibraries. 2010-02-12 14:49:38 +01:00
Hans Leidekker 98761037ab msi: Implement the UnregisterTypeLibraries standard action. 2010-02-12 14:49:38 +01:00
Hans Leidekker bbfaf6af75 msi: Add tests for installing and removing ODBC drivers. 2010-02-11 14:38:45 +01:00
Hans Leidekker 28bf8e1f0d msi: Implement the RemoveODBC standard action. 2010-02-11 14:38:45 +01:00
Hans Leidekker 2568e5ec65 msi: Make sure attrs variable is properly double nul-terminated in ITERATE_InstallODBCDataSource. 2010-02-11 14:38:45 +01:00
Hans Leidekker 4742dfba98 msi: The File_Setup field in the ODBCDriver and ODBCTranslator tables is optional. 2010-02-11 14:38:45 +01:00
Paul Vriens 312e4f6b23 msi/tests: Run the 'in_use' tests again. 2010-02-10 17:31:28 +01:00
Hans Leidekker 068cb1291b msi: Add a partial implementation of the ValidateProductID standard action. 2010-02-10 14:31:49 +01:00
Hans Leidekker 7331b3ca98 msi: Implement the UnregisterFonts standard action. 2010-02-10 14:31:15 +01:00
Hans Leidekker 5df62d0c42 msi: Add stub implementations of the DisableRollback and InstallAdminPackage standard actions. 2010-02-10 14:31:05 +01:00
Alexandre Julliard 9644d1dcd7 makefiles: Generate a general catch-all dependency on .tab.h files to replace the manually maintained ones. 2010-02-08 20:58:00 +01:00
Hans Leidekker f5af1ca399 msi: Implement the SelfUnregModules standard action. 2010-02-05 15:33:11 +01:00
Hans Leidekker 3864ddf9f2 msi: Implement the RemoveFolders standard action. 2010-02-05 15:33:05 +01:00
Marcus Meissner 5c4a3bd61b msi: Handle some error returns (Coverity). 2010-02-04 17:27:34 +01:00
Marcus Meissner 9fab263d39 msi: Call Custom function via wrapper. 2010-02-04 14:06:34 +01:00
Hans Leidekker b9da31f112 msi: Implement the DeleteServices standard action. 2010-02-04 13:39:29 +01:00
Hans Leidekker 3d38c07706 msi: Add tests for the _Streams table implementation. 2010-02-04 13:39:29 +01:00
Hans Leidekker 19b50cff34 msi: Fix an off-by-one error in STREAMS_find_matching_rows. 2010-02-04 13:39:29 +01:00
Hans Leidekker 95a21c27da msi: Give the Name field from the _Streams table a valid type. 2010-02-04 13:39:29 +01:00
Hans Leidekker 24dd10c6b0 msi: Make room for the new row in STREAMS_insert_row. 2010-02-04 13:39:28 +01:00
Hans Leidekker c1940c1c5f msi: Allow overwriting an existing stream in STREAMS_set_row. 2010-02-04 13:39:28 +01:00
Hans Leidekker dcbe0fdff2 msi: Encode the stream name before trying to open it. 2010-02-04 13:39:28 +01:00
Hans Leidekker b833ae0263 msi: Improve error handling in STREAMS_set_row and add_streams_to_table. 2010-02-04 13:39:28 +01:00
Hans Leidekker 5741df2e58 msi: Implement STREAMS_get_row. 2010-02-04 13:39:28 +01:00
Hans Leidekker 74d6fe35a2 msi: Remove unused and redundant name field from STREAM structure. 2010-02-04 13:39:28 +01:00
Juan Lang aafcf1a536 msi: Remove function name from fixme. 2010-02-04 13:39:28 +01:00
Michael Stefaniuc 643f55abab msi: Don't print the function name twice in a WARN. 2010-02-04 13:39:28 +01:00
André Hentschel 06e15ee9e6 msi: Copy InstallerImpl_LastErrorRecord to use it for DatabaseImpl. 2010-02-04 13:39:26 +01:00
Hans Leidekker 9a0020ade9 msi: Move some helpers to the module where they are used. 2010-02-03 11:31:48 +01:00
Hans Leidekker 29f47299c2 msi: Implement the ScheduleReboot standard action. 2010-02-03 11:31:48 +01:00
Hans Leidekker 552a9c9b85 msi: Add a stub implementation of the SetODBCFolders standard action. 2010-02-03 11:31:48 +01:00
Hans Leidekker 743ead45c8 msi: Test duplicating files from a nonexistent component. 2010-02-02 11:47:19 +01:00
André Hentschel 3299bfd471 msi: Fix crash with access to component. 2010-02-02 11:47:19 +01:00
Paul Vriens 086711818b msi/tests: Fix some test failures on Win9x up to W2K. 2010-02-02 11:47:19 +01:00
Luca Bennati 2197da7770 msi: Fix Italian translation. 2010-02-01 12:48:13 +01:00
Hans Leidekker 246f9305e9 msi: Don't fail if the service to start is already running. 2010-02-01 12:11:18 +01:00
Michael Stefaniuc a0774cabab msi: Avoid using HIWORD() on string pointers. 2010-01-29 17:25:49 +01:00
Igor Paliychuk 0ee3836844 msi: Add Ukrainian translations. 2010-01-29 13:30:04 +01:00
Hans Leidekker 1d0db2b19b msi: Don't create all directories in the CreateFolders action.
The CreatFolders action should create only the directories listed in the
CreateFolder table, the rest will be created during the InstallFiles action.
Fixes the EndNote 8 installer.
2010-01-28 15:30:26 +01:00
Hans Leidekker aa19638cb9 msi: Improve some traces. 2010-01-28 15:30:25 +01:00
Hans Leidekker 7c9cb1e1be msi: Name and arguments in the service control table are formatted strings. 2010-01-28 15:30:25 +01:00
Hans Leidekker 4d14ea47f7 msi: Add a test for MsiSetTargetPath. 2010-01-28 15:30:25 +01:00
Hans Leidekker 0d770c96fe msi: Don't evaluate the condition table when there are overrides. 2010-01-27 18:46:08 +01:00
Hans Leidekker 36b654e695 msi: Add tests for updating rows in join tables. 2010-01-22 13:09:15 +01:00
Hans Leidekker 882e4fb233 msi: Add support for updating rows in join tables. 2010-01-22 13:09:11 +01:00
Alexandre Julliard de3fa09cb2 msi: Add a partial stub for the ValidateProductID control event. 2010-01-20 15:36:00 +01:00
Jason Edmeades 06c45a8d59 msi: Correct the setting of environment variables.
Contrary to the MSDN, you can 'create only' whilst using a previous value
(ie +-variable and [~];value). This breaks the install of an application
I was debugging who uses that throughout for all their variables. In
addition whilst adding some tests I've also cleaned up invalid prefix
syntax handling and semicolon removal if the original string is empty.
2010-01-20 15:34:19 +01:00
Hans Leidekker 72393c55e9 msi: Add a test to exersize the code to retrieve rows from join tables. 2010-01-19 16:50:56 +01:00
Hans Leidekker 2bfce6cfdc msi: Fix parsing of feature overrides. 2010-01-18 14:39:23 +01:00
Hans Leidekker 1423ef9923 msi: Support retrieving rows from join tables. 2010-01-18 14:39:17 +01:00
Nathan Gallaher 0c437f558c msi: Queue dynamically allocated strings in cond.y. 2010-01-08 17:03:15 +01:00
André Hentschel 2e339c471e msi/tests: Remove dead url. 2010-01-06 09:52:52 +01:00
Andrew Eikum d1a916a614 msi: Implement recursive INSTALLSTATE updates for msi treeview selector. 2010-01-06 09:51:17 +01:00
Alexandre Julliard dcf1a0c891 msi: Fix some pointer cast warnings on 64-bit. 2009-12-31 12:12:15 +01:00
Marcus Meissner e2f7946bbc msi: Removed unnecessary NULL check. 2009-12-22 13:48:26 +01:00
Paul Vriens 4749b079b5 msi/tests: Fix test failures on Win9x/WinMe. 2009-12-21 15:01:24 +01:00
Hans Leidekker 839e487c84 msi: Propagate errors from IStorage_OpenStream again in db_get_raw_stream.
Fixes a regression introduced by ef522c5ef0.
2009-12-18 11:47:46 +01:00
Hans Leidekker 699cfc915a msi: Avoid a crash in STREAMS_delete. 2009-12-18 11:47:39 +01:00
James Hawkins d9c52bfa70 msi: Free the current filename if we choose to not extract the file. 2009-12-18 11:45:30 +01:00
Hans Leidekker 178ebae4c0 msi: Reset the ALLUSERS property from to 2 to 1. 2009-12-17 14:21:39 +01:00
Hans Leidekker ff2aa7e3a6 msi: Fix download of installer packages. Return errors from msi_download_file and copy_package_to_temp. 2009-12-17 14:21:32 +01:00
James Hawkins 26d541b2a9 msi: Initialize type. If the value did not exist, type was uninitialized and passed to RegSetValueExW. 2009-12-17 13:09:46 +01:00
James Hawkins 6b403d1a31 msi: Move MSITRANSFORM and MSISTREAM and associated methods to the dabatase implementation file as they are database objects/methods. 2009-12-17 12:53:34 +01:00
James Hawkins a2f5d0e270 msi: Free the cached streams when closing the database. 2009-12-17 12:53:27 +01:00
Henri Verbeet 2102dbe854 msi: Remove an unused field from the string table. 2009-12-17 12:43:25 +01:00
Hans Leidekker 2c526b7fe7 msi: Replace the string table hash with a sorted index. 2009-12-16 13:04:35 +01:00
Hans Leidekker ef522c5ef0 msi: Clone the open stream instead of trying to open a stream again. 2009-12-16 13:04:35 +01:00
James Hawkins 8ed06175a0 msi: Free the temp buffer if we haven't assigned it to *appValue. 2009-12-16 12:42:39 +01:00
James Hawkins b530f38baa msi: Refactor freeing the import sql strings. 2009-12-16 12:42:33 +01:00
James Hawkins 1b7238a969 msi: Simplify ITERATE_WriteEnvironmentString.
Now we only allocate enough memory to exactly match the size of the
constructed string. Before, we were leaving some memory uninitialized
and overwriting the allocated memory in certain circum.
2009-12-16 12:27:11 +01:00
James Hawkins be1b1605f9 msi: Free the columns view if check_column_exists fails. 2009-12-16 12:26:59 +01:00
James Hawkins 1a4a112d76 msi: Fix a leaking record handle. 2009-12-16 12:26:51 +01:00
James Hawkins b93c2c3544 msi: Free the join view if we fail to create the table view. 2009-12-16 12:26:45 +01:00
James Hawkins 1692e1fe67 msi: Keep track of the current view in the sql parser.
This allows us to free said view in the case of a syntax error. This
also allows us to get rid of a few places where we tried to clean up
the view ourselves in the parsing code.
2009-12-16 12:26:38 +01:00
Hans Leidekker 6df6332198 msi: Reject greater than and less than string comparisons in WHERE clauses. 2009-12-15 11:45:04 +01:00
James Hawkins 8fe8a100c8 msi: Free the enumeration data returned by IEnumSTATSTG_Next. 2009-12-14 12:20:48 +01:00
James Hawkins 7abb42a994 msi: Free each table object when deleting the join view. 2009-12-14 12:20:43 +01:00
James Hawkins ee2cf9a597 msi: Free the Streams and Storages view object in their respective delete methods. 2009-12-14 12:20:39 +01:00
James Hawkins f45db6eee7 msi: Implement DROP_delete that deletes the drop view. We were leaking the view before. 2009-12-14 12:20:33 +01:00
James Hawkins 37a058208d msi: Fix a record handle leak. 2009-12-14 12:20:25 +01:00
James Hawkins d2fe01aa32 msi: Free each storage name when deleting the storages view. 2009-12-14 12:20:20 +01:00
James Hawkins 3188792a30 msi: Store the number of types we queried. We were leaking these types because we didn't have the correct count.
This change also fixes weird 8-space indenting in free_merge_tables.
2009-12-14 12:20:14 +01:00
James Hawkins 12134243c3 msi: Free each stream name when deleting the streams view. 2009-12-14 12:20:03 +01:00
James Hawkins a7fe36b327 msi: Don't free str until the last instance of its use. 2009-12-14 12:19:58 +01:00
James Hawkins f4829063bc msi: Make sure we don't access pcchValueBuf when szBuffer is NULL, as pcchValueBuf is not required to be initialized in this case. 2009-12-14 12:19:52 +01:00
Alexandre Julliard 8b50188f57 msi/tests: Fix a handle leak. 2009-12-11 20:20:30 +01:00
Chris Schafer 350cdd2fe5 msi/tests: Remove some barriers to running msi tests in parallel. 2009-12-11 17:47:30 +01:00
James Hawkins 50833f0780 msi: Wine fails the test and passes us a Session object back, so free it in this case. 2009-12-11 12:16:27 +01:00
James Hawkins e38c36a1f9 msi: Refactor the Installer.RelatedProducts method into InstallerImpl_RelatedProducts. 2009-12-11 12:16:27 +01:00
James Hawkins 105933f202 msi: Refactor the Installer.Products method into InstallerImpl_Products. 2009-12-11 12:16:27 +01:00
James Hawkins 9f09d47be3 msi: Refactor the Installer.ProductInfo method into InstallerImpl_ProductInfo. 2009-12-11 12:16:27 +01:00
James Hawkins fd2884a155 msi: Refactor the Installer.ProductState method into InstallerImpl_ProductState. 2009-12-11 12:16:27 +01:00
James Hawkins 11b4fe743a msi: Refactor the Installer.RegistryValue method into InstallerImpl_RegistryValue. 2009-12-11 12:16:27 +01:00
James Hawkins 138d5f1f6c msi: Refactor the Installer.Version method into InstallerImpl_Version. 2009-12-11 12:16:27 +01:00
James Hawkins 96c480b880 msi: Refactor the Installer.InstallProduct method into InstallerImpl_InstallProduct. 2009-12-11 12:16:27 +01:00
James Hawkins 851e4779be msi: Refactor the remaining Installer object stub methods into respective functions. 2009-12-11 12:16:27 +01:00
James Hawkins dc0889752a msi: Refactor the Installer.UILevel method into InstallerImpl_UILevel. 2009-12-11 12:16:27 +01:00
James Hawkins 18ba830ff8 msi: Refactor the Installer.SummaryInformation method to InstallerImpl_SummaryInformation. 2009-12-11 12:16:27 +01:00
James Hawkins 554e1318c0 msi: Refactor Installer.OpenProduct and Installer.OpenDatabase into respective functions. 2009-12-11 12:16:27 +01:00
James Hawkins b33d47e773 msi: Refactor the Installer.OpenPackage method into InstallerImpl_OpenPackage. 2009-12-11 12:16:26 +01:00
James Hawkins b73389b6bf msi: Refactor the Installer.CreateRecord method into InstallerImpl_CreateRecord. 2009-12-11 12:16:26 +01:00
James Hawkins ae58e29e5e msi: Stub out a few more Installer object methods. 2009-12-11 12:16:26 +01:00
James Hawkins 9ab7d9e21a msi: Close the original record before copying new data into it. 2009-12-11 12:16:26 +01:00
James Hawkins a44b653d53 msi: Fix a handle leak in the record tests. 2009-12-11 12:16:26 +01:00
James Hawkins d90aca35c4 msi: Add a NULL terminator to file->dest after reallocation. 2009-12-08 12:36:51 +01:00
James Hawkins b13803ea40 msi: Free the column info data when updating the table column info. 2009-12-08 12:36:36 +01:00
James Hawkins c20902314b msi: Make sure to free the extra row data when deleting a row. 2009-12-08 12:36:28 +01:00
Hans Leidekker 3840de5b1e msi/tests: Loosen check on kernel32 language version. 2009-12-07 14:18:29 +01:00
James Hawkins 25ab693008 msi: The second parameter to Installer.OpenPackage is optional, so set a default value of 0 if the parameter is not provided. 2009-12-07 09:49:06 +01:00
James Hawkins 1ff6c08621 msi: Verify that the first parameter to Installer.OpenPackage is a VT_BSTR.
It seems ugly to open up the parameters in pDispParams, but
DispGetParam will happily convert a VT_EMPTY to a VT_BSTR and not
return an error.
2009-12-07 09:49:06 +01:00
James Hawkins 4687604356 msi: It's possible to send in more than two parameters to Installer.OpenPackage, but sending in zero parameters should return DISP_E_TYPEMISMATCH. 2009-12-07 09:49:06 +01:00
James Hawkins b614052895 msi: Add more tests for the Installer.OpenPackage method.
The following series fixes a few leaks reported by valgrind.  We were
leaking exception info caused by Installer.OpenPackage failing when we
didn't expected it.
2009-12-07 09:49:06 +01:00
James Hawkins 7d3e664312 msi: MsiSetMode returns a UINT system error code, not a BOOL. 2009-12-04 14:34:57 +01:00
James Hawkins 6b8b82ef13 msi: ExpandEnvironmentStringsW returns the required size in characters, so multiply the required size by sizeof(WCHAR) when allocating the buffer. 2009-12-03 10:22:40 +01:00
Hans Leidekker fd8620f6c0 msi/tests: Don't check more bytes than written to the file. 2009-12-01 13:16:30 +01:00
Nathan Gallaher abb23d8bd5 msi: Support _Streams, _Storages tablename prefixes in SELECT. 2009-11-24 15:54:06 +01:00
Nathan Gallaher f7ba4b2ec0 msi/tests: Test for SELECT table.column FROM table.
Make sure that mixing table columns returns the expected
data. eg:  SELECT t1.action, t2.action FROM t1, t2
should return distinct data.
2009-11-24 15:54:00 +01:00
Nathan Gallaher 5c56e1f440 msi: Add support for table names in select statements.
Propagate tablename from 'SELECT tablename.column from tablename' queries
into VIEW_find_column(). Previously, the tablename had been dropped.
2009-11-24 15:53:53 +01:00
Michael Martin d28eabda5c msi: Shedule rename operation also for ERROR_USER_MAPPED_FILE. 2009-11-20 14:37:09 +01:00
Hans Leidekker 83e7a1214a msi: Sign extend the value when converting from a small integer. 2009-11-19 11:50:36 +01:00
Piotr Caban 1f7a07ebe3 oleaut32: Ignore milliseconds in VarDateFromUdate implementation. 2009-11-19 11:35:40 +01:00
Hans Leidekker bd4bc16147 msi: Don't set the ALLUSERS property. 2009-11-17 16:05:27 +01:00
Hans Leidekker fd549aa25d msi: Set the LogonUser property. 2009-11-17 16:05:15 +01:00
Hans Leidekker 84ddfd8739 msi: Test more variations of environment string prefixes. 2009-11-13 13:35:58 +01:00
Hans Leidekker e52531ab1d msi: Handle environment strings without a value. 2009-11-13 12:21:46 +01:00
Rob Shearman b960b967c9 msi: Improve stub for MsiGetFeatureCost{A, W} and hook the stub into the VolumeCostList dialog control. 2009-11-09 19:43:23 +01:00
Francois Gouget 97619affe5 msi/tests: Make the handler_xxx() functions static.
Also remove extraneous semi-colons.
2009-11-09 19:40:44 +01:00
Detlef Riekenberg 0839ae88ca msi/tests: MsiSetExternalUIRecord not present before Installer 3.1. 2009-11-05 11:57:21 +01:00
Hans Leidekker 808343fb5b msi: Implement MsiSetExternalUIRecord. 2009-11-03 22:23:08 +01:00
Hans Leidekker 90fa4fe155 msi: Unicode and ANSI global UI handlers are mutually exclusive. 2009-11-03 22:23:01 +01:00
Hans Leidekker 4b5248c9e0 msi: Add support for the Unicode version of the global UI handler. 2009-11-03 22:22:54 +01:00
Dmitry Timoshkov 0513f3c4e6 msi: Add support for msidbControlAttributesProgress95. 2009-10-29 15:48:38 +01:00
Dmitry Timoshkov df8780356b msi: Limit the progress to its maximal value, use MulDiv for better results. 2009-10-29 15:48:27 +01:00
Nate Gallaher 07c321ba73 msi: Test that a query on a join of two tables returns data from the correct table. 2009-10-27 14:01:50 +01:00
Nate Gallaher cc366e1282 msi: Add tablename tracking to VIEW_find_column.
This fixes the bug where multiple columns of the same name, but
different tables are members of a join. Any attempt to refer to these
columns will resolve to the first available column with that name,
irregardless of any tablename modifier.
2009-10-27 14:01:23 +01:00
Hans Leidekker 2eb33f5bcb msi: Avoid accessing uninitialized memory in ACTION_AppSearchReg.
Found by valgrind.
2009-10-27 10:53:56 +01:00
Hans Leidekker 3f70b07870 msi/tests: Fix a couple of user SID string leaks.
Found by valgrind.
2009-10-27 10:53:42 +01:00
Hans Leidekker e58ebbf3e0 msi: Fix calculation of required buffer size in MsiSummaryInfoGetPropertyW. 2009-10-23 12:04:38 +02:00
Hans Leidekker 394a437723 msi/tests: Free the string returned from ConvertSidToStringSid.
Found by valgrind.
2009-10-23 12:04:06 +02:00
Hans Leidekker 483590a3c5 msi/tests: Avoid accessing uninitialized memory.
Found by valgrind.
2009-10-23 12:04:00 +02:00
Hans Leidekker a15e6cbb1a msi: Avoid accessing uninitialized memory.
Found by valgrind.
2009-10-21 17:05:54 +02:00
Hib Eris 47ec8ab0f3 msi: Remove table_find_insert_idx().
The function table_find_insert_idx() is replaced by the more generic
function find_insert_index().
2009-10-20 15:57:25 +02:00
Hib Eris f6ae2507ef msi: Fix table rows order. 2009-10-20 15:57:09 +02:00
Hib Eris efacff81d6 msi: Add function get_table_value_from_record. 2009-10-20 15:57:01 +02:00
Hib Eris 9dddb94b99 msi: Fix merging string type checks. 2009-10-20 15:55:43 +02:00
Hib Eris 925fb3b408 msi/tests: Add tests for rows order. 2009-10-20 15:07:07 +02:00
Hib Eris 8d49633275 msi/tests: Add test for merging string types. 2009-10-20 15:03:39 +02:00
Hib Eris a3214c978d msi: Fix a failure with merging existing tables. 2009-10-20 15:03:33 +02:00
Hib Eris 6aad5cb307 msi/tests: Add tests for merging existing tables. 2009-10-20 15:03:24 +02:00
Hans Leidekker afcd2c5358 msi: Open the database read/write in MSI_OpenPackageW.
Fixes transforms that add binary streams.
2009-10-20 14:40:01 +02:00
Hans Leidekker 8dd3d389b0 msi: Create the local copy before opening the database. 2009-10-20 14:39:55 +02:00
Hans Leidekker 33d9f37f4a msi: Always create a temporary copy of the package. 2009-10-20 14:39:47 +02:00
Hans Leidekker 534f20bc49 msi: Get rid of some redundant initializations. 2009-10-19 15:02:42 +02:00
Hans Leidekker b7a81df452 msi: Allocate MSISCRIPT structure at package creation time. 2009-10-19 15:02:36 +02:00
Hans Leidekker a187b43ddd msi: Eliminate the last parameter from ACTION_PerformActionSequence. 2009-10-15 14:17:24 +02:00
Hans Leidekker e3aa2f33d9 msi: Use a function to test the UI level instead of passing a boolean around. 2009-10-15 14:17:18 +02:00
Hans Leidekker 796eed1dc7 msi: Reorder functions to avoid forward declarations. 2009-10-15 14:17:06 +02:00
Hans Leidekker 55b89f4a66 msi: Add some tests for MsiGetTargetPathW. 2009-10-15 14:16:57 +02:00
Hans Leidekker 843382f284 msi: Define common strings only once. 2009-10-15 14:16:50 +02:00
Francois Gouget fe935e8d50 Assorted spelling fixes. 2009-10-08 12:17:31 +02:00
Alexandre Julliard fa6ffb4d5d Fix empty function prototypes. 2009-10-07 12:24:53 +02:00
Paul Vriens 35df8f2d69 msi/tests: Skip some tests on Win9x/WinMe. 2009-10-02 11:51:23 +02:00
Hans Leidekker 9c8b83ce01 msi: Schedule a rename operation when the file to overwrite is in use. 2009-10-01 12:04:02 +02:00
Michael Stefaniuc f8ec47d5c6 msi/tests: Remove trailing '\'. 2009-09-29 18:08:30 +02:00
Hans Leidekker c0c6daeb5a msi: Test installing over in-use files. 2009-09-29 16:06:23 +02:00
Hans Leidekker 46ac59f988 msi: Don't set the Installed property twice. 2009-09-29 16:06:23 +02:00
Hans Leidekker 2beee126a7 msi: Test the Installed property. 2009-09-29 16:06:22 +02:00
Hans Leidekker 1b7d1d4c87 msi: Respect UI level in custom action type 19. 2009-09-29 16:06:22 +02:00
Hans Leidekker 4086ff6248 msi: Add tests to show that the condition table is ignored when there are overrides. 2009-09-22 16:20:51 +02:00
Hans Leidekker ae3418fdd9 msi: Test last used source property in combination with cabinet storage. 2009-09-22 16:20:48 +02:00
Paul Vriens c6e7558cda msi/tests: Fix some test failures on Vista/W2K8. 2009-09-22 16:15:36 +02:00
Paul Vriens 6867de0714 msi/tests: Skip some tests on Win9x/WinMe. 2009-09-18 08:56:16 -05:00
Hans Leidekker 659768e203 msi: Set or override a user environment string when there is no prefix. 2009-09-16 12:57:33 -05:00
Hans Leidekker 86e08ea4e4 msi: Don't append the cabinet file name in find_published_source. 2009-09-16 12:56:57 -05:00
Hans Leidekker 60d0cf41b3 msi: GetDriveType and GetVolumeInformation require a path terminated by a slash. 2009-09-16 12:56:50 -05:00
Hans Leidekker fc15d6d5ad msi: Downgrade two ERRs to WARNs. 2009-09-16 12:56:44 -05:00
Hans Leidekker 90d283f0eb msi: Improve a trace. 2009-09-16 12:56:38 -05:00
Hans Leidekker 5669e67d48 msi: Set ProductState property. 2009-09-11 16:19:54 +02:00
Hans Leidekker dd1ca6ca5e msi: Ignore CoInitialize failure in ACTION_CreateShortcuts. 2009-09-10 22:32:13 +02:00
Hans Leidekker 3a7c2d005c msi: Open the database read/write when the update count is greater than zero in MsiGetSummaryInformation. 2009-09-10 10:50:28 +02:00
Hans Leidekker 92cd7a8fa0 msi: Add a test to show that creating shortcuts works regardless of COM initialization state. 2009-09-09 16:25:00 +02:00
Alexandre Julliard e98a52e585 msi: Force overwriting of read-only files when extracting a cabinet, with tests. 2009-09-09 12:19:28 +02:00
Hans Leidekker 05e9a1fce8 msi: Add a partial implementation of MsiDetermineApplicablePatchesW. 2009-09-02 14:41:31 +02:00
Hans Leidekker 1169aa9a58 msi: Set REINSTALL property when the product is already installed and the command line is empty. 2009-09-02 14:41:24 +02:00
Ge van Geldorp 167ef04727 msi/tests: Create only a single restore point. 2009-08-28 16:48:27 +02:00
Hans Leidekker eb101df687 msi: Fix column width calculation.
The iTunes 8 installer database has an integer column of size 1 which
takes up two bytes at storage level, so adjust the column size calculation
to account for this difference.
2009-08-04 13:05:45 +02:00
Hans Leidekker 0b60ed8ff1 msi: Fix parsing of integer column width specifiers. 2009-08-04 13:05:30 +02:00
Vladimir Pankratov 04deb6d7d1 msi: Convert the Russian resources to UTF-8. 2009-08-03 14:56:39 +02:00
Alexandre Julliard 2c5bd49297 msi: Build a proper tab chain by walking through the controls list.
Simply changing Z-order as we encounter windows is not sufficient to
ensure correct ordering, we have to rebuild the list from scratch.
2009-07-15 14:22:14 +02:00
Hib Eris ec4edbfd6c msi: Implement ASSIGN mode in MsiViewModify. 2009-07-06 15:25:39 +02:00
Hib Eris eaea537f0f msi/tests: Add tests for MsiViewModify ASSIGN mode. 2009-07-06 15:25:36 +02:00
Frédéric Delanoy e801cae520 msi: Update French translation. 2009-07-03 13:11:24 +02:00