2459 Commits

Author SHA1 Message Date
James Hawkins
26d541b2a9 msi: Initialize type. If the value did not exist, type was uninitialized and passed to RegSetValueExW. 2009-12-17 13:09: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
Henri Verbeet
2102dbe854 msi: Remove an unused field from the string table. 2009-12-17 12:43:25 +01:00
Hans Leidekker
2c526b7fe7 msi: Replace the string table hash with a sorted index. 2009-12-16 13:04:35 +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
8ed06175a0 msi: Free the temp buffer if we haven't assigned it to *appValue. 2009-12-16 12:42:39 +01:00
James Hawkins
b530f38baa msi: Refactor freeing the import sql strings. 2009-12-16 12:42:33 +01:00
James Hawkins
1b7238a969 msi: Simplify ITERATE_WriteEnvironmentString.
Now we only allocate enough memory to exactly match the size of the
constructed string. Before, we were leaving some memory uninitialized
and overwriting the allocated memory in certain circum.
2009-12-16 12:27:11 +01:00
James Hawkins
be1b1605f9 msi: Free the columns view if check_column_exists fails. 2009-12-16 12:26:59 +01:00
James Hawkins
1a4a112d76 msi: Fix a leaking record handle. 2009-12-16 12:26:51 +01:00
James Hawkins
b93c2c3544 msi: Free the join view if we fail to create the table view. 2009-12-16 12:26:45 +01:00
James Hawkins
1692e1fe67 msi: Keep track of the current view in the sql parser.
This allows us to free said view in the case of a syntax error. This
also allows us to get rid of a few places where we tried to clean up
the view ourselves in the parsing code.
2009-12-16 12:26:38 +01:00
Hans Leidekker
6df6332198 msi: Reject greater than and less than string comparisons in WHERE clauses. 2009-12-15 11:45:04 +01:00
James Hawkins
8fe8a100c8 msi: Free the enumeration data returned by IEnumSTATSTG_Next. 2009-12-14 12:20:48 +01:00
James Hawkins
7abb42a994 msi: Free each table object when deleting the join view. 2009-12-14 12:20:43 +01:00
James Hawkins
ee2cf9a597 msi: Free the Streams and Storages view object in their respective delete methods. 2009-12-14 12:20:39 +01:00
James Hawkins
f45db6eee7 msi: Implement DROP_delete that deletes the drop view. We were leaking the view before. 2009-12-14 12:20:33 +01:00
James Hawkins
37a058208d msi: Fix a record handle leak. 2009-12-14 12:20:25 +01:00
James Hawkins
d2fe01aa32 msi: Free each storage name when deleting the storages view. 2009-12-14 12:20:20 +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
James Hawkins
12134243c3 msi: Free each stream name when deleting the streams view. 2009-12-14 12:20:03 +01:00
James Hawkins
a7fe36b327 msi: Don't free str until the last instance of its use. 2009-12-14 12:19:58 +01:00
James Hawkins
f4829063bc msi: Make sure we don't access pcchValueBuf when szBuffer is NULL, as pcchValueBuf is not required to be initialized in this case. 2009-12-14 12:19:52 +01:00
Alexandre Julliard
8b50188f57 msi/tests: Fix a handle leak. 2009-12-11 20:20:30 +01:00
Chris Schafer
350cdd2fe5 msi/tests: Remove some barriers to running msi tests in parallel. 2009-12-11 17:47:30 +01:00
James Hawkins
50833f0780 msi: Wine fails the test and passes us a Session object back, so free it in this case. 2009-12-11 12:16:27 +01:00
James Hawkins
e38c36a1f9 msi: Refactor the Installer.RelatedProducts method into InstallerImpl_RelatedProducts. 2009-12-11 12:16:27 +01:00
James Hawkins
105933f202 msi: Refactor the Installer.Products method into InstallerImpl_Products. 2009-12-11 12:16:27 +01:00
James Hawkins
9f09d47be3 msi: Refactor the Installer.ProductInfo method into InstallerImpl_ProductInfo. 2009-12-11 12:16:27 +01:00
James Hawkins
fd2884a155 msi: Refactor the Installer.ProductState method into InstallerImpl_ProductState. 2009-12-11 12:16:27 +01:00
James Hawkins
11b4fe743a msi: Refactor the Installer.RegistryValue method into InstallerImpl_RegistryValue. 2009-12-11 12:16:27 +01:00
James Hawkins
138d5f1f6c msi: Refactor the Installer.Version method into InstallerImpl_Version. 2009-12-11 12:16:27 +01:00
James Hawkins
96c480b880 msi: Refactor the Installer.InstallProduct method into InstallerImpl_InstallProduct. 2009-12-11 12:16:27 +01:00
James Hawkins
851e4779be msi: Refactor the remaining Installer object stub methods into respective functions. 2009-12-11 12:16:27 +01:00
James Hawkins
dc0889752a msi: Refactor the Installer.UILevel method into InstallerImpl_UILevel. 2009-12-11 12:16:27 +01:00
James Hawkins
18ba830ff8 msi: Refactor the Installer.SummaryInformation method to InstallerImpl_SummaryInformation. 2009-12-11 12:16:27 +01:00
James Hawkins
554e1318c0 msi: Refactor Installer.OpenProduct and Installer.OpenDatabase into respective functions. 2009-12-11 12:16:27 +01:00
James Hawkins
b33d47e773 msi: Refactor the Installer.OpenPackage method into InstallerImpl_OpenPackage. 2009-12-11 12:16:26 +01:00
James Hawkins
b73389b6bf msi: Refactor the Installer.CreateRecord method into InstallerImpl_CreateRecord. 2009-12-11 12:16:26 +01:00
James Hawkins
ae58e29e5e msi: Stub out a few more Installer object methods. 2009-12-11 12:16:26 +01:00
James Hawkins
9ab7d9e21a msi: Close the original record before copying new data into it. 2009-12-11 12:16:26 +01:00
James Hawkins
a44b653d53 msi: Fix a handle leak in the record tests. 2009-12-11 12:16:26 +01:00
James Hawkins
d90aca35c4 msi: Add a NULL terminator to file->dest after reallocation. 2009-12-08 12:36:51 +01:00
James Hawkins
b13803ea40 msi: Free the column info data when updating the table column info. 2009-12-08 12:36:36 +01:00
James Hawkins
c20902314b msi: Make sure to free the extra row data when deleting a row. 2009-12-08 12:36:28 +01:00
Hans Leidekker
3840de5b1e msi/tests: Loosen check on kernel32 language version. 2009-12-07 14:18:29 +01:00
James Hawkins
25ab693008 msi: The second parameter to Installer.OpenPackage is optional, so set a default value of 0 if the parameter is not provided. 2009-12-07 09:49:06 +01:00
James Hawkins
1ff6c08621 msi: Verify that the first parameter to Installer.OpenPackage is a VT_BSTR.
It seems ugly to open up the parameters in pDispParams, but
DispGetParam will happily convert a VT_EMPTY to a VT_BSTR and not
return an error.
2009-12-07 09:49:06 +01:00
James Hawkins
4687604356 msi: It's possible to send in more than two parameters to Installer.OpenPackage, but sending in zero parameters should return DISP_E_TYPEMISMATCH. 2009-12-07 09:49:06 +01:00