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
James Hawkins
b614052895
msi: Add more tests for the Installer.OpenPackage method.
...
The following series fixes a few leaks reported by valgrind. We were
leaking exception info caused by Installer.OpenPackage failing when we
didn't expected it.
2009-12-07 09:49:06 +01:00
James Hawkins
7d3e664312
msi: MsiSetMode returns a UINT system error code, not a BOOL.
2009-12-04 14:34:57 +01:00
James Hawkins
6b8b82ef13
msi: ExpandEnvironmentStringsW returns the required size in characters, so multiply the required size by sizeof(WCHAR) when allocating the buffer.
2009-12-03 10:22:40 +01:00
Hans Leidekker
fd8620f6c0
msi/tests: Don't check more bytes than written to the file.
2009-12-01 13:16:30 +01:00
Nathan Gallaher
abb23d8bd5
msi: Support _Streams, _Storages tablename prefixes in SELECT.
2009-11-24 15:54:06 +01:00
Nathan Gallaher
f7ba4b2ec0
msi/tests: Test for SELECT table.column FROM table.
...
Make sure that mixing table columns returns the expected
data. eg: SELECT t1.action, t2.action FROM t1, t2
should return distinct data.
2009-11-24 15:54:00 +01:00
Nathan Gallaher
5c56e1f440
msi: Add support for table names in select statements.
...
Propagate tablename from 'SELECT tablename.column from tablename' queries
into VIEW_find_column(). Previously, the tablename had been dropped.
2009-11-24 15:53:53 +01:00
Michael Martin
d28eabda5c
msi: Shedule rename operation also for ERROR_USER_MAPPED_FILE.
2009-11-20 14:37:09 +01:00
Hans Leidekker
83e7a1214a
msi: Sign extend the value when converting from a small integer.
2009-11-19 11:50:36 +01:00
Piotr Caban
1f7a07ebe3
oleaut32: Ignore milliseconds in VarDateFromUdate implementation.
2009-11-19 11:35:40 +01:00
Hans Leidekker
bd4bc16147
msi: Don't set the ALLUSERS property.
2009-11-17 16:05:27 +01:00
Hans Leidekker
fd549aa25d
msi: Set the LogonUser property.
2009-11-17 16:05:15 +01:00
Hans Leidekker
84ddfd8739
msi: Test more variations of environment string prefixes.
2009-11-13 13:35:58 +01:00
Hans Leidekker
e52531ab1d
msi: Handle environment strings without a value.
2009-11-13 12:21:46 +01:00
Rob Shearman
b960b967c9
msi: Improve stub for MsiGetFeatureCost{A, W} and hook the stub into the VolumeCostList dialog control.
2009-11-09 19:43:23 +01:00
Francois Gouget
97619affe5
msi/tests: Make the handler_xxx() functions static.
...
Also remove extraneous semi-colons.
2009-11-09 19:40:44 +01:00
Detlef Riekenberg
0839ae88ca
msi/tests: MsiSetExternalUIRecord not present before Installer 3.1.
2009-11-05 11:57:21 +01:00
Hans Leidekker
808343fb5b
msi: Implement MsiSetExternalUIRecord.
2009-11-03 22:23:08 +01:00
Hans Leidekker
90fa4fe155
msi: Unicode and ANSI global UI handlers are mutually exclusive.
2009-11-03 22:23:01 +01:00
Hans Leidekker
4b5248c9e0
msi: Add support for the Unicode version of the global UI handler.
2009-11-03 22:22:54 +01:00
Dmitry Timoshkov
0513f3c4e6
msi: Add support for msidbControlAttributesProgress95.
2009-10-29 15:48:38 +01:00
Dmitry Timoshkov
df8780356b
msi: Limit the progress to its maximal value, use MulDiv for better results.
2009-10-29 15:48:27 +01:00
Nate Gallaher
07c321ba73
msi: Test that a query on a join of two tables returns data from the correct table.
2009-10-27 14:01:50 +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
2eb33f5bcb
msi: Avoid accessing uninitialized memory in ACTION_AppSearchReg.
...
Found by valgrind.
2009-10-27 10:53:56 +01:00
Hans Leidekker
3f70b07870
msi/tests: Fix a couple of user SID string leaks.
...
Found by valgrind.
2009-10-27 10:53:42 +01:00
Hans Leidekker
e58ebbf3e0
msi: Fix calculation of required buffer size in MsiSummaryInfoGetPropertyW.
2009-10-23 12:04:38 +02:00
Hans Leidekker
394a437723
msi/tests: Free the string returned from ConvertSidToStringSid.
...
Found by valgrind.
2009-10-23 12:04:06 +02:00
Hans Leidekker
483590a3c5
msi/tests: Avoid accessing uninitialized memory.
...
Found by valgrind.
2009-10-23 12:04:00 +02:00
Hans Leidekker
a15e6cbb1a
msi: Avoid accessing uninitialized memory.
...
Found by valgrind.
2009-10-21 17:05:54 +02:00
Hib Eris
47ec8ab0f3
msi: Remove table_find_insert_idx().
...
The function table_find_insert_idx() is replaced by the more generic
function find_insert_index().
2009-10-20 15:57:25 +02:00
Hib Eris
f6ae2507ef
msi: Fix table rows order.
2009-10-20 15:57:09 +02:00
Hib Eris
efacff81d6
msi: Add function get_table_value_from_record.
2009-10-20 15:57:01 +02:00
Hib Eris
9dddb94b99
msi: Fix merging string type checks.
2009-10-20 15:55:43 +02:00
Hib Eris
925fb3b408
msi/tests: Add tests for rows order.
2009-10-20 15:07:07 +02:00
Hib Eris
8d49633275
msi/tests: Add test for merging string types.
2009-10-20 15:03:39 +02:00
Hib Eris
a3214c978d
msi: Fix a failure with merging existing tables.
2009-10-20 15:03:33 +02:00
Hib Eris
6aad5cb307
msi/tests: Add tests for merging existing tables.
2009-10-20 15:03:24 +02:00
Hans Leidekker
afcd2c5358
msi: Open the database read/write in MSI_OpenPackageW.
...
Fixes transforms that add binary streams.
2009-10-20 14:40:01 +02:00
Hans Leidekker
8dd3d389b0
msi: Create the local copy before opening the database.
2009-10-20 14:39:55 +02:00
Hans Leidekker
33d9f37f4a
msi: Always create a temporary copy of the package.
2009-10-20 14:39:47 +02:00
Hans Leidekker
534f20bc49
msi: Get rid of some redundant initializations.
2009-10-19 15:02:42 +02:00
Hans Leidekker
b7a81df452
msi: Allocate MSISCRIPT structure at package creation time.
2009-10-19 15:02:36 +02:00
Hans Leidekker
a187b43ddd
msi: Eliminate the last parameter from ACTION_PerformActionSequence.
2009-10-15 14:17:24 +02:00
Hans Leidekker
e3aa2f33d9
msi: Use a function to test the UI level instead of passing a boolean around.
2009-10-15 14:17:18 +02:00
Hans Leidekker
796eed1dc7
msi: Reorder functions to avoid forward declarations.
2009-10-15 14:17:06 +02:00
Hans Leidekker
55b89f4a66
msi: Add some tests for MsiGetTargetPathW.
2009-10-15 14:16:57 +02:00
Hans Leidekker
843382f284
msi: Define common strings only once.
2009-10-15 14:16:50 +02:00
Francois Gouget
fe935e8d50
Assorted spelling fixes.
2009-10-08 12:17:31 +02:00
Alexandre Julliard
fa6ffb4d5d
Fix empty function prototypes.
2009-10-07 12:24:53 +02:00
Paul Vriens
35df8f2d69
msi/tests: Skip some tests on Win9x/WinMe.
2009-10-02 11:51:23 +02:00
Hans Leidekker
9c8b83ce01
msi: Schedule a rename operation when the file to overwrite is in use.
2009-10-01 12:04:02 +02:00
Michael Stefaniuc
f8ec47d5c6
msi/tests: Remove trailing '\'.
2009-09-29 18:08:30 +02:00
Hans Leidekker
c0c6daeb5a
msi: Test installing over in-use files.
2009-09-29 16:06:23 +02:00
Hans Leidekker
46ac59f988
msi: Don't set the Installed property twice.
2009-09-29 16:06:23 +02:00
Hans Leidekker
2beee126a7
msi: Test the Installed property.
2009-09-29 16:06:22 +02:00
Hans Leidekker
1b7d1d4c87
msi: Respect UI level in custom action type 19.
2009-09-29 16:06:22 +02:00
Hans Leidekker
4086ff6248
msi: Add tests to show that the condition table is ignored when there are overrides.
2009-09-22 16:20:51 +02:00
Hans Leidekker
ae3418fdd9
msi: Test last used source property in combination with cabinet storage.
2009-09-22 16:20:48 +02:00
Paul Vriens
c6e7558cda
msi/tests: Fix some test failures on Vista/W2K8.
2009-09-22 16:15:36 +02:00
Paul Vriens
6867de0714
msi/tests: Skip some tests on Win9x/WinMe.
2009-09-18 08:56:16 -05:00
Hans Leidekker
659768e203
msi: Set or override a user environment string when there is no prefix.
2009-09-16 12:57:33 -05:00
Hans Leidekker
86e08ea4e4
msi: Don't append the cabinet file name in find_published_source.
2009-09-16 12:56:57 -05:00
Hans Leidekker
60d0cf41b3
msi: GetDriveType and GetVolumeInformation require a path terminated by a slash.
2009-09-16 12:56:50 -05:00
Hans Leidekker
fc15d6d5ad
msi: Downgrade two ERRs to WARNs.
2009-09-16 12:56:44 -05:00
Hans Leidekker
90d283f0eb
msi: Improve a trace.
2009-09-16 12:56:38 -05:00
Hans Leidekker
5669e67d48
msi: Set ProductState property.
2009-09-11 16:19:54 +02:00
Hans Leidekker
dd1ca6ca5e
msi: Ignore CoInitialize failure in ACTION_CreateShortcuts.
2009-09-10 22:32:13 +02:00
Hans Leidekker
3a7c2d005c
msi: Open the database read/write when the update count is greater than zero in MsiGetSummaryInformation.
2009-09-10 10:50:28 +02:00
Hans Leidekker
92cd7a8fa0
msi: Add a test to show that creating shortcuts works regardless of COM initialization state.
2009-09-09 16:25:00 +02:00
Alexandre Julliard
e98a52e585
msi: Force overwriting of read-only files when extracting a cabinet, with tests.
2009-09-09 12:19:28 +02:00
Hans Leidekker
05e9a1fce8
msi: Add a partial implementation of MsiDetermineApplicablePatchesW.
2009-09-02 14:41:31 +02:00
Hans Leidekker
1169aa9a58
msi: Set REINSTALL property when the product is already installed and the command line is empty.
2009-09-02 14:41:24 +02:00
Ge van Geldorp
167ef04727
msi/tests: Create only a single restore point.
2009-08-28 16:48:27 +02:00
Hans Leidekker
eb101df687
msi: Fix column width calculation.
...
The iTunes 8 installer database has an integer column of size 1 which
takes up two bytes at storage level, so adjust the column size calculation
to account for this difference.
2009-08-04 13:05:45 +02:00
Hans Leidekker
0b60ed8ff1
msi: Fix parsing of integer column width specifiers.
2009-08-04 13:05:30 +02:00
Vladimir Pankratov
04deb6d7d1
msi: Convert the Russian resources to UTF-8.
2009-08-03 14:56:39 +02:00
Alexandre Julliard
2c5bd49297
msi: Build a proper tab chain by walking through the controls list.
...
Simply changing Z-order as we encounter windows is not sufficient to
ensure correct ordering, we have to rebuild the list from scratch.
2009-07-15 14:22:14 +02:00
Hib Eris
ec4edbfd6c
msi: Implement ASSIGN mode in MsiViewModify.
2009-07-06 15:25:39 +02:00
Hib Eris
eaea537f0f
msi/tests: Add tests for MsiViewModify ASSIGN mode.
2009-07-06 15:25:36 +02:00
Frédéric Delanoy
e801cae520
msi: Update French translation.
2009-07-03 13:11:24 +02:00
Michael Stefaniuc
5234f1fd0a
msi: Build language resource files separately.
...
Do not include them from an other rc file.
2009-07-02 11:44:15 +02:00
Hans Leidekker
60b7604aa1
msi: Support opening transform databases.
2009-06-30 13:46:39 +02:00
Alexandre Julliard
3271362a26
msi: The dialog units are based on a 12-point font size, despite the documentation.
2009-06-25 12:09:45 +02:00
Hib Eris
5392014e29
msi: Release more msi_custom_action_info when no longer needed.
2009-06-22 13:09:03 +02:00
Hib Eris
e86ebd75b0
msi: Release msi_custom_action_info when no longer needed.
2009-06-22 13:08:55 +02:00
Hib Eris
65ac206194
msi: Insert new tables in correct _Tables location.
2009-06-22 13:08:36 +02:00
Hib Eris
19d783d34d
msi/tests: Add tests for order of tables.
2009-06-22 13:08:28 +02:00
Aurimas Fišeras
a66dc8f981
msi: Add Lithuanian translation.
2009-06-22 11:28:00 +02:00
Paul Vriens
9a1b829923
msi/tests: Fix some test failures on Win95 by using more A-functions.
2009-06-19 13:52:38 +02:00
Paul Vriens
44b53ef35e
msi/tests: Fix test (logical || with non-zero constant).
2009-06-19 13:52:26 +02:00
Hans Leidekker
e3a7ae8a30
msi: Add some reinstall tests.
2009-06-12 17:33:15 +02:00
Mike Kaplinskiy
9e5d07bb53
msi: Add a test to insert a null primary key temporary row and check its order.
2009-06-11 13:23:25 +02:00
Mike Kaplinskiy
2cc9a710b1
msi: Store temporary rows in the same place as persistent rows, just with a flag.
2009-06-11 13:23:25 +02:00
Hib Eris
8fb7fdd029
msi: Fix a crash when freeing memory.
2009-06-11 11:45:48 +02:00
Paul Vriens
9b6cf22607
msi/tests: Make sure we only create one logfile.
2009-06-09 17:01:13 +02:00
Marcus Meissner
890b5dafb6
msi: Check the correct pointers for allocation failure (Coverity).
2009-06-05 15:19:57 +02:00
Hans Leidekker
f9e33e9af6
msi/tests: Ignore case when comparing file names.
2009-06-04 12:18:20 +02:00
Hans Leidekker
761736e6aa
msi: Add more tests for MsiGetSourcePath.
2009-06-04 12:18:15 +02:00
Hans Leidekker
a0b9315dff
msi: Add tests for importing a _SummaryInformation table.
2009-06-04 12:18:09 +02:00
Hans Leidekker
d02dbf4492
msi: Initialize some variables.
2009-06-04 12:18:04 +02:00
Hans Leidekker
c1670fb353
msi: Don't trace an out parameter.
2009-06-04 12:17:59 +02:00
Hans Leidekker
7d837b9f82
msi: The assembly file version field is optional.
2009-05-29 15:35:59 +02:00
Hans Leidekker
22a277cc2e
msi: Fix some memory leaks.
2009-05-28 15:29:09 +02:00
Hans Leidekker
a4b76ceee7
msi: Consistently use the parser allocator when parsing a query.
2009-05-28 15:29:02 +02:00
Hans Leidekker
5922de46de
msi: Don't duplicate the table name in CREATE_CreateView.
...
The table name is tracked in the list attached to the parent query object,
which is destroyed after the view object.
This plugs a leak since the duplicated table name was never freed.
2009-05-28 15:28:53 +02:00
Hans Leidekker
2018de00e1
msi: Constify some parameters.
2009-05-28 15:28:45 +02:00
Paul Vriens
db355b4903
msi/tests: Remove unused variable.
2009-05-28 12:42:17 +02:00
Paul Vriens
45c00da496
msi/tests: Prevent crash when ConvertSidToStringSidA is not available.
2009-05-27 15:40:30 +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
97200b0b31
msi/tests: Add test for merging tables that are not in target database.
2009-05-27 12:51:36 +02:00
Hib Eris
987d17dc6f
msi: Fix merging tables with string primary keys.
2009-05-27 12:51:31 +02:00
Hib Eris
a807e86dd7
msi/tests: Add test for merging tables with string primary keys.
2009-05-27 12:51:22 +02:00
Hib Eris
086fcfc1f4
msi: Initialize a variable.
2009-05-27 12:51:15 +02:00