Commit Graph

105 Commits

Author SHA1 Message Date
Vincent Povirk cce9a5f124 msi: Use integers internally for MSIDBOPEN constants.
This fixes a bug where some verions of mingw and probably gcc
assume that the result of pointer subtraction will be non-NULL,
causing MSI_OpenDatabaseW to break when given the mode
MSIDBOPEN_READONLY + MSIDBOPEN_PATCHFILE.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 16:14:41 +01:00
Alexandre Julliard 7cd3c9f073 msi: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 14:34:51 +02:00
Zebediah Figura 942964fdfb msi: Handle the remote case in MsiViewGetError().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46830
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-27 11:28:02 +01:00
Zebediah Figura 6a3dbf1192 msi: Perform partial copies in MsiViewGetError().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-27 11:28:02 +01:00
Zebediah Figura ed5f4bd14f msi: Return ERROR_INVALID_HANDLE when MsiDatabaseApplyTransform() is called from a custom action.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:46:09 +01:00
Zebediah Figura 31628cee6e msi: Factor out msi_view_refresh_row().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 17:12:13 +01:00
Zebediah Figura 8aefa871ad msi: Use 0-indexed row numbers in the modify() view operation.
For consistency with other operations.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 10:28:53 +01:00
Hans Leidekker ef86011ba4 msi: Support substorage transforms in MsiDatabaseApplyTransform.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40206
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-09 21:08:10 +01:00
Hans Leidekker c494570d89 msi: Fix the remote case for MsiViewModify(MSIMODIFY_UPDATE).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45972
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-12 17:06:53 +02:00
Zebediah Figura baea371c3d msi: Add exception handling around all custom action RPC calls.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-10 12:30:01 +02:00
Zebediah Figura 85d1fb62b3 msi: Execute custom actions in a separate process.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-26 13:27:10 +02:00
Zebediah Figura ed0a8dd3bf msi: Make MsiDatabaseGetPrimaryKeys() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-20 14:07:04 +02:00
Zebediah Figura c79fbc241e msi: Make MsiViewModify() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-20 14:06:57 +02:00
Zebediah Figura cea37419f1 msi: Make MsiViewGetColumnInfo() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-20 14:06:54 +02:00
Zebediah Figura 9ab15d4ede msi: Make MsiViewClose() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-20 14:06:51 +02:00
Zebediah Figura 39c116fd0c msi: Make MsiViewFetch() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 12:51:21 +02:00
Zebediah Figura afb5eede24 msi: Make MsiViewExecute() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 12:51:21 +02:00
Zebediah Figura c6bd4d8c35 msi: Make MsiDatabaseOpenView() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 12:51:21 +02:00
Zebediah Figura 252dd11f20 msi: Make MsiDatabaseIsTablePersistent() RPC-compatible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-19 12:51:21 +02:00
Zebediah Figura 9d12120395 msi: Store a record's associated query privately.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-18 10:12:52 +02:00
Zebediah Figura 8bfb4e8b62 msi: Convert the IWineMsiRemote* remote interfaces to RPC stubs.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-16 11:48:17 +02:00
Gerald Pfeifer 40922ccd4f msi: Avoid shift overflow in msi_view_get_row.
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 00:25:32 +09:00
Hans Leidekker 0dba391d67 msi: Don't write streams to storage until the database is committed.
Native allows streams to be created with names that exceed the maximum
length allowed by OLE storages. These streams can be used normally, it's
just not possible to commit such a database.
2015-02-13 21:48:21 +09:00
Hans Leidekker 9588deb54c msi: Preserve strings with embedded nulls when copying from the string table to a record. 2012-10-29 14:41:16 +01:00
Hans Leidekker 6950ac1d1c msi: Add support for storing strings with embedded nulls in the string table. 2012-10-29 14:40:40 +01:00
Hans Leidekker ca49aae61e msi: Fix handling of single quoted column names in SELECT queries. 2011-12-23 15:12:18 +01:00
Bernhard Loos 20bdf059ab msi: MsiDatabaseCommit also succeeds for a a readonly database. 2011-07-28 11:31:28 +02:00
Hans Leidekker d1b2058500 msi: Make the column and table name parameters of get_column_info const. 2011-07-27 11:55:06 +02:00
Hans Leidekker ab13c00fc9 msi: Add support for returning validation errors. 2011-06-07 14:18:33 +02:00
Hans Leidekker eaa57c5b7b msi: Compare strings without depending on thread locale. 2010-10-19 13:49:54 +02:00
Hans Leidekker 7e9d50a122 msi: Avoid pointer truncation in MSI_ViewFetch and MSI_ViewModify. 2010-09-13 10:59:18 -05: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 bdda3b950c msi: Warn if a transform file cannot be opened. 2010-07-23 11:46:10 +02:00
Nikolay Sivov 5c6de7957e msi: Convert IWineMsiRemoteDatabase BSTR parameters to LPCWSTR to avoid typecast. 2010-03-15 14:18:06 +01:00
Michael Stefaniuc 643f55abab msi: Don't print the function name twice in a WARN. 2010-02-04 13:39:28 +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 534f20bc49 msi: Get rid of some redundant initializations. 2009-10-19 15:02:42 +02:00
Hans Leidekker 60b7604aa1 msi: Support opening transform databases. 2009-06-30 13:46:39 +02:00
James Hawkins c9b3bc1165 msi: Column attributes for temporary string and int columns should be g and j respectively. 2009-03-02 12:05:28 +01:00
James Hawkins 2f8c2a8d41 msi: Make sure the view being updated is the same view the record was fetched from. 2009-02-26 12:13:49 +01:00
James Hawkins e872681af7 msi: Set field zero to the name of the table containing the primary keys. 2009-02-26 12:13:44 +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
Andrew Talbot 1c9886d6e7 msi: Sign-compare warnings fix. 2008-10-21 11:45:44 +02:00
James Hawkins ccd030c7d3 msi: Add handling for the special _Storages table. 2008-07-08 10:50:04 +02:00
Andrew Talbot 68975938f6 msi: Remove unused variables. 2008-04-22 11:54:38 +02:00
James Hawkins 0e29f314f5 msi: Return a remote interface to the database in a custom action. 2007-11-12 12:06:40 +01:00
James Hawkins 35a6782d7b msi: Test and implement the MSIMODIFY_DELETE command. 2007-11-05 14:52:46 +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 b830fb0a34 msi: Implement the MSIMODIFY_UPDATE command in the SELECT view. 2007-07-27 12:24:39 +02:00
James Hawkins 2b4bf44b79 msi: Add an internal MSI_ViewModify. 2007-04-23 16:18:03 +02:00