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 |
James Hawkins
|
ca55c7a330
|
msi: Implement the MSIINSTALLCONTEXT_MACHINE context for MsiQueryComponentState.
|
2007-08-07 12:39:48 +02:00 |
James Hawkins
|
5f442207d5
|
msi: Forward MsiQueryComponentStateA to MsiQueryComponentStateW.
|
2007-08-07 12:39:36 +02:00 |
Francois Gouget
|
4deb14a3b6
|
msi: Fix the MsiEnumProductsEx*(), MsiQueryComponentState*() and MsiProvideQualifiedComponentEx*() prototypes.
|
2007-08-06 13:57:53 +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
|
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
|
ee89cfca53
|
msi: Add a stub implementation of MsiQueryComponentStateA.
|
2007-06-26 12:11: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 |
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 |
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 |
Andrew Talbot
|
a0ae69a8d1
|
msi: Constify some variables.
|
2007-06-06 14:07:22 +02:00 |
Misha Koshelev
|
d800a082a8
|
msi: Return appropriate values for empty MsiProductInfo parameters.
|
2007-05-17 12:47:20 +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 |
Andrew Talbot
|
5346ba392d
|
msi: Constify some variables.
|
2007-02-19 12:04:12 +01:00 |
Mike McCormack
|
80affb3c2d
|
msi: Merge action.h into msipriv.h.
|
2006-10-10 16:12:12 +02:00 |
James Hawkins
|
563a50ab35
|
msi: Make internal functions static.
|
2006-10-09 14:40:08 +02:00 |
Mike McCormack
|
f1d4646a49
|
msi: Win64 printf format warning fixes.
|
2006-10-05 11:32:32 +02:00 |
Dan Kegel
|
337e1e202f
|
msi: Callers of alloc_msihandle should handle failure.
|
2006-08-29 12:21:54 +02:00 |
Francois Gouget
|
ce9b4baad8
|
Assorted spelling fixes.
|
2006-08-07 13:52:55 +02:00 |
Mike McCormack
|
525ceb7085
|
msi: Fix some memory leaks.
|
2006-07-28 12:32:14 +02:00 |
Mike McCormack
|
f3dae17cbb
|
msi: Use msi_alloc/free, not HeapAlloc/Free.
|
2006-07-27 11:56:51 +02:00 |
Mike McCormack
|
bc673bff01
|
msi: Make MsiConfigureFeature a bit more robust.
|
2006-07-24 19:55:50 +02:00 |
Mike McCormack
|
0bfb9c3e3d
|
msi: Move COM server implementation to a separate file.
|
2006-07-24 19:55:41 +02:00 |
Robert Shearman
|
c0596e0ae9
|
msi: The szLogFile parameter of MsiEnableLogW is optional, so handle the case of it being NULL.
|
2006-07-24 13:47:50 +02:00 |
Mike McCormack
|
e8a7587bdb
|
msi: Implement MsiGetFileHash.
|
2006-07-24 13:46:33 +02:00 |
Mike McCormack
|
bb141641d3
|
msi: Reimplement MsiGetUserInfo using awstrings.
|
2006-07-24 13:27:15 +02:00 |
Mike McCormack
|
dc4d5b0f0e
|
msi: MoveMsiEnumPatches to registry.c
|
2006-07-24 12:57:33 +02:00 |
Mike McCormack
|
aed2de8ec9
|
msi: Handle W/A conversions more correctly in MsiProvideQualifiedComponentEx.
|
2006-07-21 10:56:53 +02:00 |
Mike McCormack
|
869495efd3
|
msi: Use msi_reg_get_val_str() to read a registry value.
|
2006-07-21 10:56:40 +02:00 |
Mike McCormack
|
db1baf7367
|
msi: Add a stub implementation for MsiProvideQualifiedComponentExA.
|
2006-07-21 10:56:30 +02:00 |
Mike McCormack
|
8bce656fd3
|
msi: Components with INSTALLSTATE_NOTUSED are considered present.
|
2006-07-21 10:56:17 +02:00 |
Mike McCormack
|
a36d06c003
|
msi: A component with an empty path is not used.
|
2006-07-21 10:55:48 +02:00 |
Mike McCormack
|
dfb1f4f55b
|
msi: Use TRACE not FIXME for already implemented functions.
|
2006-07-21 10:55:37 +02:00 |
Mike McCormack
|
fee5bee811
|
msi: Implement MsiConfigureFeatureW.
|
2006-07-19 18:15:35 +02:00 |
Mike McCormack
|
4642221875
|
msi: Fix the size of base 85 GUIDs.
|
2006-07-19 18:15:26 +02:00 |
Mike McCormack
|
1aba0d62c6
|
msi: Check the right pointers for NULL.
|
2006-07-19 09:42:36 +02:00 |
Mike McCormack
|
bf57910537
|
msi: Set properties, not the command line in MsiReinstallFeatureW.
|
2006-07-19 09:41:06 +02:00 |
Robert Shearman
|
aea12b4695
|
msi: Fix conversion of path to include nul-termination character in MsiProvideQualifiedComponentA.
|
2006-07-18 11:13:43 +02:00 |
Mike McCormack
|
33ec7eb5e0
|
msi: Tidy up MsiCreateAndVerifyInstallerDirectory a bit.
|
2006-07-17 14:46:26 +02:00 |
Mike McCormack
|
f6170beb47
|
msi: Implement MsiConfigureFeatureA using MsiConfigureFeatureW.
|
2006-07-17 14:46:26 +02:00 |
Mike McCormack
|
a5a91d17a4
|
msi: Add support for INSTALLSTATE_ADVERTISED to MsiQueryFeatureState.
|
2006-07-17 14:46:25 +02:00 |
Mike McCormack
|
baa6efa56f
|
msi: MsiGetComponentPath cannot return INSTALLSTATE_ADVERTISED.
|
2006-07-17 14:46:25 +02:00 |
Mike McCormack
|
c19f9e9c31
|
msi: Use awstring to return strings from MsiGetProductInfo.
|
2006-07-14 13:32:39 +02:00 |
Mike McCormack
|
cd5bac0b3d
|
msi: Read from the registry, not the database in MsiGetProductInfo.
|
2006-07-14 13:32:39 +02:00 |
Mike McCormack
|
abfe248633
|
msi: Features may be published but absent.
|
2006-07-06 15:40:23 +02:00 |
Mike McCormack
|
ee3e058655
|
msi: Add a test for MsiGetComponentPath and make it pass.
|
2006-07-06 15:40:12 +02:00 |
Mike McCormack
|
4c0e72eceb
|
msi: Use msi_strcpy_to_awstring to return the string in MsiComponentGetPath.
|
2006-07-06 15:39:56 +02:00 |
Mike McCormack
|
17518ca910
|
msi: Forward MsiUseFeature to MsiUseFeatureEx.
|
2006-07-06 12:45:16 +02:00 |
Hans Leidekker
|
4f62bf79dc
|
msi: Implement MsiLocateComponent{A,W}.
|
2006-05-30 12:23:51 +02:00 |
Dmitry Timoshkov
|
0d13a99e79
|
msi: Translate the resulting string only if the previous call succeeded.
|
2006-05-25 20:28:45 +02:00 |
Jonathan Ernst
|
360a3f9142
|
Update the address of the Free Software Foundation.
|
2006-05-23 14:11:13 +02:00 |
Mike McCormack
|
3a94011ab6
|
msi: Clean up memset usage.
|
2006-04-18 21:13:52 +02:00 |
Mike McCormack
|
a92fe55cce
|
msi: Fix some possible NULL pointer dereferences (Coverity).
|
2006-04-17 12:38:36 +02:00 |
Francois Gouget
|
38884e0347
|
Small documentation tweaks to avoid winapi_check warnings.
|
2006-01-03 12:10:09 +01:00 |
Christian Gmeiner
|
e02e539c1e
|
msi: Implemented DllCanUnloadNow.
|
2005-12-05 20:39:33 +01:00 |
Steven Edwards
|
f5f8cd0846
|
Partly implement MsiMessageBox[A/W] on top of MessageBoxEx[A/W]
|
2005-11-11 10:52:53 +00:00 |
Aric Stewart
|
5cbd491b7b
|
Use MsiDecomposeDescriptorW in MsiProvideQualifiedComponentExW.
|
2005-11-10 11:06:04 +00:00 |
Mike McCormack
|
454fa4bea0
|
Make sure we only CoUninitialize after successfully initializing.
Fix the address of the returned IShellLinkDataList interface.
|
2005-11-09 10:58:24 +00:00 |
Ivan Leo Puoti
|
5b22e4d6ef
|
Fix some wrong prototypes.
|
2005-11-03 11:35:11 +00:00 |