Commit Graph

109 Commits

Author SHA1 Message Date
Francois Gouget 232d1b6e3f msi: Remove unneeded NONAMELESSXXX directives. 2015-03-16 15:04:21 +09:00
Michael Stefaniuc be813aed6f msi: Remove comparison of pointer with >= NULL (PVS-Studio). 2015-03-09 22:07:08 +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 d954fbf8da msi: Get rid of the open streams cache. 2015-02-13 21:48:07 +09:00
Hans Leidekker f41ac94e0e msi: Include the terminating null in the buffer size for decoded stream names. 2014-10-02 16:59:04 +02:00
Nikolay Sivov 58bbe5ac4c msi: Free records on error paths (Coverity). 2013-04-01 12:32:37 +02:00
Hans Leidekker 6a588baaf7 msi: Use inline wrappers for calling COM methods. 2012-07-27 17:05:32 +02:00
Andrew Talbot 895b48e9ed msi: Mark fall-throughs in switch statements. 2011-10-06 16:47:33 -05:00
Hans Leidekker 0f67869d84 msi: Print a warning instead of a fixme if we fail to open the database. 2011-08-23 16:53:56 +02:00
Hans Leidekker e1c2e8828f msi: Clean up the database queries. 2011-07-27 11:55:16 +02:00
Hans Leidekker b5ea0030f0 msi: Allow read sharing if the package is openend in transacted mode. 2011-07-25 17:59:04 +02:00
Hans Leidekker 9299319b88 msi: Remove some dead assignments (clang). 2011-07-07 14:45:59 +02:00
Frédéric Delanoy 99e422c975 msi: Remove dead assignment (Clang). 2011-07-06 11:30:10 +02:00
Hans Leidekker 7d677fc327 msi: Delay creating local installer and patch packages until the product is registered. 2011-07-01 14:39:36 +02:00
Hans Leidekker c7e36d8ba8 msi: Unescape ^Q^Y sequences in text archives. 2011-05-12 18:23:00 +02:00
Hans Leidekker e2ba5dce06 msi: Handle embedded nulls in text archives. 2011-05-12 18:22:54 +02:00
Hans Leidekker 4f9971f5f8 msi: Keep track of a stream's storage. 2011-05-06 16:40:06 +02:00
Hans Leidekker eee070f1e0 msi: Add offsets to disk ids added by patches. 2011-04-14 17:37:23 +02:00
David Hedberg fed6e5211c msi: Add an offset to sequence numbers belonging to files added by a patch. 2011-03-29 12:21:49 +02:00
Michael Stefaniuc 24ad5cb68f msi: Use an iface instead of a vtbl pointer in msi_remote_database_impl. 2010-12-15 13:18:45 +01:00
Hans Leidekker c3adb72820 msi: Add support for importing and exporting the special _ForceCodepage table. 2010-11-17 14:01:13 +01:00
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