Hans Leidekker
bcc0ad9b07
msi: Release summary information on error in msi_parse_patch_summary.
2010-04-13 11:48:25 +02:00
Hans Leidekker
a0ba56b3bd
msi/tests: Run the RemoveODBC action to unregister the fake drivers.
2010-04-13 11:48:20 +02:00
Hans Leidekker
88214a72ce
msi: Make the string reference count a short.
...
This is safe because the reference count is stored in 2 bytes on disk.
2010-04-13 11:48:14 +02:00
Hans Leidekker
ff2f894888
msi: Make the string reference count a short.
...
This is safe because the reference count is stored in 2 bytes on disk.
2010-04-13 11:46:14 +02:00
Detlef Riekenberg
d4303865e8
msi: Display a MessageBox in MsiMessageBoxEx.
2010-04-12 11:31:12 +02:00
Paul Vriens
55fbf84d26
msi/tests: Remove temporary files.
2010-04-09 11:53:58 +02:00
Hans Leidekker
dd1bef3498
msi: Reset the MsiEnumPatchesExW index on failure.
2010-04-02 15:22:50 +02:00
Hans Leidekker
7aad77ae58
msi: Add tests for registering and unregistering MIME info.
2010-04-02 15:22:49 +02:00
Hans Leidekker
3050cde95e
msi: Implement the UnregisterMIMEInfo standard action.
2010-04-02 15:22:49 +02:00
Hans Leidekker
a7ef96f97f
msi: Add tests for registering and unregistering extension info.
2010-04-02 15:22:49 +02:00
Hans Leidekker
17d7effd2a
msi: Implement the UnregisterExtensionInfo standard action.
2010-04-02 15:22:49 +02:00
Hans Leidekker
3bdfa1f624
msi: Implement the UnregisterProgIdInfo standard action.
2010-04-02 15:22:48 +02:00
Hans Leidekker
90158af2dc
msi: Add tests for registering and unregistering class info.
2010-04-02 15:22:48 +02:00
Hans Leidekker
cf75d40dad
msi: Set the action taken in the RegisterExtensionInfo and RegisterClassInfo actions.
2010-04-02 15:22:48 +02:00
Hans Leidekker
843968c056
msi: Implement the UnregisterClassInfo standard action.
2010-04-02 15:22:47 +02:00
Mikhail Maroukhine
86f76d2b48
msi: Fix compiler warnings with flag -Wcast-qual.
2010-03-29 12:14:44 +02:00
Mikhail Maroukhine
f930c87fd6
objbase.h: CLSIDFromString: Add constness to the parameters declaration in accordance with MSDN.
2010-03-29 12:11:02 +02:00
Hans Leidekker
5a08c9ed6f
msi: Improve the SetODBCFolders action stub.
2010-03-26 15:35:37 +01:00
Hans Leidekker
2c5e1f686b
msi: Implement the Reinstall control event.
2010-03-26 15:35:32 +01:00
Hans Leidekker
e5869d5d5c
msi: Keep source directory and cabinet file separate.
2010-03-26 15:35:24 +01:00
Hans Leidekker
1407f1ee36
msi: Return the right error when a cabinet cannot be extracted.
2010-03-26 15:35:20 +01:00
Hans Leidekker
129161fec5
msi: Update the UI in the StartServices and StopServices actions.
2010-03-26 15:35:17 +01:00
Alexandre Julliard
4a88562ec7
msi: Reset the MsiEnumProductsW index on failure.
2010-03-26 15:34:48 +01:00
Paul Vriens
d495fa1e68
msi/tests: Fix test failures on W2K with Windows Installer 3.0.
2010-03-25 13:01:29 +01:00
Paul Vriens
114aa43a54
msi/tests: Fix test failures on W2K with Windows Installer 2.x.
2010-03-25 13:01:24 +01:00
Paul Vriens
05d0787d08
msi/tests: Fix test failures on W2K with Windows Installer 2.x.
2010-03-24 21:53:05 +01:00
Hans Leidekker
1d453a1ff0
msi: Search network sources in addition to disk sources.
2010-03-23 13:24:27 +01:00
Hans Leidekker
faf750f2f7
msi: Remove stream from streams cache before destroying it.
2010-03-23 13:24:27 +01:00
Hans Leidekker
367c2048a1
msi: Don't crash on null last parameter in MsiDecomposeDescriptor.
2010-03-23 13:24:27 +01:00
Hans Leidekker
d0856c0ac5
msi: Display REG_EXPAND_SZ values too in the WriteRegistryValues action.
2010-03-23 13:24:26 +01:00
Hans Leidekker
18a85caa3c
msi: Update the UI in the UnpublishFeatures action.
2010-03-23 13:24:26 +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
Hans Leidekker
27e90274b5
msi: Set the action taken in the ProcessComponents and InstallFiles actions.
2010-03-23 13:24:26 +01:00
Hans Leidekker
8722d0c44a
msi: The AppSearch and CCPSearch actions must be run only once.
2010-03-23 13:24:26 +01:00
Hans Leidekker
a4be941df9
msi: Display the file identifier instead of the filename in the SelfRegModules and SelfUnregModules actions.
2010-03-23 13:24:26 +01:00
Paul Vriens
ba51763f4a
msi/tests: Remove temporary files.
2010-03-22 10:42:48 +01:00
Alexandre Julliard
fbef7217b9
makefiles: Remove the no longer needed explicit dependencies for bison files.
2010-03-16 13:28:24 +01:00
Alexandre Julliard
bef5645eb1
makefiles: Remove the no longer needed explicit separators for dependencies.
2010-03-16 13:28:19 +01:00
Nikolay Sivov
5c6de7957e
msi: Convert IWineMsiRemoteDatabase BSTR parameters to LPCWSTR to avoid typecast.
2010-03-15 14:18:06 +01:00
Paul Vriens
e5c182f0df
msi/tests: Remove a key after running tests.
2010-03-15 13:17:38 +01:00
Hans Leidekker
73d316c58d
msi: Also update the UI when removing files listed in the RemoveFiles table.
2010-03-05 13:14:46 +01:00
Hans Leidekker
ab9a181326
msi: Update the UI in the RegisterUser action.
2010-03-05 13:14:41 +01:00
Hans Leidekker
4341f18c7e
msi: Update the UI in the RegisterProduct action.
2010-03-05 13:14:36 +01:00
Hans Leidekker
c547fb3629
msi: Display the product code in the PublishProduct action.
2010-03-05 13:14:32 +01:00
Hans Leidekker
e90fbf09c7
msi: Update the UI in the MsiPublishAssemblies action.
2010-03-05 13:14:27 +01:00
Hans Leidekker
a358c7f6d4
msi: Update the UI in the MoveFiles action.
2010-03-05 13:14:23 +01:00
Hans Leidekker
aba6afc85e
msi: Move the implementation of the MoveFiles action to files.c.
2010-03-05 13:14:19 +01:00
Hans Leidekker
a5549305de
msi: Update the UI in the RemoveODBC action.
2010-03-05 13:14:11 +01:00
Hans Leidekker
eff0503f64
msi: Update the UI in the InstallODBC action.
2010-03-05 13:14:06 +01:00
Hans Leidekker
bb9451adae
msi: Display the product code in the FindRelatedProducts action.
2010-03-05 13:14:01 +01:00
Hans Leidekker
2666294f64
msi: Properly update the UI in the DuplicateFiles and RemoveDuplicateFiles actions.
2010-03-05 13:13:57 +01:00
Hans Leidekker
3c36d9d1f9
msi: Update the UI in the DeleteServices action.
2010-03-05 13:13:52 +01:00
Hans Leidekker
a70d86d3c9
msi: Display directory identifier instead of the full path in the CreateFolders action.
2010-03-05 13:13:47 +01:00
Hans Leidekker
868e6f2bc8
msi: Update the UI in the AppSearch action.
2010-03-05 13:13:42 +01:00
Hans Leidekker
31d0664ebd
msi: Update the UI in the AllocateRegistrySpace action.
2010-03-05 13:13:37 +01:00
Hans Leidekker
353035fadd
msi: Initialize a couple of variables.
...
Found by Valgrind.
2010-03-04 12:30:29 +01:00
Hans Leidekker
aaf5ffb2b5
msi: Add tests for removing environment strings.
2010-03-03 15:23:28 +01:00
Hans Leidekker
f62211198a
msi: Implement the RemoveEnvironmentStrings standard action.
2010-03-03 15:23:23 +01:00
Hans Leidekker
7b6858546c
msi: Strip leading text style label from control text before lookup in binary table.
2010-03-03 15:23:15 +01:00
Andrew Nguyen
0270f18e11
msi: Correctly set the process working directory in custom action type 34.
2010-03-03 11:52:37 +01:00
Hans Leidekker
75ec82bbaf
msi: Add tests for removing values from .ini files.
2010-03-02 16:12:23 +01:00
Hans Leidekker
b891d0888a
msi: Implement the RemoveIniValues standard action.
2010-03-02 16:12:17 +01:00
Hans Leidekker
1fe30e0015
msi: Skip the FindRelatedProducts action when product is already installed.
2010-03-02 16:12:08 +01:00
Hans Leidekker
e637839a83
msi: Improve a trace.
2010-03-02 16:11:57 +01:00
Hans Leidekker
6c6b2a7a18
msi: Look at the requested action when publishing assemblies, not the action taken.
2010-03-02 16:11:53 +01:00
Hans Leidekker
ff3ed5f051
msi: Look at the requested action when moving files, not the action taken.
2010-03-02 16:11:49 +01:00
Hans Leidekker
c13d84fffc
msi: Look at the requested action when deleting services, not the action taken.
2010-03-02 16:11:44 +01:00
Hans Leidekker
2d3676d912
msi: Look at the requested action when stopping services, not the action taken.
2010-03-02 16:11:40 +01:00
Hans Leidekker
87448dcaeb
msi: Look at the requested action when installing services, not the action taken.
2010-03-02 16:11:36 +01:00
Hans Leidekker
c8308ef99d
msi: Only create environment strings when the component is set to be installed.
2010-03-02 16:11:31 +01:00
Hans Leidekker
a64372ca44
msi: Improve a trace.
2010-03-02 16:11:24 +01:00
Hans Leidekker
930b5e1c68
msi: The table for isolated components is called IsolatedComponent.
2010-02-26 14:20:53 +01:00
Hans Leidekker
fd5887e5a9
msi: Remove empty directories as part of the RemoveFiles action.
2010-02-26 14:20:48 +01:00
Hans Leidekker
b2c8f35107
msi: Add tests for removing registry values.
2010-02-25 16:00:58 +01:00
Hans Leidekker
342f866044
msi: Implement the RemoveRegistryValues standard action.
2010-02-25 16:00:51 +01:00
Hans Leidekker
5c59617121
msi: Add tests for creating and removing duplicate files.
2010-02-23 13:31:04 +01:00
Hans Leidekker
253a7fa73c
msi: Implement the RemoveDuplicateFiles standard action.
2010-02-23 13:31:01 +01:00
Hans Leidekker
587e107398
msi: Allocate sufficient memory in ITERATE_InstallODBCDriver and ITERATE_InstallODBCTranslator.
...
Found by Valgrind.
2010-02-22 13:15:22 +01:00
Hans Leidekker
a620a84f4c
msi/tests: Free exception information.
...
Found by Valgrind.
2010-02-22 13:15:16 +01:00
Hans Leidekker
ba090ede7b
msi: All stream names starting with 0x0005 are unencoded.
...
Fixes a regression caused by 1ff9923148
.
2010-02-22 13:15:09 +01:00
Hans Leidekker
ec5ae81c8d
msi: Make msi_reset_folders static.
2010-02-22 13:14:35 +01:00
Alexandre Julliard
6164ce2d82
makefiles: Use the standard C_SRCS variable as the list of test files.
...
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Hans Leidekker
1ff9923148
msi: Add summary information stream to the streams table.
2010-02-19 13:06:53 +01:00
Hans Leidekker
ddb2091623
msi: Fix a memory leak.
2010-02-19 13:06:46 +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
Hans Leidekker
f80f1cc2db
msi: Accept '\5' and '-' in SQL identifiers.
2010-02-19 13:06:32 +01:00
Hans Leidekker
f4bcb105d2
msi: Include run mode in fixmes.
2010-02-19 13:06:27 +01:00
Hans Leidekker
65c68efc8d
msi: Implement MSIRUNMODE_MAINTENANCE and MSIRUNMODE_REBOOTATEND for MsiGetMode.
2010-02-18 14:39:11 +01:00
Hans Leidekker
a11882fc0f
msi: Implement MsiSetMode.
2010-02-18 14:39:06 +01:00
Hans Leidekker
7b660bb3d8
msi: Add tests for publishing and unpublishing components.
2010-02-17 10:57:45 +01:00
Hans Leidekker
0f0e81d14a
msi: Implement the UnpublishComponents standard action.
2010-02-17 10:57:40 +01:00
Hans Leidekker
d95e3eb4d2
msi: PublishComponents must look at the requested install state of the feature, not the component.
2010-02-17 10:57:35 +01:00
Hans Leidekker
9cbb80d984
msi: Only run the CreateFolder and RemoveFolder actions when the component is set to be installed or removed, respectively.
2010-02-16 12:29:08 +01:00
Hans Leidekker
c32d9d7004
msi: Get rid of ACTION_VerifyFeatureForAction.
2010-02-16 12:29:01 +01:00
Hans Leidekker
598c542607
msi: Get rid of ACTION_VerifyComponentForAction.
2010-02-16 12:28:56 +01:00
Hans Leidekker
54391a11c0
msi: Update the UI when registering or unregistering type libraries.
2010-02-16 12:28:48 +01:00
Hans Leidekker
438ad93b22
msi: Implement and test MsiGetPatchInfoA/W.
2010-02-15 16:36:39 +01:00
Hans Leidekker
b4bdfe6746
msi: Add tests for creating and removing shortcuts.
2010-02-15 12:20:02 +01:00
Hans Leidekker
2276c291fc
msi: Implement the RemoveShortcuts standard action.
2010-02-15 12:20:02 +01:00
Paul Vriens
983cff23fa
msi/tests: Fix a test failure on Win9x/WinMe.
2010-02-12 16:39:39 +01:00
Hans Leidekker
f7879b43d5
msi: Fix a memory leak in ITERATE_StartService.
...
Found by Valgrind.
2010-02-12 14:49:38 +01:00
Hans Leidekker
82d50fa675
msi: Return the right error from ITERATE_RegisterTypeLibraries.
2010-02-12 14:49:38 +01:00
Hans Leidekker
98761037ab
msi: Implement the UnregisterTypeLibraries standard action.
2010-02-12 14:49:38 +01:00
Hans Leidekker
bbfaf6af75
msi: Add tests for installing and removing ODBC drivers.
2010-02-11 14:38:45 +01:00
Hans Leidekker
28bf8e1f0d
msi: Implement the RemoveODBC standard action.
2010-02-11 14:38:45 +01:00
Hans Leidekker
2568e5ec65
msi: Make sure attrs variable is properly double nul-terminated in ITERATE_InstallODBCDataSource.
2010-02-11 14:38:45 +01:00
Hans Leidekker
4742dfba98
msi: The File_Setup field in the ODBCDriver and ODBCTranslator tables is optional.
2010-02-11 14:38:45 +01:00
Paul Vriens
312e4f6b23
msi/tests: Run the 'in_use' tests again.
2010-02-10 17:31:28 +01:00
Hans Leidekker
068cb1291b
msi: Add a partial implementation of the ValidateProductID standard action.
2010-02-10 14:31:49 +01:00
Hans Leidekker
7331b3ca98
msi: Implement the UnregisterFonts standard action.
2010-02-10 14:31:15 +01:00
Hans Leidekker
5df62d0c42
msi: Add stub implementations of the DisableRollback and InstallAdminPackage standard actions.
2010-02-10 14:31:05 +01:00
Alexandre Julliard
9644d1dcd7
makefiles: Generate a general catch-all dependency on .tab.h files to replace the manually maintained ones.
2010-02-08 20:58:00 +01:00
Hans Leidekker
f5af1ca399
msi: Implement the SelfUnregModules standard action.
2010-02-05 15:33:11 +01:00
Hans Leidekker
3864ddf9f2
msi: Implement the RemoveFolders standard action.
2010-02-05 15:33:05 +01:00
Marcus Meissner
5c4a3bd61b
msi: Handle some error returns (Coverity).
2010-02-04 17:27:34 +01:00
Marcus Meissner
9fab263d39
msi: Call Custom function via wrapper.
2010-02-04 14:06:34 +01:00
Hans Leidekker
b9da31f112
msi: Implement the DeleteServices standard action.
2010-02-04 13:39:29 +01:00
Hans Leidekker
3d38c07706
msi: Add tests for the _Streams table implementation.
2010-02-04 13:39:29 +01:00
Hans Leidekker
19b50cff34
msi: Fix an off-by-one error in STREAMS_find_matching_rows.
2010-02-04 13:39:29 +01:00
Hans Leidekker
95a21c27da
msi: Give the Name field from the _Streams table a valid type.
2010-02-04 13:39:29 +01:00
Hans Leidekker
24dd10c6b0
msi: Make room for the new row in STREAMS_insert_row.
2010-02-04 13:39:28 +01:00
Hans Leidekker
c1940c1c5f
msi: Allow overwriting an existing stream in STREAMS_set_row.
2010-02-04 13:39:28 +01:00
Hans Leidekker
dcbe0fdff2
msi: Encode the stream name before trying to open it.
2010-02-04 13:39:28 +01:00
Hans Leidekker
b833ae0263
msi: Improve error handling in STREAMS_set_row and add_streams_to_table.
2010-02-04 13:39:28 +01:00
Hans Leidekker
5741df2e58
msi: Implement STREAMS_get_row.
2010-02-04 13:39:28 +01:00
Hans Leidekker
74d6fe35a2
msi: Remove unused and redundant name field from STREAM structure.
2010-02-04 13:39:28 +01:00
Juan Lang
aafcf1a536
msi: Remove function name from fixme.
2010-02-04 13:39:28 +01:00
Michael Stefaniuc
643f55abab
msi: Don't print the function name twice in a WARN.
2010-02-04 13:39:28 +01:00
André Hentschel
06e15ee9e6
msi: Copy InstallerImpl_LastErrorRecord to use it for DatabaseImpl.
2010-02-04 13:39:26 +01:00
Hans Leidekker
9a0020ade9
msi: Move some helpers to the module where they are used.
2010-02-03 11:31:48 +01:00
Hans Leidekker
29f47299c2
msi: Implement the ScheduleReboot standard action.
2010-02-03 11:31:48 +01:00
Hans Leidekker
552a9c9b85
msi: Add a stub implementation of the SetODBCFolders standard action.
2010-02-03 11:31:48 +01:00
Hans Leidekker
743ead45c8
msi: Test duplicating files from a nonexistent component.
2010-02-02 11:47:19 +01:00
André Hentschel
3299bfd471
msi: Fix crash with access to component.
2010-02-02 11:47:19 +01:00
Paul Vriens
086711818b
msi/tests: Fix some test failures on Win9x up to W2K.
2010-02-02 11:47:19 +01:00
Luca Bennati
2197da7770
msi: Fix Italian translation.
2010-02-01 12:48:13 +01:00
Hans Leidekker
246f9305e9
msi: Don't fail if the service to start is already running.
2010-02-01 12:11:18 +01:00
Michael Stefaniuc
a0774cabab
msi: Avoid using HIWORD() on string pointers.
2010-01-29 17:25:49 +01:00
Igor Paliychuk
0ee3836844
msi: Add Ukrainian translations.
2010-01-29 13:30:04 +01:00
Hans Leidekker
1d0db2b19b
msi: Don't create all directories in the CreateFolders action.
...
The CreatFolders action should create only the directories listed in the
CreateFolder table, the rest will be created during the InstallFiles action.
Fixes the EndNote 8 installer.
2010-01-28 15:30:26 +01:00
Hans Leidekker
aa19638cb9
msi: Improve some traces.
2010-01-28 15:30:25 +01:00
Hans Leidekker
7c9cb1e1be
msi: Name and arguments in the service control table are formatted strings.
2010-01-28 15:30:25 +01:00
Hans Leidekker
4d14ea47f7
msi: Add a test for MsiSetTargetPath.
2010-01-28 15:30:25 +01:00
Hans Leidekker
0d770c96fe
msi: Don't evaluate the condition table when there are overrides.
2010-01-27 18:46:08 +01:00
Hans Leidekker
36b654e695
msi: Add tests for updating rows in join tables.
2010-01-22 13:09:15 +01:00
Hans Leidekker
882e4fb233
msi: Add support for updating rows in join tables.
2010-01-22 13:09:11 +01:00
Alexandre Julliard
de3fa09cb2
msi: Add a partial stub for the ValidateProductID control event.
2010-01-20 15:36:00 +01:00
Jason Edmeades
06c45a8d59
msi: Correct the setting of environment variables.
...
Contrary to the MSDN, you can 'create only' whilst using a previous value
(ie +-variable and [~];value). This breaks the install of an application
I was debugging who uses that throughout for all their variables. In
addition whilst adding some tests I've also cleaned up invalid prefix
syntax handling and semicolon removal if the original string is empty.
2010-01-20 15:34:19 +01:00
Hans Leidekker
72393c55e9
msi: Add a test to exersize the code to retrieve rows from join tables.
2010-01-19 16:50:56 +01:00
Hans Leidekker
2bfce6cfdc
msi: Fix parsing of feature overrides.
2010-01-18 14:39:23 +01:00
Hans Leidekker
1423ef9923
msi: Support retrieving rows from join tables.
2010-01-18 14:39:17 +01:00
Nathan Gallaher
0c437f558c
msi: Queue dynamically allocated strings in cond.y.
2010-01-08 17:03:15 +01:00
André Hentschel
2e339c471e
msi/tests: Remove dead url.
2010-01-06 09:52:52 +01:00
Andrew Eikum
d1a916a614
msi: Implement recursive INSTALLSTATE updates for msi treeview selector.
2010-01-06 09:51:17 +01:00
Alexandre Julliard
dcf1a0c891
msi: Fix some pointer cast warnings on 64-bit.
2009-12-31 12:12:15 +01:00
Marcus Meissner
e2f7946bbc
msi: Removed unnecessary NULL check.
2009-12-22 13:48:26 +01:00
Paul Vriens
4749b079b5
msi/tests: Fix test failures on Win9x/WinMe.
2009-12-21 15:01:24 +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
Hans Leidekker
699cfc915a
msi: Avoid a crash in STREAMS_delete.
2009-12-18 11:47:39 +01:00
James Hawkins
d9c52bfa70
msi: Free the current filename if we choose to not extract the file.
2009-12-18 11:45:30 +01:00
Hans Leidekker
178ebae4c0
msi: Reset the ALLUSERS property from to 2 to 1.
2009-12-17 14:21:39 +01:00
Hans Leidekker
ff2aa7e3a6
msi: Fix download of installer packages. Return errors from msi_download_file and copy_package_to_temp.
2009-12-17 14:21:32 +01:00
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
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