Commit Graph

830 Commits

Author SHA1 Message Date
Dmitry Timoshkov 42caac841e msi: Correctly parse double quotes in the token value.
This fixes an installer that passes to InstallProduct a command line like
PROPERTY1="Installing ""Product name"" version 8.0" PROPERTY2=1 PROPERTY3=1
In this case properties PROPERTY2 and PROPERTY3 were not recognized and that
led to an installation failure when a custom action didn't see them as set.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2015-10-06 22:59:38 +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 ddaba7a369 msi: Don't add the same environment string more than once. 2015-08-26 23:15:26 +09:00
Hans Leidekker 99dfc15e72 msi: Only remove environment strings that were added on install. 2015-08-18 17:30:17 +09:00
Huw Davies fed41f5306 msi: Don't call CloseServiceHandle() with an invalid handle. 2015-07-16 21:20:50 +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 597c5f9c4b msi: Open database cabinet streams through the streams implementation. 2015-06-22 19:18:48 +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 7a4d8f57c7 msi: Improve tracing. 2015-03-17 00:19:48 +09:00
Hans Leidekker 4c1791f53e msi: Add offsets to file patch sequence numbers. 2015-03-04 23:57:42 +09:00
Marcus Meissner c4bf8a85ee msi: Fix memory leak (Coverity). 2015-02-16 19:18:44 +09: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
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
Hans Leidekker 7f57d8f19a msi: Format registry values before interpreting value type. 2014-10-31 10:49:19 +09:00
Hans Leidekker 29baed1bc2 msi: Improve support for advertized shortcuts. 2014-09-12 15:30:13 +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 04f9058a28 msi: Set the OutOfNoRbDiskSpace property. 2014-09-01 21:10:12 +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
Marcus Meissner 3fa41c9e70 msi: Fixed missing free in an error path (Coverity). 2014-03-10 10:41:15 +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 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
Hans Leidekker 48908c130c msi: Remove the unused CurrentlyScripting field from MSISCRIPT. 2014-01-03 17:00:12 +01:00
Hans Leidekker 41d2b53c5b msi: Always derive the SourceDir property from the database path. 2014-01-03 17:00:02 +01:00
Qian Hong 9612ed1ba6 msi: Get extension name by strrchrW instead of strchrW. 2013-11-13 18:31:36 +01:00
Frédéric Delanoy 8793b5fe28 msi: Use BOOL type where appropriate. 2013-10-28 10:40:20 +01: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 74aa47fa8e msi: The UI sequence exists if there are runnable actions in the InstallUISequence table. 2013-05-29 18:12:01 +02:00
Daniel Jelinski 4b4bd0201c msi: Remove trailing spaces from command line property name. 2013-05-20 21:15:38 +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
Hans Leidekker aeb7d70ffd msi: Handle more than one patch per file. 2013-02-27 19:23:13 +01:00
Hans Leidekker bfe5e58d3a msi: Don't remove products if msidbUpgradeAttributesOnlyDetect is set. 2013-02-15 16:56:19 +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 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 c66b78a810 msi: Don't set the Preselected property for a full reinstall. 2012-12-11 20:45:42 +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
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 7d3f903db1 msi: Fix handling of REG_MULTI_SZ values in the WriteRegistryValues action. 2012-11-05 17:44:18 +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 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
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
Hans Leidekker a17ca16495 msi: Keep assembly caches loaded until the package is destroyed. 2012-06-12 10:22:24 +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 4b32c09376 msi: Add support for the ActionInfo progress message subtype. 2012-05-15 16:26:38 +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
Hans Leidekker 52f3d5bead msi: Remove child folders first in the RemoveFolders action. 2012-04-23 17:55:21 +02:00
Hans Leidekker f1af03fa16 msi: Reduce the indentation level in ACTION_GetComponentInstallStates. 2012-04-23 17:55:10 +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 89c80c41ea msi: Rename the need_reboot flag to need_reboot_at_end. 2012-04-02 13:30:24 +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
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 bca0fd6a55 msi: Follow the parent state for preselected features unless the parent is an advertised feature. 2012-02-05 09:38:12 -06: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 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
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 bde25b2cb4 msi: Use a common function to validate a product ID. 2011-12-23 15:12:11 +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 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
Hans Leidekker 319081cbf6 msi: Wait up to 30 seconds for services to start up. 2011-10-27 14:21:23 +02:00
Hans Leidekker e973115a79 msi: Properly build the shortcut target path. 2011-10-11 13:37:50 +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 2788a95c8e msi: Support TrueType font files in MsiGetFileVersion. 2011-09-20 16:21:41 +02:00
Hans Leidekker eede401d03 msi: Free the message string in ACTION_ResolveSource. 2011-09-14 14:55:28 +02:00
Hans Leidekker 258fc7137f msi: Ignore unknown components in the FeatureComponents table. 2011-09-09 13:38:15 +02:00
Hans Leidekker bd3885946c msi: Return the right error from ResolveSource when the user cancels. 2011-09-09 13:38:04 +02:00
Hans Leidekker 984422bad1 msi: SelfUnregModules' counterpart is SelfRegModules. 2011-09-09 13:37:43 +02:00
Hans Leidekker 9d68804379 msi: Resolve the target folder if necessary when building link filenames. 2011-08-24 12:14:46 +02:00