Commit Graph

259 Commits

Author SHA1 Message Date
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
Mike McCormack 451ef3a9c3 Stub implementation for MsiAdvertiseScriptA/W. 2005-11-02 19:54:31 +00:00
Mike McCormack 15e578dfbc Stub implementation for MsiGetFileHashA/W. 2005-11-02 10:56:54 +00:00
Mike McCormack 94caa05d07 Improve MsiUseFeatureEx and MsiGetFeatureState a little, add some
simple test cases.
2005-10-31 14:07:20 +00:00
Mike McCormack ec5edeebf4 Define MSIDBOPEN_ constants using LPCWSTR when compiling Wine. 2005-10-30 19:21:51 +00:00
Mike McCormack 13fee293ba Implement MsiGetFeatureUsageA and MsiUseFeature(Ex)A using their W
versions.
2005-10-29 11:36:57 +00:00
Mike McCormack 481bccc8b7 Add an implementation for MsiGetShortcutTargetA/W. 2005-10-29 10:28:30 +00:00
Mike McCormack 8caef535e0 Return an error in MsiGetComponentPathW if passed a null component. 2005-10-28 10:41:20 +00:00
Mike McCormack 61f24a4ca7 Rename ACTION_DoTopLevelINSTALL to MSI_InstallPackage, remove its
duplicate 4th parameter.
Split the code to copy a package into a separate function.
2005-09-30 10:32:41 +00:00
Mike McCormack 41c788f5a1 Don't create MSI handles unless we have to pass one through the API. 2005-09-28 10:13:18 +00:00
Mike McCormack 786920b7b6 Handle copying of the install package to a temporary file in one place
only.
2005-09-25 15:14:32 +00:00
Mike McCormack 170278dfe0 Implement MsiGetShortcutTargetA. 2005-09-23 10:48:42 +00:00
Mike McCormack ee034ba4c2 Added memory allocation inline functions (part 2). 2005-09-20 11:59:14 +00:00
Mike McCormack 4a202c2112 Fix the stub for MsiConfigureFeature. 2005-09-16 18:45:04 +00:00
Aric Stewart c774bb026d Implement MsiReinstallFeature. 2005-09-07 13:26:06 +00:00
Aric Stewart 685aa44b2d Be sure to null terminate the string in MsiGetProductInfoA after the
W->A conversion using MsiGetProductInfoW if there is space.
2005-09-06 14:04:25 +00:00
Aric Stewart d3d5ad6b7a Added stub implementations for MsiEnumPatchesA/W. 2005-09-06 11:05:24 +00:00
Francois Gouget 0de0d11357 Change some Dll* functions so they are exported by name like on
Windows.
Update the documentation accordingly.
2005-08-10 13:02:43 +00:00
Vincent Béron 21e3ba8cd1 Correct mismatches between spec files and comments about export
number.
2005-08-10 09:53:47 +00:00
Alexandre Julliard d37f0abf07 Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
Dll(Un)RegisterServer with the dll name so that the compiler can check
the prototypes.
2005-08-08 17:35:28 +00:00
Steven Edwards cbec713615 Add real stub for MsiConfigureFeatureW. 2005-08-03 10:56:43 +00:00
Alexandre Julliard 7258914ef6 Use the official names for the Unicode string constants. 2005-07-13 12:07:41 +00:00
Aric Stewart 27867e2502 Use the SourceList functions to get the source path in
ConfigureProductExW.
2005-07-12 17:56:17 +00:00
Aric Stewart c6d24d235a Use the strings defined in msi.h. 2005-07-11 18:01:39 +00:00
Robert Shearman 199efb74fe In MsiLocateComponent pcchBuf can be NULL so don't try to dereference
it.
2005-07-08 11:29:55 +00:00
Aric Stewart f1b52aef96 Relocate the msi file to prevent cd locking, corrected to properly not
try to relocated #nnnn handles as files.
2005-06-28 19:14:30 +00:00
Aric Stewart 31695b54c9 A "1" is returned not a 1 for AssignmentType. Also as a bit more to
the FIXME message.
2005-06-13 19:04:39 +00:00
Aric Stewart 36bc29769b Add Language to the values we can query with MsiGetProductInfo. 2005-06-08 18:35:43 +00:00
Aric Stewart 90bc168c87 Correct a crash if the length buffer is NULL. 2005-06-07 20:02:07 +00:00
Aric Stewart 4d1ce166ce Locate where a buffer size is not being set and correctly handle the
buffer size conversion from W to A (with help from Robert Shearman).
2005-06-03 11:24:57 +00:00
Dmitry Timoshkov b67da5b946 Make more of the OLE interface vtables const. 2005-06-01 19:57:42 +00:00
Mike McCormack cac6387ca3 Add and correct some function declarations. 2005-05-30 11:12:24 +00:00
Aric Stewart fefad8fcf2 Fix a leaking handle.
Make MsiCollectUserInfo more internally consistent.
Thanks to Mike McCormack.
2005-05-23 16:23:54 +00:00
Aric Stewart 8a6d5e5847 Fix a leaking handle in MsiConfigureProductExW.
Implement MsiGetProductCodeW.
Implement MsiGetUserInfoW.
Implement MsiCollectUserInfoA/W.
2005-05-20 18:59:11 +00:00
Stefan Leichter f483ca611e Added minimal implementation of MsiCreateAndVerifyInstallerDirectory. 2005-05-11 12:01:12 +00:00
Aric Stewart 2b8bf597b5 Correct user component publication.
Implement MsiEnumComponentQualifiers.
2005-04-28 18:28:11 +00:00
Aric Stewart ece85e0cf0 Implement MsiQueryFeatureStateW. 2005-04-28 12:01:06 +00:00
Aric Stewart afcaf83ed7 Correct a leaking hkey handle. 2005-04-27 08:11:52 +00:00
Aric Stewart 1b54881209 Expand some handling of special properties in MsiGetProductInfo. 2005-04-26 14:30:31 +00:00
Francois Gouget 5ffd9888cd Tweak the API documentation to silence winapi_check warnings. 2005-04-22 19:04:41 +00:00
Aric Stewart 7e181f49a8 Fix for the return codes for the Qualified component calls. They are
not INSTALLSTATEs but rather success values.
2005-04-21 17:24:27 +00:00
Francois Gouget 3ef8c51c8a Tweak the API documentation to silence winapi_check warnings. 2005-04-20 15:18:42 +00:00
Aric Stewart 072c5e56a2 Implement Publish Components in order for MsiGetQualifiedComponent
apis to work. Also implement MsiGetQualifiedComponent, or at least some
of the functionality as it is supposed to install stuff if it is
absent, which it does not do yet.
2005-04-20 12:50:05 +00:00
Mike McCormack 180f04059b Split out database functions, remove dependence on wine/unicode.h. 2005-03-29 11:28:57 +00:00
Mike McCormack 30e388af51 Use strdup, implement MsiDatabaseImportA. 2005-03-25 16:38:26 +00:00
Mike McCormack 77a19ed8e6 Replace instances of HeapAlloc/MultiByteToWideChar with the internally
defined strdupAtoW.
2005-03-24 19:04:06 +00:00
Marcus Meissner 6d32d63979 Fixed MsiDatabaseImportA, MsiDatabaseImportW, and
MsiCreateAndVerifyInstallerDirectory stub parameter counts.
2005-03-23 10:24:53 +00:00
Juan Lang 5ebd4e938e - make sure msihandle2msiinfo is correctly matched with msiobj_release
- don't do redundant NULL checks
2005-03-10 11:15:40 +00:00
Francois Gouget fbb3343547 Assorted spelling fixes. 2005-03-02 13:53:50 +00:00
Jon Griffiths eb5bf7dd38 Documentation spelling fixes. 2005-02-25 14:07:56 +00:00
Aric Stewart af812605fb Do some basic work with registry component paths. 2005-02-24 10:05:53 +00:00
Mike McCormack 0b1b703fdd Move product, feature and component enumeration functions to
registry.c.
2005-02-16 17:52:53 +00:00
Aric Stewart 2e24400cc9 Stubs for MsiUseFeature. 2005-02-16 16:24:38 +00:00
Mike McCormack fa5cbb5a0f MsiGetComponentPath should allow null pointers for pcchBuf and
lpPathBuf.
2005-02-16 16:04:36 +00:00
Mike McCormack d42081f8c9 Update headers, add MsiGetUserInfoA stub implementation. 2005-02-10 18:57:42 +00:00
Aric Stewart fccb667f0e Added stubs for MsiGetShortcutTargetA/W. 2005-02-10 17:10:14 +00:00
Mike McCormack 17cfa28216 Fix a memory leak in MsiConfigureProductExW. 2005-02-09 13:22:49 +00:00
Mike McCormack 65fb09183b Implement and document MsiLoadString. 2005-02-08 12:12:29 +00:00
Mike McCormack 479213c455 Implement MsiPreviewDialog. 2005-01-28 12:39:57 +00:00
Aric Stewart 475a81a818 Added a few more stub implementations. 2005-01-26 19:41:13 +00:00
Aric Stewart a26aa0af4c Move the guid squishing functions out of msi.c and make a new
registry.c file. Also clean up all the various registry keys we need
to open and create to this module and modify the functions for msi.c
to call these functions.
2005-01-25 10:58:36 +00:00
Alexandre Julliard ee4f4a05c5 Avoid unnecessary run-time initializations. 2005-01-24 12:55:31 +00:00
Mike McCormack 609f5514ac Indentation and style cleanup. 2005-01-24 11:22:00 +00:00
Mike McCormack b3a7f37aaf Fix refcounting, use Interlocked functions. 2005-01-20 20:34:29 +00:00
Michael Stefaniuc b937407ee5 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2005-01-20 10:36:35 +00:00
Aric Stewart 2c0e46d9df Do a very basic first implementation of MsiConfigureProductExW for
msiexec /@  when run as a reboot.
Also add a number of new stubs for the office xp and 2k3 install and
startup process.
2005-01-19 16:58:03 +00:00
Aric Stewart 82a6a3b826 First pass implement ion of MsiQueryProductState[A/W] as well as a few
fixes for MsiGetComponentPath.
2005-01-17 13:39:57 +00:00
Aric Stewart 0de5671ee9 Actually start on an implemention for MsiGetComponentPathW that should
handle all keypaths that are files.
2005-01-14 17:05:53 +00:00
Paul Vriens 6a8268f372 Use Interlocked* functions in AddRef and Release. 2005-01-11 15:46:43 +00:00
Steven Edwards d06a464ce9 Add and fix some stubs. 2005-01-03 16:54:43 +00:00
Aric Stewart ab013bb6db Added MsiSetExternalUIW. 2004-12-23 11:22:00 +00:00
Michael Stefaniuc 9fe94da2aa Add missing HeapFree's (found by smatch). 2004-12-10 15:24:52 +00:00
Francois Gouget 486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Kevin Koltzau 3f8d8bec55 Partial implementation of MsiGetFileVersionA/W. 2004-09-06 21:25:48 +00:00
Alexandre Julliard 39a696a166 Removed some uses of the non-standard ICOM_THIS macro. 2004-09-06 20:34:29 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Alexandre Julliard 0467ce9fd7 Get rid of the non-standard ICOM_VFIELD macro. 2004-08-12 19:52:49 +00:00
Vincent Béron bbc3974aa5 Implement patching in msiexec. 2004-07-29 02:39:20 +00:00
Vincent Béron d2df24b90f Implement logging in msiexec.
Correct MsiEnableLog{A,W} prototype.
2004-07-23 23:28:45 +00:00
Vincent Béron 5c60510bc0 Implement the repair mechanism in msiexec, and stub it out in
msi.dll.
2004-07-19 21:19:45 +00:00
Mike McCormack bb1194aeec Minor spelling fix. 2004-07-12 19:53:54 +00:00
Mike McCormack c90c781a32 Implement MsiVerifyPackage, cosmetic fixes. 2004-07-09 22:58:27 +00:00
Alexandre Julliard a7a6f5f31c Authors: Mike McCormack <mike@codeweavers.com>, Aric Stewart <aric@codeweavers.com>
Refcount all objects, and use pointers internally.
2004-07-09 22:25:34 +00:00
Alexandre Julliard 77b12768c9 Authors: Aric Stewart <aric@codeweavers.com>, Mike McCormack <mike@codeweavers.com>
Write the encoded GUIDs for product registration in the Installer
registry.
2004-07-09 19:43:29 +00:00
Aric Stewart a3149f83f7 Cleanup of actions. 2004-07-09 19:38:40 +00:00
Aric Stewart 7231a439b4 Implement logging. 2004-07-09 19:26:30 +00:00
Aric Stewart 2e9b5f7c07 Use the newly implemented UPDATE code to set properties. 2004-07-04 00:31:17 +00:00
Aric Stewart ed7c4bc84c Implement SetTargetPath, start the basics for tracking UI level. 2004-07-04 00:26:54 +00:00
Aric Stewart eb0e0df908 Start implementing MsiOpenPackage. 2004-06-30 19:38:36 +00:00
Mike McCormack de8674ec6f Set the storage file's GUID so native MSI recognizes it.
Fix crash when inserting multiple columns that are invalid.
2004-06-30 18:42:02 +00:00
Aric Stewart c75201f4a2 Handle custom actions type 1 and 2. 2004-06-29 04:04:13 +00:00
Mike McCormack 6fb0cee5d9 Dump database table names on startup. 2004-06-29 03:57:39 +00:00
Aric Stewart 401bd3f772 Start implementing actions. 2004-06-28 20:34:35 +00:00
Patrik Stridvall 070db4e5de Fixed some issues found by winapi_check. 2004-05-17 21:08:31 +00:00
Raphael Junqueira 18cdbf1351 - add some prototypes/typedefs to msi.h
- implements some A -> W calls (W calls must be implemented)
2004-04-28 00:29:25 +00:00
Francois Gouget 6a6c85c6d8 Make Unicode const strings static so they are not copied to the stack
each time we enter the function.
2004-04-19 20:12:14 +00:00
Hans Leidekker c2da57e27b Correct spec entry for MsiLoadString*.
Pseudo stubs for MsiLocateComponent*.
2004-04-12 22:06:12 +00:00
Raphael Junqueira 9191a9cd95 Implement DllGetClassObject, DllRegisterServer, DllUnregisterServer
(as the interfaces aren't documented we only have stubs).
2004-03-30 20:42:06 +00:00
Mike McCormack 943a71e453 Fix handle allocation and the CREATE TABLE query. 2004-03-19 19:14:12 +00:00
Mike McCormack 068b4ec7d4 First go at write support. 2004-03-19 01:16:36 +00:00
Mike McCormack b040e4bcd2 When loading table data, split it up into rows. 2004-03-18 04:04:08 +00:00
Mike McCormack f5e1c13070 Move the string table out into a separate file, improve lookups. 2004-03-17 20:49:59 +00:00
Mike McCormack 14ec526004 Extend the parser to deal with the CREATE TABLE query. The query
doesn't do anything as yet.
2004-03-16 19:18:22 +00:00
Christian Costa fabcd27800 Added some stubs. 2004-02-17 21:05:44 +00:00