Commit Graph

3853 Commits

Author SHA1 Message Date
Dmitry Timoshkov 1b3087e79f msi/tests: Add a test for MsiInstallProduct with command line containing double quotes inside of the property.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2015-10-06 22:59:32 +09:00
Hans Leidekker 9a5788afc1 msi: Set the PrimaryVolumeSpaceRequired and PrimaryVolumeSpaceRemaining properties.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
2015-10-01 16:23:15 +09:00
Hans Leidekker 100c043e89 msi/tests: Fix a test failure on Ultimate editions.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
2015-09-25 21:02:52 +02:00
Akihiro Sagawa 6e51cfddfd msi: Feature treeview should have WS_TABSTOP style. 2015-09-14 16:47:52 +09:00
Piotr Caban f326e372d1 msi/tests: Fix MsiProvideQualifiedComponent test failure. 2015-09-14 16:19:27 +09:00
Piotr Caban e8f4fea5a0 msi: Check HKLM/Software/Classes/Installer/Components path while looking for components. 2015-09-09 18:26:32 +09:00
Hans Leidekker fca92ae67c msi/tests: Avoid test failures when running as an unprivileged user. 2015-09-07 18:52:14 +09:00
Jacek Caban d8f79a037c msi: Fixed varg0 leak in InstallerImpl_SummaryInformation. 2015-09-01 15:23:53 +09:00
Hans Leidekker d3ce29449b msi: Implement Installer::SummaryInformation. 2015-08-26 23:15:26 +09:00
Hans Leidekker ddaba7a369 msi: Don't add the same environment string more than once. 2015-08-26 23:15:26 +09:00
Dmitry Timoshkov 2ad9312f02 msi: Avoid using dialog record after free. 2015-08-18 19:57:11 +09:00
Hans Leidekker 99dfc15e72 msi: Only remove environment strings that were added on install. 2015-08-18 17:30:17 +09:00
Hans Leidekker 7834983541 msi/tests: Mark a test result on win2k3 as broken. 2015-07-17 20:19:41 +09:00
Huw Davies fed41f5306 msi: Don't call CloseServiceHandle() with an invalid handle. 2015-07-16 21:20:50 +09:00
Hans Leidekker dfae842cca msi/tests: Avoid another test failure on win2k3. 2015-07-15 23:19:32 +09:00
Hans Leidekker 0bd46f1501 msi: Add a stub implementation of MsiJoinTransaction. 2015-07-15 23:19:29 +09:00
Hans Leidekker f9dc20cfcc msi: Fix a couple of memory leaks (Coverity). 2015-07-15 23:19:25 +09:00
Hans Leidekker 17405f6b91 msi: Check the return value of MSI_QueryGetRecord (Coverity). 2015-07-15 23:19:23 +09:00
Huw Davies e1a65bed68 msi: Be more selective about which access modes are used to open or create keys.
An installer was failing when trying to create subkeys after denying
delete access to their parent key.
2015-07-15 23:19:09 +09:00
Huw Davies 4a992fec01 msi: Fix a registry key leak. 2015-07-15 23:18:54 +09:00
Hans Leidekker b71075ad9b msi/tests: Avoid test failures on win2k3. 2015-07-10 21:44:49 +09:00
Bernhard Übelacker a1dbf4d78b msi: Remove shortcut which calls RegEnumValueW with value and val_count as NULL. 2015-07-01 15:19:13 +09:00
Bernhard Übelacker db5f235a8b msi/tests: Test MsiSourceListEnumMediaDisks with volumeLabel and diskPrompt as NULL. 2015-07-01 15:19:09 +09:00
Hans Leidekker 597c5f9c4b msi: Open database cabinet streams through the streams implementation. 2015-06-22 19:18:48 +09:00
Hans Leidekker 806ff30f92 msi/tests: Fix test failures on win2k3. 2015-06-22 19:17:50 +09:00
Marcus Meissner d0cb2519b6 msi: Free rec in error exit (Coverity). 2015-06-12 15:24:44 +09:00
Alexandre Julliard 12a2b849a6 msi: Inherit state for radio buttons from the parent group dynamically. 2015-04-29 12:22:57 +09:00
Hans Leidekker 4710e973f8 msi: Initialize a variable (valgrind). 2015-04-21 22:21:36 +09:00
Hans Leidekker e6ce4de393 msi: Fix an invalid memory access (valgrind). 2015-04-21 22:21:31 +09:00
Hans Leidekker 55b678e186 msi: Initialize a variable (valgrind). 2015-04-21 22:21:27 +09:00
Hans Leidekker 6ef2d26a53 msi: Fix a trace.
Reported by Marcus Meissner.
2015-04-21 22:21:24 +09:00
Hans Leidekker 8969377647 msi: Perform a suffix match on the volume name. 2015-04-17 14:52:45 +09:00
Hans Leidekker 20c3c09fac msi: Improve the check for files obsoleted by patches. 2015-04-17 14:52:42 +09:00
Hans Leidekker dc2228305c msi: Add support for patching global assembly files. 2015-04-10 22:46:19 +09:00
Hans Leidekker d263c91ce2 msi: Assume that file patches from registered MSI patches have already been applied. 2015-04-10 22:46:19 +09:00
Hans Leidekker e4fd6265eb msi: Take the component action into account for file patches. 2015-04-10 22:46:19 +09:00
Hans Leidekker 17b80c8ec0 msi: Don't read past the end of the patch list in MsiApplyMultiplePatchesW. 2015-04-10 22:46:18 +09:00
Hans Leidekker eb116d6640 msi: Get rid of global variables the cabinet extraction callbacks. 2015-04-01 22:34:20 +09:00
Hans Leidekker 17b05316a5 msi: Clean up handling of temporary files. 2015-04-01 22:34:20 +09:00
Hans Leidekker 20ef12a762 msi: Don't mark global assembly files as installed when they are extracted. 2015-04-01 22:34:20 +09:00
Hans Leidekker 006801366e msi: Don't apply file patches in the cabinet extraction callback. 2015-04-01 22:34:19 +09:00
Hans Leidekker 0762dd68f8 msi: Store the disk id for file patches. 2015-04-01 22:34:19 +09:00
Hans Leidekker 2acc11c215 msi: Import mspatcha instead of loading it dynamically. 2015-04-01 22:34:19 +09:00
Frédéric Delanoy f6a341c747 Assorted spelling/grammar fixes. 2015-03-27 22:29:48 +09:00
Hans Leidekker c66f9bef60 msi: Check file state before installing global assemblies. 2015-03-25 22:40:45 +09:00
Hans Leidekker 19e51936e0 msi: Skip files from the original media if a patch is applied. 2015-03-25 22:40:41 +09:00
Hans Leidekker b7453555a2 msi: Check the component enabled flag earlier. 2015-03-25 22:40:38 +09:00
Hans Leidekker f8dc7c221b msi: Use the last sequence number specified for patch media when updating media records. 2015-03-25 22:40:34 +09:00
Hans Leidekker cd73576ec0 msi: Avoid allocating a database handle only to retrieve the summary information. 2015-03-25 22:40:30 +09:00
Hans Leidekker 052b3a748e msi: Fall back to the database summary information stream in MSI_OpenPackageW. 2015-03-25 22:40:24 +09:00
Francois Gouget f51569626c msi: Mark internal symbols with hidden visibility. 2015-03-24 20:01:30 +09:00
Nikolay Sivov 2478421d87 msi: Return interface pointer instead of impl pointer. 2015-03-24 18:16:37 +09:00
Hans Leidekker fa23c7fcb3 msi: Handle errors from IStorage_CreateStream instead of trying to open the stream first in msi_commit_streams. 2015-03-17 00:19:51 +09:00
Hans Leidekker db3fdbe1e3 msi: Fix the case where the summary information stream is already open in MsiGetSummaryInformationW. 2015-03-17 00:19:50 +09:00
Hans Leidekker 7a4d8f57c7 msi: Improve tracing. 2015-03-17 00:19:48 +09:00
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 4c1791f53e msi: Add offsets to file patch sequence numbers. 2015-03-04 23:57:42 +09:00
Hans Leidekker 123428942d msi: Support updating streams. 2015-03-04 23:57:42 +09:00
Hans Leidekker af6281701d msi: Decode stream names in load_streams. 2015-03-04 23:57:41 +09:00
Marcus Meissner c4bf8a85ee msi: Fix memory leak (Coverity). 2015-02-16 19:18:44 +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 db3346247c msi: Get rid of the refcount parameter to msi_addstringW. 2015-02-13 21:48:12 +09:00
Hans Leidekker d954fbf8da msi: Get rid of the open streams cache. 2015-02-13 21:48:07 +09:00
Hans Leidekker c6f3f72d61 msi: Always update column info after applying a transform to the _Columns table. 2015-02-13 21:48:02 +09:00
Austin English f8089da4b3 msi: Add stubs for MsiEnumClientsExA/W. 2015-02-04 21:32:50 +09:00
Hans Leidekker a884d98e99 msi: Add a partial implementation of MsiProvideComponent. 2015-01-21 18:08:10 +01:00
Akihiro Sagawa e52cbbcd03 msi: Remove 32-bit component registry keys with KEY_WOW64_32KEY flag. 2015-01-19 14:20:27 +01:00
Akihiro Sagawa cdf3c23645 msi: Open 32-bit component registry keys with KEY_WOW64_32KEY flag. 2015-01-19 14:20:10 +01:00
Michael Stefaniuc 165c9e7cb9 msi: Remove no-op toupperW() statement (PVS-Studio). 2014-12-10 13:32:01 +01:00
Hans Leidekker 2a8043aa6b msi: Properly handle service control events in Start/StopService. 2014-12-02 13:07:16 +01:00
André Hentschel 481fce766f msi: Remove unused strings (Clang). 2014-12-02 10:31:18 +01:00
André Hentschel 1c3179b21b msi/tests: Remove unused variables (Clang). 2014-12-02 10:31:14 +01:00
Hans Leidekker e3143f1105 msi: Update version resource. 2014-11-27 13:14:16 +01:00
Michael Stefaniuc f52983807e msi/tests: Remove redundant if check (PVS-Studio). 2014-11-26 17:26:34 +01:00
Michael Stefaniuc 481ff775ca msi: Simplify check for an empty string (PVS-Studio). 2014-11-05 19:37:10 +09:00
Hans Leidekker 609de1a80a msi: Call execute_script directly in InstallFinalize. 2014-11-04 21:19:31 +09:00
Hans Leidekker 98ae03ff4d msi: Update properties after each transform that affects the property table. 2014-11-04 21:19:28 +09:00
Hans Leidekker 35ce56ac85 msi: Pass a database pointer to msi_clone_properties instead of a package pointer. 2014-11-04 21:19:24 +09:00
Austin English d2bc004264 msi: Add stubs for MsiRemovePatches(A/W). 2014-11-03 16:35:38 +09:00
Hans Leidekker 7f57d8f19a msi: Format registry values before interpreting value type. 2014-10-31 10:49:19 +09:00
Bruno Jesus 8f79f5f54b msi: Remove duplicate if condition. 2014-10-27 14:36:03 +09:00
Hans Leidekker 1e3f15d88c msi: Support more transform validation flags. 2014-10-21 18:50:01 +09:00
Hans Leidekker 5cb10c96b2 msi: Don't skip the media check for the first volume.
Some installers require the first volume to be reinserted.
2014-10-15 22:40:03 +09:00
Nikolay Sivov 8f971bfee6 msi: Use E_NOT_SUFFICIENT_BUFFER definition. 2014-10-08 13:13:36 +02: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
Hans Leidekker 29baed1bc2 msi: Improve support for advertized shortcuts. 2014-09-12 15:30:13 +02:00
Sebastian Lackner 582f2640d2 msi: Fix ITERATE_MoveFiles when no source- and destname is specified. 2014-09-04 13:37:15 +02:00
Hans Leidekker a5d8ab57f6 msi: Check transform validation flags. 2014-09-03 16:31:17 +02:00
Hans Leidekker 614cb7eac7 msi: Update the cached product code when the property has changed. 2014-09-01 21:10:12 +02:00
Hans Leidekker 5709249986 msi: Return an error from MSI_GetComponentPath if the buffer is too small. 2014-09-01 21:10:12 +02:00
Hans Leidekker 04f9058a28 msi: Set the OutOfNoRbDiskSpace property. 2014-09-01 21:10:12 +02:00
Hans Leidekker 90f023a635 msi/tests: Make tests pass when running from the root directory. 2014-09-01 21:10:11 +02:00
Piotr Caban de9f19df32 msi: Add more feature state tests. 2014-07-24 13:02:47 +02:00
Piotr Caban b1a4055245 msi: Don't check feature install level on features specified in arguments. 2014-07-24 13:02:45 +02:00
Piotr Caban 0dff7bff9a msi: Fix feature actions overriding in process_state_property. 2014-07-24 13:02:43 +02:00
Piotr Caban 331c86f124 msi: Don't publish features with non positive install level. 2014-07-24 13:02:42 +02:00
Akihiro Sagawa 0eed829f7f msi/tests: Add CLSID registry tests for mixed package. 2014-07-21 18:42:45 +02:00
Akihiro Sagawa 5b76cd199a msi/tests: Add non-existence value tests for mixed package. 2014-07-21 15:57:23 +02:00
Akihiro Sagawa 6fc6d32da2 msi: Move set_installed_prop() call because platform information is needed in it. 2014-07-21 15:56:54 +02:00
Daniel Beitler deb2742267 msi: Prevent call to memset with a null pointer in get_tablecolumns function. 2014-05-19 10:01:43 +02:00
Jérôme Gardou 70225a4de3 msi: Expand REG_EXPAND_SZ keys when resolving AppSearch entries. 2014-05-01 10:50:39 +02:00
Hans Leidekker 95d72ae6f0 msi: Avoid a crash when MIME entries point to non-existing extensions. 2014-05-01 10:18:15 +02:00
Hans Leidekker 4c8edb1b4c msi/tests: Fix a couple of memory leaks (valgrind). 2014-04-30 15:15:30 +02:00
Nikolay Sivov 5497a41e92 msi: Fix a leak on error path (Coverity). 2014-04-10 09:11:52 +02:00
Nikolay Sivov 0bcf4a5bb6 msi: Fix a leak on error path (Coverity). 2014-04-10 09:11:50 +02:00
Vincent Povirk a4c6107d81 msi: Fix infinite loop. 2014-04-01 10:43:42 +02:00
Nikolay Sivov 195168351f msi: Fix a record leak on failure removing a column (Coverity). 2014-03-27 12:06:04 +01:00
Nikolay Sivov 203d282a78 msi: Fix a record leak on error path (Coverity). 2014-03-27 12:06:04 +01:00
Nikolay Sivov c01c0b52ed msi: Fix a leak of allocated string buffer on error path (Coverity). 2014-03-27 12:06:04 +01:00
Nikolay Sivov dc33b13581 msi: Fix a record leak on error paths (Coverity). 2014-03-27 12:06:04 +01:00
Nikolay Sivov 20e4705192 msi: Update MsiServerMessage registration version to match module version. 2014-03-20 17:40:36 +01:00
Nikolay Sivov 117ae25764 msi: MsiInstaller coclass is not included in a typelib. 2014-03-20 17:40:33 +01:00
Nikolay Sivov 0e90cebce0 msi: 'optional' only applies to VARIANT and VARIANT* types. 2014-03-18 11:40:51 +01:00
Nikolay Sivov 29eaebaa34 msi: Update feature selection bitmaps. 2014-03-12 10:24:05 +01:00
Marcus Meissner 3fa41c9e70 msi: Fixed missing free in an error path (Coverity). 2014-03-10 10:41:15 +01:00
Francois Gouget f6ccfaa6f3 msi/tests: Update is_process_limited() to deal with non-administrator accounts. 2014-03-05 11:50:35 +01:00
Francois Gouget 38aa71b2c6 msi/tests: Skip some package tests if in a non-administrator, non-power user account. 2014-03-05 11:50:30 +01:00
Francois Gouget 601c5a1a68 msi/tests: Avoid msi test failures when running in an account with insufficient privileges. 2014-03-05 11:50:22 +01:00
Francois Gouget 65bacd4b69 msi/tests: Avoid source test failures when running in an account with insufficient privileges. 2014-03-05 11:50:02 +01:00
Francois Gouget badff7c43a msi/tests: Check that we have enough privileges to run the automation tests.
Note that we could have enough privileges to do the InstallProduct
tests, but not enough to clean up the registry after them, thus
causing later runs to fail. In that case we skip the tests.
2014-03-04 19:23:35 +01:00
Hans Leidekker f525038142 msi: Remove the product reference when a shared component is unregistered. 2014-03-03 17:02:51 +01:00
Hans Leidekker a547027b01 msi: Correctly [un]register progids when associated class and extensions change state. 2014-02-27 09:32:21 -06:00
Hans Leidekker 28ecbec88d msi: Get rid of the InstallMe field in MSIMIME. 2014-02-27 09:32:11 -06:00
Hans Leidekker f0d663fb4d msi: Use an INSTALLSTATE variable to track install state of classes and extensions. 2014-02-27 09:32:02 -06:00
Vincent Povirk b4daf7a7f0 msi/tests: Add tests for [un]registering progids. 2014-02-26 11:12:25 -06:00
Hans Leidekker 1ae3bcc94d msi: Don't install services without an image path.
Spotted by Aric Stewart.
2014-02-22 08:41:22 -06:00
Frédéric Delanoy f21225a41b msi: Fix typo in a field name. 2014-02-13 17:52:15 +01:00
André Hentschel 3c1ca4e548 msi: Use boolean return value in boolean function. 2014-02-04 11:15:47 +01:00
André Hentschel 2d6685f4ec msi: Check return value from MSIREG_OpenInstallProps (Coverity). 2014-01-06 17:19:43 +01:00
Frédéric Delanoy a06363669f msi/tests: Use BOOL type where appropriate. 2014-01-06 17:15:14 +01:00
Hans Leidekker 48908c130c msi: Remove the unused CurrentlyScripting field from MSISCRIPT. 2014-01-03 17:00:12 +01:00
Hans Leidekker fcb924c144 msi: Fall back to the global temporary directory when the TempFolder property resolves to a non-existing directory. 2014-01-03 17:00:08 +01:00
Hans Leidekker 41d2b53c5b msi: Always derive the SourceDir property from the database path. 2014-01-03 17:00:02 +01:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Alexandre Julliard d08ff3ff19 makefiles: Use a single variable for all types of idl files. 2013-12-31 18:15:17 +01:00
Frédéric Delanoy 1d36b93f7e msi/tests: Constify some character strings. 2013-12-27 14:31:52 +01:00
Alexandre Julliard 566d3418af makedep: Add a separate pragma flag for typelibs that need registration. 2013-12-26 13:32:49 +01:00
Hans Leidekker f222582af6 msi: Don't add text to the scrollable text control twice. 2013-12-19 17:10:26 +01:00
Frédéric Delanoy 1983448942 msi: Constify a character string. 2013-12-18 11:34:53 +01:00
Alexandre Julliard ca41acc1f9 makefiles: Automatically update the IDL_H_SRCS variable. 2013-12-15 10:23:06 +01:00
Alexandre Julliard 4f3d71cef3 makefiles: Get rid of the no longer used PO_SRCS variables. 2013-12-15 10:23:04 +01:00
Frédéric Delanoy 5ba7f79bad Assorted spelling fixes. 2013-12-03 19:41:53 +01:00
Hans Leidekker 3271b98263 msi: Fix handling of empty mask edit templates. 2013-12-02 12:12:39 +01:00
Frédéric Delanoy 57d7f74d34 Assorted spelling fixes. 2013-11-21 19:44:46 +01:00
Qian Hong 9612ed1ba6 msi: Get extension name by strrchrW instead of strchrW. 2013-11-13 18:31:36 +01:00
Alexandre Julliard 5756ee09f3 makefiles: Add makedep pragmas for rc files that contain translations. 2013-11-05 20:38:19 +01:00
Alexandre Julliard c7803b885b makefiles: Add makedep pragmas for registration idl files. 2013-11-05 20:38:18 +01:00
Alexandre Julliard f8421142e7 makefiles: Add makedep pragmas for typelib idl files. 2013-11-05 20:38:18 +01:00
Alexandre Julliard 7960e02b17 makefiles: Add makedep pragmas for identifier idl files. 2013-11-05 20:38:18 +01:00
Dmitry Timoshkov a5b51a766b msi: Check number of bytes returned by ReadFile. 2013-10-30 15:28:56 +01:00
Frédéric Delanoy ec1888b7d3 msi/tests: Use BOOL type where appropriate. 2013-10-29 10:22:01 +01:00
Frédéric Delanoy 8793b5fe28 msi: Use BOOL type where appropriate. 2013-10-28 10:40:20 +01:00
Kohei Takahashi 953359c73f msi: Return -1 on open failure in FDI callbacks. 2013-10-15 19:20:19 +02:00
Hans Leidekker 1d124f8869 msi/tests: Compile with -D__WINESRC__. 2013-10-15 14:28:22 +02:00
Hans Leidekker 0354af649a msi/tests: Prepare msi.c for the switch to -D__WINESRC__. 2013-10-15 14:28:22 +02:00
Hans Leidekker 07043df793 msi/tests: Prepare suminfo.c for the switch to -D__WINESRC__. 2013-10-15 14:28:21 +02:00
Hans Leidekker 2a70f1bde3 msi/tests: Prepare source.c for the switch to -D__WINESRC__. 2013-10-15 14:28:21 +02:00
Hans Leidekker c3764ff014 msi/tests: Prepare record.c for the switch to -D__WINESRC__. 2013-10-15 14:28:21 +02:00
Hans Leidekker 8a97d08759 msi/tests: Prepare patch.c for the switch to -D__WINESRC__. 2013-10-15 14:28:21 +02:00
Hans Leidekker 4d236f1942 msi/tests: Prepare package.c for the switch to -D__WINESRC__. 2013-10-15 14:28:21 +02:00
Hans Leidekker e243979c4f msi/tests: Prepare install.c for the switch to -D__WINESRC__. 2013-10-15 14:28:21 +02:00
Hans Leidekker 569d04cd7b msi/tests: Prepare format.c for the switch to -D__WINESRC__. 2013-10-15 14:28:21 +02:00
Hans Leidekker f1498d7736 msi/tests: Prepare db.c for the switch to -D__WINESRC__. 2013-10-15 14:28:21 +02:00
Hans Leidekker ae5c7c2a18 msi/tests: Prepare automation.c for the switch to -D__WINESRC__. 2013-10-15 14:28:21 +02:00
Hans Leidekker 0e8b5ac54a msi/tests: Prepare action.c for the switch to -D__WINESRC__. 2013-10-15 14:28:21 +02:00
Frédéric Delanoy e21abfe07a msi/tests: Use BOOL type where appropriate. 2013-10-08 09:09:18 +02:00
Marcus Meissner 52c9b9f2b3 msi: Fixed a memory leak in an error case (Coverity). 2013-10-07 13:32:07 +02:00
Michael Stefaniuc 0e681027a2 tests: Compile the tests by default with -D__WINESRC__. 2013-10-02 11:04:02 +02:00
Francois Gouget 7c146b8aa0 msi: Make some dialog_xxx() functions static. 2013-09-13 10:57:45 +02:00
Alexandre Julliard 3f98185fb8 msi: Use bison directives instead of defines to specify extra lexer parameters. 2013-08-01 12:00:04 +02:00
Hans Leidekker 1257db2109 msi: Fix integer conversion in get_table_value_from_record. 2013-07-30 14:43:34 +02:00
Hans Leidekker fdf8ab11d9 msi: Format text set by means of a control event. 2013-07-27 11:56:13 -05:00
Hans Leidekker 4759dcc3c1 msi: Subscribe to all control events instead of just the first. 2013-07-27 11:56:08 -05:00
Hans Leidekker ec7650908a msi: Merge events.c into dialog.c. 2013-07-27 11:56:01 -05:00
Hans Leidekker 3169db2b54 msi: Add support for the hyperlink control. 2013-07-27 11:55:27 -05:00
Hans Leidekker 7974b12ab1 msi: Restrict the match on files from cabinets to the disk ID. 2013-06-20 21:07:56 +02:00
Hans Leidekker 407584fd3e msi/tests: Avoid test failures caused by broken MsiGetFileVersionA. 2013-06-18 20:33:42 +02:00
Hans Leidekker edee379d81 msi/tests: Move some more tests and remove a useless test. 2013-06-11 18:07:44 +02:00
Hans Leidekker b82a5ab27a msi/tests: Move some tests around to avoid timeouts on the testbot. 2013-06-10 19:30:54 +02:00
Daniel Jelinski a2307a3339 msi: Update LastSequence for empty media as well. 2013-06-10 11:51:03 +02:00
Hans Leidekker b64fabf39e msi: Don't defer custom actions in the UI sequence if they match the currently running script. 2013-06-03 21:11:51 +02:00
Hans Leidekker 1be1b8433a msi: Remove an unused parameter from action_type_matches_script. 2013-05-29 18:12:05 +02:00
Hans Leidekker 74aa47fa8e msi: The UI sequence exists if there are runnable actions in the InstallUISequence table. 2013-05-29 18:12:01 +02:00
Dmitry Timoshkov 30fc34b881 msi: Fix memory leak. 2013-05-21 12:06:26 +02:00
Daniel Jelinski 4b4bd0201c msi: Remove trailing spaces from command line property name. 2013-05-20 21:15:38 +02:00
Alexandre Julliard d578d0d6c3 msi: Don't bother to unregister classes at process exit. 2013-05-14 11:33:19 +02:00
Hans Leidekker 10975967df msi: Set the PrimaryVolumePath and PrimaryVolumeSpaceAvailable properties. 2013-05-09 19:24:16 +02:00
Hans Leidekker b98ef8f087 msi: Treat an empty install location as missing. 2013-05-07 17:20:46 +02:00
Daniel Jelinski ce6a037abc msi: Fix ComputerName property. 2013-05-03 21:49:33 +02:00
Hans Leidekker 8328562e4c msi: Assume a transform is applicable if it doesn't specify any products. 2013-05-03 21:39:22 +02:00
Francois Gouget d5fc4ce772 msi/tests: Add a trailing '\n' to an ok() call and fix a typo. 2013-05-02 18:52:14 +02:00
Hans Leidekker 1ed6bc2e02 msi: Properly map script function return values to MSI errors. 2013-05-02 18:51:58 +02:00
Christian Costa 7129293b9a msi: Use next cabinet from the media table instead of failing when there is a mismatch with continuous cabinet. 2013-05-01 19:30:28 +02:00
Christian Costa e249b93092 msi: Add tests to show that only msi cab filename is taken in case of mismatch with the one given by previous cab. 2013-05-01 19:30:24 +02:00
Hans Leidekker 27a1a9a862 msi: Fix one more occurrence of overwriting verstr in set_installer_properties. 2013-04-17 16:31:05 +02:00
Hans Leidekker ca025a525d msi: Don't overwrite verstr in set_installer_properties. 2013-04-15 15:16:52 +02:00
Nikolay Sivov 58bbe5ac4c msi: Free records on error paths (Coverity). 2013-04-01 12:32:37 +02:00
Alexandre Julliard 33aa647e64 msi: Avoid intermediate variables when calling create_record. 2013-03-13 16:27:50 +01:00
Hans Leidekker b36a26d65a msi: Don't attempt to patch files from disabled components. 2013-02-27 19:23:14 +01:00
Hans Leidekker aeb7d70ffd msi: Handle more than one patch per file. 2013-02-27 19:23:13 +01:00
Andrew Talbot 40f3a9fa59 msi: Avoid signed-unsigned integer comparisons. 2013-02-18 10:33:17 +01:00
Hans Leidekker bfe5e58d3a msi: Don't remove products if msidbUpgradeAttributesOnlyDetect is set. 2013-02-15 16:56:19 +01:00
Hans Leidekker 9779c4b5ea msi/tests: Move a couple of tests from install.c to msi.c. 2013-02-13 16:13:54 +01:00
Frédéric Delanoy 72989b5b03 msi: Fix memory leak (coverity). 2013-02-06 10:11:32 +01:00
Hans Leidekker 07be9f0585 msi: Improve parsing of the supported platforms string. 2013-01-31 16:32:50 +01:00
Hans Leidekker d4e9b2cd0f msi: Fix the return value of MsiGetFileVersion for some corner cases. 2013-01-31 16:32:47 +01:00
Hans Leidekker cafbad3feb msi: Don't fail if the directory already exists in MsiCreateAndVerifyInstallerDirectory. 2013-01-31 16:32:35 +01:00
Hans Leidekker 166a7e993c msi: Set _BrowseProperty to INSTALLDIR. 2013-01-30 17:19:39 +01:00
Hans Leidekker 8df6708af4 msi: Avoid a crash in msi_dialog_handle_event. 2013-01-30 17:19:37 +01:00
Hans Leidekker b637d4ca94 msi: Remove const from integer parameters. 2013-01-21 16:28:13 +01:00
Hans Leidekker 5b642da8cb msi: Execute concurrent installers in a separate process. 2013-01-21 16:27:57 +01:00
Hans Leidekker a248f4f001 msi: Set the OriginalDatabase property after applying transforms, not before. 2013-01-21 16:27:41 +01:00
Hans Leidekker 5891ce25e5 msi: Implement MsiQueryFeatureStateExA/W. 2013-01-09 17:39:33 +01:00
Hans Leidekker 6488a6a5e4 msi: Extend registry helpers to support opening the features key for a specific user. 2013-01-09 17:39:32 +01:00
Hans Leidekker 61db36556a msi: Fix a test failure on Windows 8 and conform to the more recent behavior. 2012-12-19 14:38:58 +01:00
Daniel Jelinski bd59df8ddd msi: Do not convert MaskedEdit contents to uppercase. 2012-12-14 11:57:11 +01:00
Michael Stefaniuc 62029ff586 msi: Use FIELD_OFFSET for the size of structs with a varlength array. 2012-12-13 18:38:47 +01:00
Hans Leidekker c66b78a810 msi: Don't set the Preselected property for a full reinstall. 2012-12-11 20:45:42 +01:00
Nikolay Sivov af5e73572a msi: Fix a stream data leak on error (Coverity). 2012-12-10 11:24:25 +01:00
Andrew Talbot b1d4793344 msi: Remove unused variables. 2012-11-22 11:55:09 +01:00
Frédéric Delanoy fcbc5cc5bb msi: Fix a couple of leaks (coverity). 2012-11-20 13:32:49 +01:00
Hans Leidekker ed4ce217d3 msi: Don't set the REINSTALL property if the product will be patched. 2012-11-19 16:35:36 +01:00
Frédéric Delanoy 098b3c7294 msi: Fix leaks in ITERATE_InstallService (coverity). 2012-11-16 19:27:23 +01:00
Frédéric Delanoy cac26d47a0 msi: Fix leaks in stop_service_dependents (coverity). 2012-11-16 19:26:50 +01:00
Nikolay Sivov 3b0179cbde msi: Remove unnecessary casts and argument from script site creation helper. 2012-11-15 12:20:28 +01:00
Nikolay Sivov 194c30d11f msi: Make it clear where script type mask comes from. 2012-11-15 12:19:58 +01:00
Nikolay Sivov eebde117ca msi: COM cleanup for IActiveScriptSite. 2012-11-15 12:19:52 +01:00
Nikolay Sivov e87c3b4b00 msi: Store object function pointers with type id. 2012-11-14 19:22:00 +01:00
Nikolay Sivov e726b54c87 msi: Cache ITypeInfo instances for automation objects instead of reloading every time. 2012-11-14 19:19:36 +01:00
Michael Stefaniuc dad2967943 msi: Don't over-allocate memory for a MSISELECTVIEW. 2012-11-12 13:17:00 +01:00
Michael Stefaniuc 51013ad278 msi: Use FIELD_OFFSET to calculate the size of structs with variable length array. 2012-11-09 17:10:37 +01:00
Hans Leidekker 9c431b6737 msi: Avoid a string copy when comparing SQL keywords. 2012-11-09 17:10:15 +01:00
Hans Leidekker e15121771c msi: Fix use of uninitialized variables. 2012-11-09 17:09:02 +01:00
Hans Leidekker b036ee6309 msi: Register dlls in a separate process. 2012-11-07 18:12:10 +01:00
Hans Leidekker e2900c23c7 msi: Make sure either the REINSTALL or the REMOVE property is set when the product is already installed. 2012-11-07 18:12:09 +01:00
Hans Leidekker 26299647f7 msi: Remove a component regardless of its install state, unless it's a permanent component. 2012-11-07 18:12:09 +01:00
Hans Leidekker 462ec1ba43 msi: Return correct length for the empty string from deformat_string. 2012-11-07 18:12:08 +01:00
Frédéric Delanoy 85bf1082ce msi: Fix some leaks (coverity). 2012-11-07 13:56:03 +01:00
Hans Leidekker cfadbddcaf msi: Avoid a crash when target paths have not yet been resolved. 2012-11-06 20:00:27 +01:00
Frédéric Delanoy 84541cc5e3 msi: Fix a leak (coverity). 2012-11-05 17:44:19 +01:00
Hans Leidekker 7d3f903db1 msi: Fix handling of REG_MULTI_SZ values in the WriteRegistryValues action. 2012-11-05 17:44:18 +01:00
Hans Leidekker 570322069c msi: Preserve strings with embedded nulls in the record formatting implementation. 2012-11-05 17:44:18 +01:00
Hans Leidekker 8d21f998c3 msi: Fix handling of strings with embedded nulls in msi_addstring. 2012-11-05 17:44:17 +01:00
Hans Leidekker 31ea3f44dd msi: Return length for the empty string in msi_string_lookup. 2012-11-02 19:47:30 +01:00
Hans Leidekker af08a2f6ba msi: Pass string length to msi_set_property in ACTION_CustomAction. 2012-10-29 14:41:55 +01:00
Hans Leidekker 52a87c9054 msi: Add a length parameter to msi_strcpy_to_awstring and use it where appropriate. 2012-10-29 14:41:49 +01:00
Hans Leidekker 2a31a3c057 msi: Don't create a copy of deferred custom action data. 2012-10-29 14:41:44 +01:00
Hans Leidekker 929d234072 msi: Return length instead of size from deformat_string. 2012-10-29 14:41:41 +01:00
Hans Leidekker 0f1d3474a8 msi: Add a length parameter to msi_set_property and use it where appropriate. 2012-10-29 14:41:36 +01:00
Hans Leidekker a7ff2818fe msi: Preserve strings with embedded nulls when copying from a record to the string table. 2012-10-29 14:41:21 +01:00
Hans Leidekker 9588deb54c msi: Preserve strings with embedded nulls when copying from the string table to a record. 2012-10-29 14:41:16 +01:00
Hans Leidekker 32aed60786 msi: Preserve strings with embedded nulls in the record implementation. 2012-10-29 14:41:04 +01:00
Hans Leidekker 8d28cc0ac7 msi: Get rid of MSI_RecordSetStringA. 2012-10-29 14:40:55 +01:00
Hans Leidekker 9aa23c6c77 msi: Store string length in the record structure. 2012-10-29 14:40:46 +01:00
Hans Leidekker 6950ac1d1c msi: Add support for storing strings with embedded nulls in the string table. 2012-10-29 14:40:40 +01:00
Hans Leidekker 652863f4d5 msi: Add more tests for embedded nulls in string property values. 2012-10-29 14:40:31 +01:00
Hans Leidekker a1c4d2c977 msi: Add a test for embedded nulls in string property values. 2012-10-29 14:40:18 +01:00
André Hentschel 1e361aa8cb msi/tests: Make multiline macros blocks (coverity). 2012-10-24 11:33:00 +02:00
Jacek Caban 3b9a13e94c msi: Make script Session object visible by name. 2012-09-18 14:48:24 +02:00
Jacek Caban 645ce64196 msi: Choose the right IActiveScriptParse* interface based on process type. 2012-09-18 14:48:19 +02:00
Hans Leidekker dd8f54a49f msi: Don't reinstall components shared with other products. 2012-09-13 13:56:39 +02:00
Hans Leidekker 1ee3be6e80 msi: Only remove a component if the number of clients drops to zero. 2012-09-11 18:07:29 +02:00
Marcus Meissner b9550ad352 msi: Move free after last usage (Coverity). 2012-09-06 18:23:40 +02:00
Jacek Caban e679471885 Always define WIDL_C_INLINE_WRAPPERS. 2012-08-28 14:41:13 +02:00
Michael Stefaniuc 5974e9d120 msi/tests: Avoid a TRUE:FALSE conditional expression. 2012-08-15 12:12:49 +02:00
Hans Leidekker 842525f423 msi: Try the registered install location first when resolving the target directory. 2012-08-13 11:45:15 +02:00
Hans Leidekker b7cefc9997 msi: Avoid an out of bounds access in msi_build_directory_name. 2012-08-13 11:45:11 +02:00
Hans Leidekker f180de40dd msi: Implement the RemoveExistingProducts standard action. 2012-07-31 18:01:54 +02:00
Vincent Povirk b8812afd33 msi: Stub Migrate10CachedPackagesW. 2012-07-31 10:52:53 +02:00
Hans Leidekker 6a588baaf7 msi: Use inline wrappers for calling COM methods. 2012-07-27 17:05:32 +02:00
Hans Leidekker 108d5927d0 msi: Use the right interface to call 32-bit and 64-bit custom action scripts. 2012-07-27 17:05:32 +02:00
Detlef Riekenberg a7e1b7c6ea msi/tests: Use always static binding for GetTokenInformation. 2012-07-27 17:05:20 +02:00
Hans Leidekker cbd83d0307 msi/tests: Mark some test results as broken. 2012-07-16 19:34:40 +02:00
Hans Leidekker 32fa9db888 msi: Don't hard-code the ServicePackLevel property. 2012-07-09 15:06:42 -04:00
Hans Leidekker f55ee1a212 msi: Don't crash if no working directory is specified for custom action type 34. 2012-07-09 15:06:35 -04:00
Francois Gouget 7f0cfac5cc msi/tests: Get rid of unneeded function typedefs. 2012-06-15 18:35:37 +02:00
Hans Leidekker a17ca16495 msi: Keep assembly caches loaded until the package is destroyed. 2012-06-12 10:22:24 +02:00
Hans Leidekker 3480ccbbb4 msi: Always load mscoree.dll from the system directory. 2012-06-12 10:22:15 +02:00
Hans Leidekker 458f6b7ccd msi: Don't fail if no .NET runtime is available. 2012-06-12 10:22:04 +02:00
Hans Leidekker f6f1bfd6fb msi/tests: Use only uppercase characters for the PID_REVNUMBER property. 2012-06-12 10:21:55 +02:00
Hans Leidekker 0ed61000d3 msi: Support registry key names that exceed 255 characters. 2012-06-11 21:03:48 +02:00
Hans Leidekker fc2c8a215f msi: Fail if a registry key cannot be created. 2012-06-11 21:03:48 +02:00
Hans Leidekker fd0c2dabdf msi: Ignore the value if a registry value name is special. 2012-06-11 21:03:47 +02:00
Hans Leidekker f0ea60049c msi: Add support for 64-bit registry components. 2012-06-11 21:03:47 +02:00
Hans Leidekker e16bcda486 msi: Don't create empty values for special registry entries. 2012-05-31 12:37:22 +02:00
Hans Leidekker c959e38625 msi: Don't terminate the string in msi_id2stringA.
This makes sure that the last string can be fully written when saving the
string table.
2012-05-31 12:37:22 +02:00
Hans Leidekker 35b9594244 msi: Add support for version 4.0 of the .NET runtime. 2012-05-17 17:21:42 +02:00
Hans Leidekker d6105eaa1f msi: Use the correct function pointer in msi_init_assembly_caches. 2012-05-17 17:21:28 +02:00
Hans Leidekker 11daa6aad5 msi: Break out of the loop as soon as the assembly is detected in msi_load_assembly. 2012-05-17 17:21:25 +02:00
Michael Stefaniuc 49add07795 msi/tests: Test the correct return values. 2012-05-17 10:18:11 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Hans Leidekker 4b32c09376 msi: Add support for the ActionInfo progress message subtype. 2012-05-15 16:26:38 +02:00
Hans Leidekker 6c7d0993f0 msi: Add support for the ProgressAddition progress message subtype. 2012-05-15 16:26:37 +02:00
Hans Leidekker 022915f75b msi: Don't hide failure of script custom actions. 2012-05-15 16:26:37 +02:00
Hans Leidekker 32c7a52f5c msi: Resolve the target path for the ODBC driver file if necessary. 2012-05-08 16:21:40 +02:00
Alexandre Julliard 720a37d778 msi/tests: Skip MsiEnumProductsEx tests if not supported. 2012-05-03 23:31:43 +02:00
Francois Gouget 1bf438ab29 msi: Tweak msiexec's usage message. 2012-05-03 11:51:38 +02:00
Hans Leidekker 9700e9c7a6 msi: Fix a couple of DispGetParam calls. 2012-05-01 14:50:03 +02:00
Hans Leidekker c3e3c81bfb msi: Add the Session object as a global member to custom action scripts. 2012-05-01 14:49:58 +02:00
Hans Leidekker 52738e4f93 msi: Remove a workaround for missing Windows Script interfaces. 2012-05-01 14:49:52 +02:00
Hans Leidekker 605e0b7b41 msi: Add support for uninstalling global assemblies. 2012-04-30 11:02:28 +02:00
Hans Leidekker 89e95aa92c msi: Avoid a crash in get_registered_local_package. 2012-04-26 19:26:41 +02:00
Hans Leidekker fde66de6a5 msi: Don't free cached tables in MsiDatabaseCommit. 2012-04-26 19:26:37 +02:00
Hans Leidekker c8bb335990 msi: Check supported languages in the AppSearch action. 2012-04-23 17:55:28 +02:00
Hans Leidekker 52f3d5bead msi: Remove child folders first in the RemoveFolders action. 2012-04-23 17:55:21 +02:00
Hans Leidekker 2e5bf9ca06 msi: Dynamically allocate the path buffer in MsiQueryComponentStateW. 2012-04-23 17:55:18 +02:00
Hans Leidekker cf1cb30dfa msi: Initialize hkey in msi_comp_find_prod_key. 2012-04-23 17:55:14 +02:00
Hans Leidekker f1af03fa16 msi: Reduce the indentation level in ACTION_GetComponentInstallStates. 2012-04-23 17:55:10 +02:00
Francois Gouget f5a5cc067a msi: Make create_record() static. 2012-04-20 12:00:33 +02:00
Hans Leidekker a7137ef035 msi: Remove an unneeded assignment. 2012-04-20 11:59:43 +02:00
Hans Leidekker 2b9be70975 msi/tests: Fix some leaks. 2012-04-20 11:59:39 +02:00
Hans Leidekker 2e51464e4d msi/tests: Add a test for MsiEnumProductsEx. 2012-04-20 11:59:35 +02:00
Hans Leidekker fc73c9db0a msi: Fix install state detection for registry components. 2012-04-20 11:59:26 +02:00
Robert van Herk f87c4a36dd msi: Fixed MsiGetFileHashW for empty files. 2012-04-06 20:40:59 +02:00
Hans Leidekker dd205230a0 msi: Keep the UI level fixed during the lifetime of a package. 2012-04-05 17:53:20 +02:00
Hans Leidekker 350449fc43 msi: Suspend the installation if an action sets MSIRUNMODE_REBOOTNOW. 2012-04-02 13:30:41 +02:00
Hans Leidekker 15ee85dee8 msi: Implement MsiGet/SetMode(MSIRUNMODE_REBOOTNOW). 2012-04-02 13:30:36 +02:00
Hans Leidekker a6b3d77021 msi: Use the state parameter passed to MsiSetMode. 2012-04-02 13:30:28 +02:00
Hans Leidekker 89c80c41ea msi: Rename the need_reboot flag to need_reboot_at_end. 2012-04-02 13:30:24 +02:00
Hans Leidekker f01cd3a36d msi/tests: Add tests for MsiEnumComponents and MsiEnumComponentsEx. 2012-04-02 12:34:38 +02:00
Hans Leidekker 25b7228274 msi: Reimplement MsiEnumComponents on top of MsiEnumComponentsEx. 2012-04-02 12:34:28 +02:00
Hans Leidekker 8cebf01702 msi: Implement MsiEnumComponentsEx. 2012-04-02 12:34:24 +02:00
Hans Leidekker 8ea5266915 msi: Detect installed side-by-side assemblies. 2012-03-30 10:45:26 +02:00
Hans Leidekker ccad8e9d80 msi/tests: Reduce code duplication in the feature/component state tests. 2012-03-28 19:05:02 +02:00
Hans Leidekker 3f1e3008ea msi: Clear the cert pointer in MsiGetFileSignatureInformation. 2012-03-28 17:37:44 +02:00
Hans Leidekker d351a9999e msi: Also set the Intel property on 64-bit processors. 2012-03-28 17:37:41 +02:00
Andoni Morales Alastruey 342fcb6198 msi: Implement MSIMODIFY_MERGE function in TABLE_modify. 2012-03-28 11:44:52 +02:00
Hans Leidekker 280af52666 msi: Mask off modifiers before setting the UILevel property.
Spotted by Aric Stewart.
2012-03-26 18:15:03 +02:00
Hans Leidekker 9b2b760ea9 msi: Get the UI level from the global variable instead of the property. 2012-03-26 18:15:03 +02:00
André Hentschel c000cbaf49 msi: Allow ARM installations. 2012-03-26 12:41:27 +02:00
Hans Leidekker 45a62d53b6 msi: Restrict the match on files from cabinets to files that have not been installed. 2012-03-16 16:27:38 +01:00
Hans Leidekker c98bf1b57b msi: Fix deleting services on installation.
Based on a patch by Berhard Loos.
2012-03-13 13:30:11 +01:00
Hans Leidekker fa2420d696 msi: Perform a case insensitive match on filenames from cabinets. 2012-03-12 16:37:24 +01:00
Hans Leidekker 0f40d2624d msi: Reimplement MsiEnumProducts on top of MsiEnumProductsEx. 2012-03-12 16:37:24 +01:00
Hans Leidekker a4c20dc437 msi: Implement MsiEnumProductsEx. 2012-03-12 16:37:23 +01:00
Hans Leidekker 531cab9feb msi: Deformat the description field of INSTALLMESSAGE_ACTIONDATA messages. 2012-03-12 16:37:22 +01:00
Hans Leidekker 98c621c1bf msi: Use the return value of IXMLDOMNode_get_text (clang). 2012-02-06 10:19:37 -06:00
Hans Leidekker bb0b467366 msi: Avoid a null pointer dereference in MsiGetFileVersionW (clang). 2012-02-06 10:19:30 -06:00
Hans Leidekker bca0fd6a55 msi: Follow the parent state for preselected features unless the parent is an advertised feature. 2012-02-05 09:38:12 -06:00
Stefan Leichter f3caa76846 msi: Update version resource. 2012-01-30 20:44:49 +01:00
Frédéric Delanoy ca4fdc57ed msi: Avoid dead code in parse_prop (Coverity). 2012-01-30 11:59:44 +01:00
Frédéric Delanoy 8ef373a7f2 msi: Avoid dead code in parse_prop (Coverity). 2012-01-25 11:24:58 +01:00
Hans Leidekker c8e8f44168 msi: Use the column count specified in the table transform data.
It can be smaller than the number of columns found in the table meta data.
2012-01-24 16:57:32 +01:00
Francois Gouget 47f45d793d Use a single space after a full stop to follow the Windows GUI guidelines. 2012-01-23 16:07:03 +01:00
Hans Leidekker fcce720a2f msi: Don't evaluate msidbFeatureAttributesFollowParent when features are preselected. 2012-01-23 15:59:54 +01:00
Hans Leidekker 09a49fd784 msi: Pass the file identifier instead of the filename in action data for SelfRegModules/SelfUnregModules. 2012-01-20 16:01:48 +01:00
Hans Leidekker d20c69c54d msi: Don't parse the format string when building the shortcut target path.
It's no longer necessary because target paths are always normalized.
2012-01-19 21:08:51 +01:00
Hans Leidekker 9336c10619 msi: Make sure target paths are normalized.
Fix for the Lotus Notes 6.5.1 installer.
2012-01-18 16:25:21 +01:00