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
Nikolay Sivov
3b60c2c0d1
msi: Support test for aplicable patch of MSIPATCH_DATATYPE_XMLPATH type.
2012-01-18 12:37:37 +01:00
Nikolay Sivov
123eba2801
msi: Support MSIPATCH_DATATYPE_XMLBLOB when testing for applicable patch.
2012-01-18 12:37:37 +01:00
Nikolay Sivov
5cbe5faf49
msi: Create the rest of objects with separate helpers.
2012-01-17 19:13:55 +01:00
Nikolay Sivov
576aa0e6d0
msi: Use data table for dispid tests.
2012-01-16 13:13:23 +01:00
Nikolay Sivov
8a012ff4f7
msi: Implement list on top of general object.
2012-01-16 13:13:13 +01:00
Nikolay Sivov
07058e0068
msi: Add a helper to create database object.
2012-01-16 13:12:51 +01:00
Nikolay Sivov
ff3ed0e5ea
msi: Add null terminator to typelib name.
2012-01-16 13:12:41 +01:00
Nikolay Sivov
b79311b175
msi: Create installer object initializing automation object data.
2012-01-16 13:12:25 +01:00
Nikolay Sivov
9505a1bf28
msi: Implement session object directly on top of automation object.
2012-01-16 13:12:14 +01:00
Nikolay Sivov
9687c29cc5
msi: COM cleanup for automation object implementation.
2012-01-16 13:11:28 +01:00
Hans Leidekker
bc801f85be
msi: Set the SourceDir and SOURCEDIR properties in MsiGetSourcePath.
2012-01-16 12:45:34 +01:00
Hans Leidekker
4ef765cb4e
msi: Don't try to ready media for files from a previous installation or files that will be skipped.
2012-01-10 18:29:05 +01:00
Hans Leidekker
c7e5f0331f
msi: Downgrade an error.
2012-01-10 18:29:04 +01:00
Hans Leidekker
b13195ce4e
msi: Fix detection of installed global assemblies.
2012-01-10 18:29:04 +01:00
Hans Leidekker
b00e7039c5
msi: Execute custom actions in the right script.
2012-01-06 21:57:40 +01:00
Hans Leidekker
de11a50b91
msi: Don't crash on secondary root folders in msi_resolve_target_folder.
2012-01-05 20:54:25 +01:00
Hans Leidekker
2a19021610
msi: VolumeLabel and DiskPrompt are optional fields in the Media table.
2012-01-03 18:07:15 +01:00
Hans Leidekker
4def593456
msi: Accept a missing left backquote in SQL identifiers.
2012-01-03 18:07:08 +01:00
Hans Leidekker
ca49aae61e
msi: Fix handling of single quoted column names in SELECT queries.
2011-12-23 15:12:18 +01:00
Hans Leidekker
bde25b2cb4
msi: Use a common function to validate a product ID.
2011-12-23 15:12:11 +01:00
Hans Leidekker
ad4f747fa6
msi: Fix changing media for normal files.
2011-12-23 15:12:06 +01:00
Hans Leidekker
8cc5561fbf
msi: Don't run the rollback script in reinstall mode.
2011-12-13 18:59:15 +01:00
Hans Leidekker
8a5c700d78
msi: Pass REINSTALL and REINSTALLMODE properties on the command line in MsiReinstallFeatureW.
2011-12-13 18:59:14 +01:00
Hans Leidekker
12e106613a
msi: Don't set the LOGVERBOSE property in MsiReinstallFeatureW.
2011-12-13 18:59:14 +01:00
Hans Leidekker
1f56b60cc4
msi: Don't set the Installed property in MsiReinstallFeatureW.
...
This property will be set later.
2011-12-13 18:59:13 +01:00
Hans Leidekker
00477d601e
msi: Support all install contexts in MsiReinstallFeatureW.
2011-12-13 18:59:13 +01:00
Hans Leidekker
973e86b844
msi: Move some traces from implementations to entry points.
2011-12-13 18:59:12 +01:00
Hans Leidekker
0f3eb5f689
msi: Format the value name from the RegLocator table.
2011-12-12 15:50:39 +01:00
Hans Leidekker
75242afefd
msi/tests: Try harder to remove a shortcut file.
2011-12-06 15:51:01 +01:00
Hans Leidekker
cd4432bc9b
msi: Make sure to keep a reference to custom action data until the actions are finished.
2011-12-06 15:51:00 +01:00
Hans Leidekker
39b7e6e50c
msi: Resolve the target folder if necessary in msi_get_target_folder.
2011-12-01 14:18:22 +01:00
Hans Leidekker
959ebdb118
msi: Split up delete_reg_key_or_value.
2011-12-01 14:18:14 +01:00
Francois Gouget
51a256e65f
Assorted spelling fixes and wording tweaks.
2011-11-28 16:40:50 +01:00
Hans Leidekker
3ad3a184d5
msi: Perform a case insensitive match on the volume label.
2011-11-22 12:43:59 +01:00
Francois Gouget
7238a78805
msi: Delete the handle static critical sections when unloading the dll.
2011-11-17 11:37:49 +01:00
Hans Leidekker
a100550383
msi: Trace the exit code from custom action processes.
2011-11-14 13:10:19 +01:00
Hans Leidekker
353016f92f
msi: Process messages while waiting for custom actions to complete.
2011-11-14 13:10:19 +01:00
Andrew Talbot
3358b541ac
msi: Remove extraneous braces from switch statement.
2011-11-07 11:53:56 +01:00
Hans Leidekker
eb7d8b92cb
msi: GetComputerName returns ERROR_BUFFER_OVERFLOW when the buffer is too small.
2011-11-03 13:09:07 +01:00
Hans Leidekker
5266f34c3c
msi: Set the ComputerName property.
2011-11-01 12:13:46 +01:00
Hans Leidekker
936c14f87f
msi: Handle some more message types in MSI_ProcessMessage.
2011-11-01 12:12:59 +01:00
Hans Leidekker
899e85ab26
msi: Fix the log mode for progress messages.
2011-11-01 12:12:55 +01:00
Hans Leidekker
392bd2b7a2
msi/tests: Fix a skip message.
2011-10-27 14:21:31 +02:00
Hans Leidekker
841a747409
msi/tests: Fix some test failures on win2k.
2011-10-27 14:21:27 +02:00
Hans Leidekker
319081cbf6
msi: Wait up to 30 seconds for services to start up.
2011-10-27 14:21:23 +02:00
Bernhard Loos
4ac1e8e034
msi: Always use WHEREVIEW for sorting.
2011-10-20 20:48:26 +02:00
Bernhard Loos
0fd4943277
msi: Get rid of JOINVIEW.
2011-10-20 20:48:26 +02:00
Bernhard Loos
4383aafadd
msi: Reorder tables to optimize condition evaluation.
2011-10-20 20:48:26 +02:00
Vincent Povirk
2556173f20
msi: Use MsgWaitForMultipleObjectsEx to do waits.
2011-10-13 20:43:20 +02:00
Dan Kegel
c77395dc08
msi: Initialize variable to placate static analyzers.
2011-10-13 20:06:46 +02:00
Hans Leidekker
e973115a79
msi: Properly build the shortcut target path.
2011-10-11 13:37:50 +02:00
Hans Leidekker
cda63b8a38
msi: Don't attempt to patch files if the component action resolves to anything other than INSTALLSTATE_LOCAL.
2011-10-11 13:37:50 +02:00
Michael Stefaniuc
78ebd8f7cf
msi: Remove a redundant NULL check before free (Smatch).
2011-10-11 13:37:50 +02:00
Michael Stefaniuc
958eff8e94
msi: Remove a break after return (Smatch).
2011-10-11 13:37:50 +02:00
Michael Stefaniuc
0c5f83040a
msi: Move a TRACE before the continue (Smatch).
2011-10-11 13:37:49 +02:00
Andrew Talbot
895b48e9ed
msi: Mark fall-throughs in switch statements.
2011-10-06 16:47:33 -05:00
Andrew Talbot
48a6130279
msi: Add a break to a switch statement.
2011-10-06 16:47:30 -05:00
Hans Leidekker
5ea1caa69e
msi/tests: Properly preserve pending file renames.
2011-09-27 16:24:26 +02:00
Francois Gouget
d2084d5a41
msi/tests: Avoid #if 0 to make sure code still compiles.
2011-09-27 10:58:52 +02:00
Michael Stefaniuc
6074bd51cc
msi: Remove casts to the type of the casted variable.
2011-09-23 16:21:26 +02:00
Hans Leidekker
ca741823dd
msi: Only use Windows platform-specific encoded strings from the font naming table.
2011-09-23 12:39:14 +02:00
Hans Leidekker
19a965f581
msi: Improve font version parsing.
2011-09-23 12:39:10 +02:00