Commit Graph

329 Commits

Author SHA1 Message Date
Hans Leidekker fa9757bd73 msi: Put quotes around the filename in MsiApplyPatch. 2010-11-11 12:22:43 +01: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
Hans Leidekker eaa57c5b7b msi: Compare strings without depending on thread locale. 2010-10-19 13:49:54 +02:00
Hans Leidekker 0032706564 msi: Add stub implementations of MsiBeginTransaction and MsiEndTransaction. 2010-09-02 18:05:22 +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 8bfc08771c msi: Don't keep handles open to the patch database in MSI_ApplyPatchW. 2010-05-31 12:46:08 +02:00
Hans Leidekker c815432a50 msi: Get rid of the goto in MSI_ApplicablePatchW. 2010-05-25 13:29:22 +02:00
Hans Leidekker e5dd509901 msi: Release the package in MsiGetProductPropertyW. 2010-05-20 16:25:44 +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
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
Gerald Pfeifer be8d0bbb1e msi: Remove variable product_code which is not really used from MSI_ApplyPatchW. 2010-05-03 15:38:47 +02: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
Detlef Riekenberg d4303865e8 msi: Display a MessageBox in MsiMessageBoxEx. 2010-04-12 11:31:12 +02:00
Hans Leidekker 438ad93b22 msi: Implement and test MsiGetPatchInfoA/W. 2010-02-15 16:36:39 +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
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
Hans Leidekker 843382f284 msi: Define common strings only once. 2009-10-15 14:16:50 +02:00
Hans Leidekker 46ac59f988 msi: Don't set the Installed property twice. 2009-09-29 16:06:23 +02:00
Hans Leidekker 05e9a1fce8 msi: Add a partial implementation of MsiDetermineApplicablePatchesW. 2009-09-02 14:41:31 +02:00
Gerald Pfeifer aea6418ff0 msi: Initialize variable in MSI_ApplyPatchW. 2009-05-14 17:39:29 +02:00
Hans Leidekker 0d8a826ef5 msi: Reject NULL or empty patch package parameter in MsiApplyPatch. 2009-05-06 16:09:55 +02:00
Marcus Meissner 1cfc88a500 msi: Initialize info and patch variables (Coverity 923). 2009-05-05 11:35:22 +02:00
Hans Leidekker b4b8bc830f msi: Implement MsiApplyMultiplePatchesA/W. 2009-05-01 16:19:39 +02:00
Nikolay Sivov 7daf9b6ef5 msi: Fix wrong calling convention. 2009-04-27 13:24:51 +02:00
Hans Leidekker e3b558887d msi: Build a proper source path in MsiConfigureProductExW.
We were passing uninitialized data which would ultimately end up in the
registry.
2009-03-31 12:41:42 +02:00
Hans Leidekker 7590a3f335 msi: Implement MsiReinstallProductA/W. 2009-03-24 13:31:24 +01:00
Hans Leidekker 201e291e5d msi: Add stub implementations of MsiDeterminePatchSequenceA/W. 2009-03-24 13:31:12 +01:00
James Hawkins 5e62686a0f msi: Handle a NULL and empty szPackagePath in MsiInstallProduct (Coverity 181). 2009-03-23 15:52:18 +01:00
James Hawkins baf86bd5bb msi: MsiCollectUserInfo cannot be called from a custom action (Coverity 565, 566). 2009-03-23 15:52:17 +01:00
James Hawkins cb958cd773 msi: Test and handle the case where the SourceList key does not exist and the PackageName value does not exist in MsiGetProductInfo. 2009-03-23 15:52:17 +01:00
James Hawkins c965d839f9 msi: Allow the enumeration of other users' patches. 2009-03-23 15:52:17 +01:00
Nikolay Sivov 9598a50916 msi: Fix NULL dereference in MsiQueryComponentStateW (Coverity). 2009-01-26 15:48:57 +01:00
Michael Stefaniuc 6bd893a960 msi: Change MSIHANDLE to ULONG for Win64 compatibility.
Also fix the compiler warnings produced by this change.
2009-01-05 12:34:12 +01:00
James Hawkins 5aac1ec6e5 msi: Implement MsiGetPatchInfoExW. 2008-12-15 12:34:35 +01:00
James Hawkins b5e3e19a19 msi: Add the ability to query a specific context for install properties. 2008-12-15 12:34:18 +01:00
James Hawkins 4a9f6995aa msi: Add the ability to query a specific context for a product key. 2008-12-15 12:34:06 +01:00
James Hawkins d195ee3cc4 msi: Forward MsiGetPatchInfoExA to MsiGetPatchInfoExW. 2008-12-15 12:34:00 +01:00
James Hawkins 199a26c81a msi: Add a stub implementation of MsiGetPatchInfoEx. 2008-12-15 12:33:56 +01:00
James Hawkins da783c3888 msi: Implement MsiGetProductPropertyW. 2008-12-09 11:24:13 +01:00
James Hawkins 06a438152c msi: Forward MsiGetProductPropertyA to MsiGetProductPropertyW. 2008-12-09 11:24:09 +01:00
James Hawkins bdf7da9bdc msi: Remove a duplicated function. 2008-12-09 10:28:04 +01:00
James Hawkins 8438d21127 msi: Remove a duplicated function. 2008-12-09 10:27:58 +01:00
James Hawkins 98c703ab87 msi: Add the ability to open multiple users' install properties key. 2008-12-09 10:27:52 +01:00
James Hawkins b198f4f23f msi: Add the ability to open multiple users' component keys. 2008-12-09 10:27:45 +01:00
James Hawkins 930b429d1e msi: Add the ability to open multiple users product keys. 2008-12-09 10:27:37 +01:00
Francois Gouget d7119f2b73 msi: Remove WINAPI on static functions where not needed. 2008-11-28 12:54:37 +01:00
James Hawkins e3074348fc msi: Factor out the code to open the UserData features key. 2008-11-04 11:24:11 +01:00
James Hawkins 0c01c586c7 msi: Factor out the code to open the features key. 2008-11-04 11:24:04 +01:00
James Hawkins 70be1e7746 msi: Factor out the code to open a product key. 2008-11-04 11:23:51 +01:00
Andrew Talbot 1c9886d6e7 msi: Sign-compare warnings fix. 2008-10-21 11:45:44 +02:00
James Hawkins 1484c6272d msi: Add a stub implementation of MsiDetermineApplicablePatches. 2008-10-09 13:01:18 +02:00
Jacek Caban 417134709d msi: Added MsiInstallMissingComponentW stub implementation. 2008-10-07 12:12:54 +02:00
Louis Lenders e16e15bf0c msi: Add stub for MsiSetExternalUIRecord. 2008-09-25 13:27:38 +02:00
James Hawkins 63064f7a45 msi: Handle features installed as source in MsiQueryFeatureState. 2008-08-25 11:40:02 +02:00
James Hawkins 39b874706c msi: Handle components installed as source in MsiQueryComponentState. 2008-08-21 11:44:05 +02:00
James Hawkins 6e63953b4c msi: Also check the LocalPackage install property when searching for the product package. 2008-08-18 17:15:46 +02:00
James Hawkins 9b426be0ee msi: Reimplement MsiOpenProduct. 2008-07-31 13:04:36 +02:00
James Hawkins cbf32ff28a msi: Set the ALLUSERS property for the machine context. 2008-07-29 12:20:03 +02:00
James Hawkins 0b240c7aa3 msi: Handle the INSTALLSTATE_ABSENT state in MsiConfigureProductEx. 2008-07-29 12:19:57 +02:00
James Hawkins 9518d7f8c7 msi: Properly locate the published product in MsiConfigureProductEx. 2008-07-29 12:19:51 +02:00
James Hawkins ac976c94c8 msi: Validate the szProduct parameter of MsiConfigureProductEx. 2008-07-29 12:19:44 +02:00
Andrew Talbot 0f75796a28 msi: Remove unneeded address-of operators from array names. 2008-07-11 14:06:19 +02:00
James Hawkins 41fe12f149 msi: Reimplement MsiGetUserInfo. 2008-06-24 12:15:48 +02:00
James Hawkins 72fedf7d88 msi: Handle the machine context in MsiQueryFeatureState. 2008-06-24 12:15:38 +02:00
James Hawkins 200eba3b94 msi: Handle the user managed context in MsiQueryFeatureState. 2008-06-24 12:15:31 +02:00
Francois Gouget 42a61d7ed7 Assorted spelling fixes. 2008-05-06 16:10:20 +02:00
Austin English 5644f05edf msi: Spelling fixes. 2008-04-08 12:25:13 +02:00
James Hawkins e21a26e47b msi: Test and reimplement MsiQueryProductState. 2008-04-07 11:27:24 +02:00
Rob Shearman 58130dde08 msi: Passing NULL for szBuffer and NULL for pcchValueBuf into MsiGetProductInfo{A, W} shouldn't crash.
Add a test for this.
2008-03-12 19:21:27 +01:00
James Hawkins ad70693539 msi: Implement MsiGetProductInfoEx. 2008-03-04 11:54:21 +01:00
Marcus Meissner eb836b718f msi: Initialize type (Coverity). 2008-02-28 10:50:57 +01:00
James Hawkins 6e2048bbc7 msi: Read the source list properties from the user-unmanaged context. 2008-02-26 11:20:18 +01:00
Gerald Pfeifer db70edfc82 msi: Remove unused parameter to msi_comp_find_prodcode(). 2008-02-19 18:08:38 +01:00
James Hawkins bbdf79bc8c msi: Convert REG_DWORD properties to strings in MsiGetProductInfo. 2008-02-18 12:41:37 +01:00
Rob Shearman e35bd05082 msi: Add stub implementation of MsiIsProductElevatedA/W. 2008-02-15 09:59:59 +01:00
James Hawkins 4cc569cce6 msi: Read the language info from the file. 2008-02-12 22:59:37 +01:00
James Hawkins 1f3d6a9744 msi: Reimplement MsiGetProductInfo. 2008-02-12 22:59:29 +01:00
James Hawkins ff0dc44f2d msi: Return ERROR_INVALID_PARAMETER if szProduct is invalid. 2008-02-11 20:53:13 +01:00
James Hawkins ffc251f5dd msi: Return ERROR_MORE_DATA if the size is too small. 2008-02-05 12:19:37 +01:00
James Hawkins dc8f714ade msi: Return the string length even if the string is NULL. 2008-02-05 12:19:37 +01:00
James Hawkins 40841946f5 msi: Leave room for the NULL terminator. 2008-02-05 12:19:37 +01:00
James Hawkins d165435048 msi: Return ERROR_FILE_INVALID if the file has no version information. 2008-02-05 12:19:37 +01:00
James Hawkins 03335de8d0 msi: Return ERROR_INVALID_PARAMETER if a string pointer is non-NULL and the size pointer is NULL. 2008-02-05 12:19:37 +01:00
James Hawkins 856800c84b msi: Translate ERROR_BAD_PATHNAME into ERROR_FILE_NOT_FOUND. 2008-02-05 12:19:37 +01:00
James Hawkins 5d46eeac75 msi: Only convert output strings if the call succeeded. 2008-02-05 12:19:36 +01:00
James Hawkins 44349af11a msi: Reimplement MsiGetProductCode. 2007-12-08 19:53:43 +01:00
James Hawkins 383a8a5b92 msi: Reimplement MsiGetComponentPath. 2007-12-05 12:08:04 +01:00
James Hawkins c77d200f27 msi: Add a stub implementation of MsiEnumComponentCostsW. 2007-12-03 14:03:11 +01:00
James Hawkins e100288934 msi: Verify the szFilePath parameter of MsiGetFileHash. 2007-11-26 12:27:53 +01:00
Francois Gouget 5771700019 msi: Better match the PSDK types, remove some now unused types from win32.api, and update it to fix the winapi_check warnings. 2007-08-09 14:12:44 +02:00
James Hawkins 511bdd9de8 msi: Simplify MsiQueryComponentState, with more tests. 2007-08-09 13:53:36 +02:00
James Hawkins 0713c32869 msi: Implement the remaining contexts for MsiQueryComponentState. 2007-08-08 15:32:00 +02:00