77 Commits

Author SHA1 Message Date
Alexandre Julliard
7cd3c9f073 msi: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-13 14:34:51 +02: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
859f455cb9 msi: Avoid returning an uninitialized variable.
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-23 12:02:39 +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
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
bbf0f2da82 msi: Make MsiProcessMessage() RPC-compatible.
Instead of passing a remote MSIHANDLE and creating a set of remote_Record*()
methods, we marshal the whole record as a wire struct. We do this for two
reasons: firstly, because chances are whoever is reading the record is going
to want to read the whole thing, so it's much less taxing on IPC to just pass
the whole record once; and secondly, because records can be created on the
client side or returned from the server side, and we don't want to have to
write a lot of extra code to deal with both possibilities.

The wire_record struct is designed so that we can simply pass the relevant
part of an MSIRECORD to the server.

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:58 +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
f348c7c04c msi: Rewrite dump_record().
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>
2017-07-11 18:25:59 +02:00
Zebediah Figura
1505912ce1 msi: Allow setting NULL in MsiSetInteger().
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>
2017-07-10 20:51:09 +02:00
Hans Leidekker
13af267e75 msi: Use proper return types in MSI_RecordSetStreamFromFileW.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-14 22:25:22 +09:00
André Hentschel
3c1ca4e548 msi: Use boolean return value in boolean function. 2014-02-04 11:15:47 +01:00
Dmitry Timoshkov
a5b51a766b msi: Check number of bytes returned by ReadFile. 2013-10-30 15:28:56 +01:00
Michael Stefaniuc
62029ff586 msi: Use FIELD_OFFSET for the size of structs with a varlength array. 2012-12-13 18:38:47 +01:00
Hans Leidekker
7d3f903db1 msi: Fix handling of REG_MULTI_SZ values in the WriteRegistryValues action. 2012-11-05 17:44:18 +01:00
Hans Leidekker
32aed60786 msi: Preserve strings with embedded nulls in the record implementation. 2012-10-29 14:41:04 +01:00
Hans Leidekker
8d28cc0ac7 msi: Get rid of MSI_RecordSetStringA. 2012-10-29 14:40:55 +01:00
Hans Leidekker
9aa23c6c77 msi: Store string length in the record structure. 2012-10-29 14:40:46 +01:00
Andrew Talbot
48a6130279 msi: Add a break to a switch statement. 2011-10-06 16:47:30 -05:00
Bernhard Loos
abd1174941 msi: Protected primary keys against modification. 2011-08-26 13:34:25 +02:00
Hans Leidekker
9299319b88 msi: Remove some dead assignments (clang). 2011-07-07 14:45:59 +02:00
Hans Leidekker
0c43024af7 msi: Get rid of helpers.c. 2011-05-06 16:39:08 +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
James Hawkins
9ab7d9e21a msi: Close the original record before copying new data into it. 2009-12-11 12:16:26 +01:00
Hib Eris
cad837c999 msi: Add support for importing binary OBJECTS. 2009-05-27 12:51:10 +02:00
Hib Eris
d9568722aa msi: Support transforms with binary OBJECTS. 2009-05-26 15:18:09 +02:00
Hib Eris
f6dd90de5e msi: Add support for binary OBJECTS. 2009-05-26 15:18:02 +02:00
Nicolas Le Cam
e00d864a35 msi: Fix buffer length value returned by MSI_RecordGetStringW on null and empty strings. 2009-04-20 17:26:13 +02:00
James Hawkins
9540d762ad msi: Handle reading from a NULL stream. 2009-03-02 12:06:37 +01:00
Andrew Talbot
668197a898 msi: Declare some functions static. 2009-01-12 13:10:53 +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
Aric Stewart
17ffb562aa msi: Fix some NULL checking in MSI_RecordGetStringA.
Includes a few record tests with a NULL buffer.
2008-12-18 14:19:40 +01:00
James Hawkins
f03889ae82 msi: Add initial implementation of MsiDatabaseMerge, with tests. 2008-10-09 12:58:25 +02:00
James Hawkins
4439e0b57d msi: Make local functions static. 2008-03-01 12:18:40 +01:00
James Hawkins
0d56df214b msi: Successfully return an empty string when requesting a record index beyond the record's size. 2008-02-11 20:45:24 +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
Andrew Talbot
a0ae69a8d1 msi: Constify some variables. 2007-06-06 14:07:22 +02:00
James Hawkins
7d3162e6be msi: Abstract MSI_RecordSetStream. 2007-04-23 16:18:13 +02:00
Mike McCormack
8f20756068 msi: Test MsiRecordGetString on an integer record fields with a NULL output buffer. 2006-11-21 12:15:59 +01:00
Mike McCormack
f1d4646a49 msi: Win64 printf format warning fixes. 2006-10-05 11:32:32 +02:00
Mike McCormack
71d8f4ebf6 msi: Create a function to copy record fields, use it to order INSERT fields correctly. 2006-09-07 11:00:19 +02:00
Mike McCormack
b9d6ec3b87 msi: Fix MsiRecordGetString for a null buffer and non-zero buffer length. 2006-08-28 11:49:14 +02:00
Mike McCormack
aff9f4c1ed msi: Fix an off by one error in MsiRecordGetString. 2006-07-26 15:17:42 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Mike McCormack
ed580a1d85 msi: Avoid accessing a null pointer. 2006-04-07 11:45:41 +02:00
Mike McCormack
50684c15d5 Create the +msidb debug channel for msi database code. 2005-11-02 14:24:21 +00:00
Mike McCormack
8dc28d5306 Added memory allocation inline functions (part 1). 2005-09-20 11:57:19 +00:00
Mike McCormack
7e3918d53e Make the MSI icon control work. 2005-06-23 16:43:38 +00:00
Mike McCormack
64de949cdd More -Wmissing-declarations and -Wwrite-strings warning fixes. 2005-05-31 09:30:28 +00:00