Hans Leidekker
eaa57c5b7b
msi: Compare strings without depending on thread locale.
2010-10-19 13:49:54 +02:00
Hans Leidekker
3ef3e81f9e
msi: Avoid a crash on database destruction.
2010-09-18 13:06:21 +02:00
Hans Leidekker
dd7514a38d
msi: Move database initialization to a separate function.
2010-08-27 12:08:33 +02:00
Hans Leidekker
eef54ffe6b
msi: Open the database storage in transacted mode when MSIDBOPEN_CREATE or MSIDBOPEN_TRANSACT is specified.
2010-08-27 12:08:29 +02:00
Hans Leidekker
d10208e863
msi: Improve traces in db_get_raw_stream.
2010-07-21 13:24:00 +02:00
Hans Leidekker
fba248642b
msi: Reverse the transform storage list order.
...
This ensures that we use the most recently added stream if another
transform storage contains a stream by the same name. Fixes
wordconv.msp, an update for Word 2007.
2010-07-21 13:24:00 +02:00
Hans Leidekker
d8504e0550
msi: Handle MSIDBOPEN_PATCHFILE properly in MsiOpenDatabase.
2010-04-19 14:57:49 +02:00
Hans Leidekker
faf750f2f7
msi: Remove stream from streams cache before destroying it.
2010-03-23 13:24:27 +01:00
Hans Leidekker
706c4f77e8
msi: Implement a second cabinet extractor on top of IStream and use it to extract embedded cabinets.
...
Currently a cabinet stream is read into memory and then written to a file,
which is then extracted like an external cabinet file. This uses more time
and disk space than necessary and fails if the cabinet is too large to fit
into memory.
2010-03-23 13:24:26 +01:00
Nikolay Sivov
5c6de7957e
msi: Convert IWineMsiRemoteDatabase BSTR parameters to LPCWSTR to avoid typecast.
2010-03-15 14:18:06 +01:00
Hans Leidekker
9f68142118
msi: Encode stream name in the callers of db_get_raw_stream.
2010-02-19 13:06:41 +01:00
Hans Leidekker
d9e40b8219
msi: Destroy streams cache when applying a transform.
2010-02-19 13:06:36 +01:00
Michael Stefaniuc
a0774cabab
msi: Avoid using HIWORD() on string pointers.
2010-01-29 17:25:49 +01:00
Hans Leidekker
839e487c84
msi: Propagate errors from IStorage_OpenStream again in db_get_raw_stream.
...
Fixes a regression introduced by ef522c5ef0
.
2009-12-18 11:47:46 +01:00
James Hawkins
6b403d1a31
msi: Move MSITRANSFORM and MSISTREAM and associated methods to the dabatase implementation file as they are database objects/methods.
2009-12-17 12:53:34 +01:00
James Hawkins
a2f5d0e270
msi: Free the cached streams when closing the database.
2009-12-17 12:53:27 +01:00
Hans Leidekker
ef522c5ef0
msi: Clone the open stream instead of trying to open a stream again.
2009-12-16 13:04:35 +01:00
James Hawkins
b530f38baa
msi: Refactor freeing the import sql strings.
2009-12-16 12:42:33 +01:00
James Hawkins
37a058208d
msi: Fix a record handle leak.
2009-12-14 12:20:25 +01:00
James Hawkins
3188792a30
msi: Store the number of types we queried. We were leaking these types because we didn't have the correct count.
...
This change also fixes weird 8-space indenting in free_merge_tables.
2009-12-14 12:20:14 +01:00
Hib Eris
9dddb94b99
msi: Fix merging string type checks.
2009-10-20 15:55:43 +02:00
Hib Eris
a3214c978d
msi: Fix a failure with merging existing tables.
2009-10-20 15:03:33 +02:00
Hans Leidekker
8dd3d389b0
msi: Create the local copy before opening the database.
2009-10-20 14:39:55 +02:00
Hans Leidekker
534f20bc49
msi: Get rid of some redundant initializations.
2009-10-19 15:02:42 +02:00
Hans Leidekker
843382f284
msi: Define common strings only once.
2009-10-15 14:16:50 +02:00
Hans Leidekker
0b60ed8ff1
msi: Fix parsing of integer column width specifiers.
2009-08-04 13:05:30 +02:00
Hans Leidekker
60b7604aa1
msi: Support opening transform databases.
2009-06-30 13:46:39 +02:00
Marcus Meissner
890b5dafb6
msi: Check the correct pointers for allocation failure (Coverity).
2009-06-05 15:19:57 +02:00
Hib Eris
ff5b29e5eb
msi: Add support for merging tables that are not in target database.
2009-05-27 12:51:51 +02:00
Hib Eris
987d17dc6f
msi: Fix merging tables with string primary keys.
2009-05-27 12:51:31 +02:00
Hib Eris
086fcfc1f4
msi: Initialize a variable.
2009-05-27 12:51:15 +02:00
Hib Eris
cad837c999
msi: Add support for importing binary OBJECTS.
2009-05-27 12:51:10 +02:00
Hans Leidekker
184474ea66
msi: Support setting summary information by importing a _SummaryInformation table.
2009-04-14 15:20:58 -05:00
James Hawkins
b3c9875cf7
msi: Correctly order transposed column values in the INSERT query.
2009-03-02 12:04:57 +01:00
Marcus Meissner
76b08f3aa7
msi: Initialize row (Coverity).
2009-01-26 16:08:25 +01:00
Michael Stefaniuc
5f3ac30b3c
msi: Remove superfluous pointer casts.
2009-01-15 12:43:03 +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
Andrew Talbot
40db5bdb16
msi: Sign-compare warnings fix.
2008-10-21 11:45:39 +02:00
James Hawkins
8128d97fd4
msi: Replace lengthy calls to MSI_DatabaseOpenView with MSI_OpenQuery.
2008-10-09 12:58:47 +02:00
James Hawkins
f03889ae82
msi: Add initial implementation of MsiDatabaseMerge, with tests.
2008-10-09 12:58:25 +02:00
Michael Stefaniuc
704ebf280e
msi: Use the right FAILED/SUCCEEDED macro instead of negating the opposite.
2008-10-08 13:43:17 +02:00
James Hawkins
4749ee2662
msi: Forward MsiDatabaseMergeA to MsiDatabaseMergeW.
2008-10-01 11:41:29 -05:00
James Hawkins
525865447e
msi: Add a stub implementation of MsiDatabaseMerge.
2008-10-01 11:41:23 -05:00
James Hawkins
4b9fd1d5e2
msi: Store the _Columns and _Tables tables in the database structure.
2008-08-25 11:40:46 +02:00
James Hawkins
ca4758201d
msi: Parse the MSIDBOPEN_PATCHFILE flag.
2008-07-08 10:50:11 +02:00
Dmitry Timoshkov
76d6b76737
msi: Mark some data as constant.
2008-05-26 19:46:09 +02:00
James Hawkins
4439e0b57d
msi: Make local functions static.
2008-03-01 12:18:40 +01:00
Rob Shearman
03e466b837
msi: Fix the buffer size calculation in msi_build_createsql_prelude.
2008-02-28 10:44:06 +01:00
James Hawkins
ec086f77e3
msi: Handle carriage returns in MsiDatabaseImport.
2008-02-12 22:59:53 +01:00