Commit Graph

816 Commits

Author SHA1 Message Date
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
Hans Leidekker eb7ae99ddb msi: Remove icons when the product is uninstalled. 2011-08-23 16:53:56 +02:00
Hans Leidekker db6dbcf2a2 msi: Initialize the installation context from the registry if the product is installed. 2011-08-23 16:53:56 +02:00
Hans Leidekker 70e3790707 msi: Remove local patch packages when the product is removed. 2011-08-23 16:53:56 +02:00
Hans Leidekker 621b0405c9 msi: Don't create a temporary copy of the package.
There's no need for it now that we open the package in transacted mode.
2011-08-23 16:53:56 +02:00
Hans Leidekker fe404d1d88 msi: Always check the return value of MSI_IterateRecords. 2011-07-27 11:55:23 +02:00
Hans Leidekker e1c2e8828f msi: Clean up the database queries. 2011-07-27 11:55:16 +02:00
Hans Leidekker 4202b1419c msi: Use the return value of MSI_IterateRecords (clang). 2011-07-07 12:32:25 +02:00
Hans Leidekker 7d677fc327 msi: Delay creating local installer and patch packages until the product is registered. 2011-07-01 14:39:36 +02:00
Hans Leidekker 791fe136a9 msi: Remove directories after removing all files. 2011-07-01 14:39:36 +02:00
Hans Leidekker b32c643c18 msi: Handle escaped double quotes in command line parsing. 2011-07-01 14:39:36 +02:00
Hans Leidekker 2cbeb20d39 msi: Use an enum to represent folder states. 2011-07-01 14:39:36 +02:00
Hans Leidekker 8ff57beb0e msi: Perform a full uninstall if no feature resolves to INSTALLSTATE_LOCAL. 2011-07-01 14:39:36 +02:00
Hans Leidekker ac994860af msi: Make sure reported progress adds up to projected progress. 2011-06-23 10:00:09 +02:00
Hans Leidekker 4c9c50d86b msi: Implement and test MsiGetFeatureInfo. 2011-06-10 10:55:11 +02:00