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
Mike McCormack
bd9d8a32e4
MsiOpenDatabase's szPersist parameter may be a string or a bitmask.
2003-11-05 01:50:19 +00:00