Commit Graph

451 Commits

Author SHA1 Message Date
James Hawkins eec9bbb12d msi: Remove a duplicated function. 2007-11-01 12:42:57 +01:00
James Hawkins c3df74e24f msi: Implement the MoveFiles standard action. 2007-11-01 12:42:50 +01:00
James Hawkins b6cfc405bd msi: Release the record only after using the record's data. 2007-10-23 18:04:50 +02:00
Mikolaj Zalewski d5b620ea0b msi: Make the WriteEnvironmentStrings handling of [~] a bit better. 2007-10-18 13:21:44 +02:00
James Hawkins 6ac0816109 msi: Implement the UnpublishFeatures standard action. 2007-08-10 12:58:17 +02:00
Andrew Talbot 0e14c29d66 msi: Cast-qual warning fix. 2007-07-24 11:25:40 +02:00
James Hawkins dc3060c542 msi: Load the AdminProperties stream if the package is an Admin package. 2007-07-17 12:54:53 +02:00
James Hawkins 30fc5602de msi: Reload properties as they may have been changed by a transform. 2007-07-13 12:27:33 +02:00
James Hawkins 0e44e090c5 msi: Set the WindowsInstaller value in RegisterProduct instead of PublishProduct. 2007-07-03 13:49:44 +02:00
James Hawkins a2df31aea1 msi: Only publish the product if at least one feature is to be installed. 2007-07-03 13:49:35 +02:00
James Hawkins 624bbbe78a msi: Unpublish the product when it is entirely removed. 2007-07-03 13:49:18 +02:00
James Hawkins 5e46fc9019 msi: Delay publishing of the SourceList until the PublishProduct action. 2007-07-03 13:43:20 +02:00
James Hawkins 08443b3bf7 msi: PackagePath must also include the package name. 2007-07-03 13:43:00 +02:00
James Hawkins bafc4dc385 msi: Ignore invalid conditional expressions when checking the launch conditions. 2007-06-29 12:33:19 +02:00
James Hawkins c18b77557d msi: Set the WindowsInstaller value of the UserData product key when publishing the product. 2007-06-27 12:32:45 +02:00
Rob Shearman 023383afd3 msi: Free version after using lpVer in msi_get_disk_file_version as lpVer points inside of version. 2007-06-27 11:44:49 +02:00
Rob Shearman 9c6fac65d8 msi: Check the return value of VerQueryValueW in msi_get_disk_file_version. 2007-06-27 11:44:44 +02:00
Rob Shearman 8a94f7aad3 msi: Implement MsiGetMode for MSIRUNMODE_SCHEDULED, MSIRUNMODE_COMMIT and MSIRUNMODE_ROLLBACK. 2007-06-26 11:56:33 +02:00
Andrew Talbot 0e4ccb822c msi: Fix use of uninitialized variable (Coverity). 2007-06-25 13:23:58 +02:00
James Hawkins 261e1179bb msi: Patches are applied based on ProductCode, not ProductID. 2007-06-18 12:14:58 +02:00
Dmitry Timoshkov 6076485fde msi: Simplify the code. 2007-06-15 12:41:07 +02:00
James Hawkins 881f59254a msi: Fixed the WriteEnvironmentStrings action. 2007-06-14 13:52:59 +02:00
James Hawkins 5b8641a5a4 msi: Implement the WriteEnvironmentStrings standard action. 2007-05-31 13:27:15 +02:00
James Hawkins c2e91588e9 msi: Perform a forced reboot if a custom action returns ERROR_INSTALL_SUSPEND. 2007-05-30 11:49:16 +02:00
James Hawkins 987c2c85e1 msi: Add stub handlers for the remaing standard actions that reference tables. 2007-05-07 15:18:47 +02:00
James Hawkins 1104dc088d msi: Run the costing actions for both the UI and execute sequences. 2007-05-01 13:54:10 +02:00
James Hawkins baad888766 msi: Reset the folder's resolved target before setting the target in CostFinalize. 2007-05-01 13:53:25 +02:00
Rob Shearman 220f93db61 msi: Fix an off-by-one error when calculating the path and filename for the action data in the SelfRegModules action.
The backslash is in p[0], not p[1].
2007-04-25 11:49:34 +02:00
Hans Leidekker 1d19c2b72f msi: Install data sources in the InstallODBC custom action. 2007-04-23 14:07:18 +02:00
Hans Leidekker 33c025b7f2 msi: Install translators in the InstallODBC custom action. 2007-04-23 14:06:47 +02:00
Alban Browaeys 7aa3917823 msi: Move msi_free(msiFilePath) to enable ERR message to use it before it is freed. 2007-04-16 13:20:43 +02:00
James Hawkins 6da8041d47 msi: Run the InstallExecute sequence if the InstallUISequnce table is empty. 2007-04-16 12:10:03 +02:00
James Hawkins 8cedb218c3 msi: Load the folder property if available and requested. 2007-03-29 21:01:42 +02:00
Steven Stein ee3ac7a8fb msi: ValidateProductID action stub. 2007-02-14 22:17:41 +01:00
Misha Koshelev d8b00a071d msi: Make sure to ignore UI level flags in dialog and files as well. 2007-02-07 11:03:39 +01:00
Misha Koshelev ecd20e28ac msi: InstallPackage check for UI level must not disregard flags. 2007-02-06 13:19:55 +01:00
Francois Gouget aab5e5856e Don't put single quotes around '%s' when using the debugstr_*() functions. 2007-01-18 12:55:50 +01:00
Andrew Talbot 020bda7ee2 msi: Declare some functions static. 2007-01-12 20:41:49 +01:00
Mike McCormack 97419aea80 msi: Examine the attributes of all features before setting a component's state. 2006-12-05 11:29:02 +01:00
James Hawkins 58bb3571de msi: Add handling for the StartServices action. 2006-12-04 12:22:32 +01:00
James Hawkins d3bec32500 msi: Add handling for the InstallODBC action. 2006-11-29 14:08:14 +01:00
Dmitry Timoshkov 1cdf5cddac msi: Make some data const and static. 2006-11-29 12:44:10 +01:00
Mike McCormack a3a2eaea93 msi: Update the UI in one place only in ACTION_ProcessComponents. 2006-11-29 12:37:12 +01:00
Mike McCormack 1770c9125d msi: Advertise components of a feature that has the msidbFeatureAttributesFavorAdvertise property. 2006-11-29 12:37:07 +01:00
Mike McCormack 7eb270265f msi: Load all folders in one query, rather one per query. 2006-11-22 11:43:05 +01:00
Mike McCormack b921118f14 msi: Split msi_set_sourcedir_props into a separate function. 2006-11-20 11:50:15 +01:00
Mike McCormack fc56423904 msi: Spelling fixes. 2006-11-20 11:50:15 +01:00
Mike McCormack eba742e5cd msi: Fix a memory leak in load_folder(). 2006-11-17 11:14:44 +01:00
Francois Gouget 1ccf944900 Assorted spelling fixes. 2006-11-13 13:01:53 +01:00
Paul Vriens ded9943b5b msi: Fix typo's (Coverity). 2006-11-13 12:58:46 +01:00
Mike McCormack 3fe6a5d01e msi: Only log the Action, as it's the same as ActionRequest. 2006-11-10 11:35:38 +01:00
Mike McCormack 87fa854dcf msi: Check whether the component is enabled first. 2006-11-10 11:35:33 +01:00
Mike McCormack ad80eceb5f msi: Component attributes are bitmasks. 2006-11-10 11:35:28 +01:00
Mike McCormack 063c42cfa6 msi: Fix a memory leak. 2006-11-08 11:26:16 +01:00
Mike McCormack 9efb7b71ba msi: By default, install components locally. 2006-11-07 15:07:01 +01:00
Mike McCormack c5c5521015 msi: Split ACTION_CostFinalize into two functions. 2006-11-07 15:06:40 +01:00
Mike McCormack f86cfd4088 msi: Avoid a memory leak by freeing actions scripts in one place only. 2006-11-02 12:25:07 +01:00
Mike McCormack 9a4ba8c114 msi: Search the patch package for source cabinet files. 2006-11-01 13:38:09 +01:00
Mike McCormack ddf0b593bb msi: Mark components with missing or outdated files as incomplete. 2006-10-31 11:46:57 +01:00
Mike McCormack b76691537f msi: Split ACTION_UpdateInstallStates into two separate functions. 2006-10-30 11:20:06 +01:00
Mike McCormack 9375fd9fd3 msi: Remove redundant null checks before MSI_EvaluateCondition. 2006-10-27 12:01:37 +02:00
Mike McCormack 575cc67d0f msi: Use msi_feature_set_state and msi_component_set_state where possible. 2006-10-26 12:56:09 +02:00
Mike McCormack 6395ff6a5c msi: Create macro functions to set feature and component states. 2006-10-26 12:56:09 +02:00
Mike McCormack d1723de566 msi: Split code to get a file's verion into a separate comment. 2006-10-24 11:45:01 +02:00
Mike McCormack 0d7dc8f98d msi: Only apply transforms that are valid for a database. 2006-10-23 12:37:40 +02:00
Mike McCormack 7f98f1d086 msi: Initialize the summary information from a storage interface, not a db. 2006-10-23 12:37:32 +02:00
James Hawkins 929395c0f0 msi: Only initialize a component's state if it is linked with a feature. 2006-10-20 11:41:09 +02:00
James Hawkins 9bc12ade13 msi: Implement the InstallServices action. 2006-10-20 11:41:09 +02:00
Mike McCormack 4047cc7009 msi: Fix a memory leak. 2006-10-17 11:17:31 +02:00
James Hawkins 3797e6cada msi: Also set the SOURCEDIR property in MSI_InstallPackage. 2006-10-14 20:21:17 +02:00
Francois Gouget 58162f87fd Assorted spelling fixes. 2006-10-13 11:55:04 +02:00
James Hawkins c507543554 msi: Set the SourceDir and SOURCEDIR properties in the ResolveSource action. 2006-10-11 12:09:54 +02:00
Mike McCormack 80affb3c2d msi: Merge action.h into msipriv.h. 2006-10-10 16:12:12 +02:00
James Hawkins 563a50ab35 msi: Make internal functions static. 2006-10-09 14:40:08 +02:00
Mike McCormack f1d4646a49 msi: Win64 printf format warning fixes. 2006-10-05 11:32:32 +02:00
James Hawkins bbd4d1e3ef msi: If the feature linked to a component has a state of INSTALLSTATE_UNKNOWN, the component's state should match. 2006-09-26 21:56:05 +02:00
James Hawkins 545d0e70cf msi: Disable child features of parent features that are unselected because of the install level. 2006-09-21 13:03:32 +02:00
James Hawkins 32f570222b msi: Don't check a component's install state if a component ID is not provided. 2006-09-21 13:02:00 +02:00
James Hawkins d893cb7d1e msi: Load the component states in CostFinalize instead of CostInitialize. 2006-09-21 13:01:33 +02:00
James Hawkins ca5c11009d msi: Initialize all features' action states to INSTALLSTATE_UNKNOWN. 2006-09-21 13:01:18 +02:00
James Hawkins 937b9b2bbc msi: Only override a feature whose action state is INSTALLSTATE_SOURCE. 2006-09-21 13:01:10 +02:00
Andrew Talbot 2e372c08b5 msi: Cast-qual warnings fix. 2006-09-20 20:02:48 +02:00
Mike McCormack 4fa08a638c msi: Split the font registration code out into a separate file. 2006-09-13 11:42:35 +02:00
Mike McCormack 5f83069bd8 msi: Split code to create a random package name into a separate function. 2006-09-08 12:44:39 +02:00
Dan Kegel 337e1e202f msi: Callers of alloc_msihandle should handle failure. 2006-08-29 12:21:54 +02:00
James Hawkins 3cb82ab8d2 msi: If a component's state is not local, source, or default, default to the local state. 2006-08-12 11:39:58 +02:00
James Hawkins f84fa0ce63 msi: Fix the compressed files logic.
If the compressed file attribute is not set, use the Word Count
property to determine if files are compressed.
2006-08-08 19:34:34 +02:00
Robert Shearman ab378803ef msi: Fix the creation of shortcuts with a null icon index by mapping it to zero. 2006-08-03 22:23:09 +02:00
James Hawkins 7edea0cc68 msi: Set the install state to INSTALLSTATE_LOCAL for features with compressed files. 2006-08-02 11:42:20 +02:00
James Hawkins 38f2ba23f1 msi: Fix a couple install state test cases.
- Correctly handle the msidbComponentAttributesOptional component attribute.
- Don't set a component's state to INSTALLSTATE_LOCAL if the
  msidbComponentAttributesSourceOnly attribute is provided.
2006-08-01 10:49:20 +02:00
James Hawkins 98d1486410 msi: Set the install state to INSTALLSTATE_LOCAL for components with compressed files. 2006-07-31 21:36:19 +02:00
Mike McCormack 43f7f3ec3f msi: Don't set the shortcut's working directory if it's NULL. 2006-07-28 12:32:17 +02:00
Mike McCormack 1d46cdf11a msi: Always load all the components. 2006-07-26 10:23:34 +02:00
James Hawkins cae3215a6f msi: Set the component's initial state based on its attributes. 2006-07-21 20:22:27 +02:00
James Hawkins 7bcac31dcf msi: Update feature states after changing install levels, as they may have changed. 2006-07-20 12:50:14 +02:00
James Hawkins 7c7f0bb2c1 msi: Rename SetFeatureStates to match the naming scheme of internal msi functions. 2006-07-20 12:50:02 +02:00
Mike McCormack 9a9195d6e4 msi: Only load the features and files tables once. 2006-07-19 18:15:21 +02:00
James Hawkins 2396e2a59f msi: Sort SelectionTree items by their Display value. 2006-07-19 09:46:31 +02:00
Mike McCormack 2ec80faabe msi: Move msi_get_property_int() to helpers.c 2006-07-17 14:46:25 +02:00
Mike McCormack 230af9d21f msi: Move version string conversions to registry.c. 2006-07-14 13:32:39 +02:00
James Hawkins a1910e11bb msi: Fix handling of the no-op identifier in the Directory table. 2006-06-21 13:53:51 +02:00
Alexandre Julliard b79a53e959 msi: Make some variables static and/or const. 2006-06-12 13:39:59 +02:00
Mike McCormack ea3ab4952b msi: Remove some unnecessary NULL checks. 2006-06-09 15:20:14 +02:00
Mike McCormack 2acf800fd4 msi: Fix some pointer to integer casts. 2006-05-25 10:44:44 +02:00
Mike McCormack 20c5746649 msi: Fix a possible memory leak. 2006-05-24 10:52:33 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Labrousse Jean d0862c365b msi: Fix short name and long name mismatch in action.c. 2006-05-23 13:03:57 +02:00
Francois Gouget e739ba9551 Assorted spelling fixes. 2006-05-15 15:05:05 +02:00
Mike McCormack 3a94011ab6 msi: Clean up memset usage. 2006-04-18 21:13:52 +02:00
Mike McCormack 886036696a msi: Add stub for the RegisterComPlus and UnregisterComPlus actions. 2006-03-22 21:36:20 +01:00
Mike McCormack c1513be48c msi: Improve handling of short paths. 2006-03-21 16:19:07 +01:00
Mike McCormack fe8cd38812 msi: Remove some unnecessary indent. 2006-03-09 12:50:59 +01:00
Robert Shearman 4ac8567497 msi: Fix heap overflow in ITERATE_CreateShortcuts. 2006-02-22 22:15:54 +01:00
Robert Shearman d679bc5ab3 msi: Move the firing of control events to MSI_ProcessMessage.
Move the firing of control events from internal helper functions to
MSI_ProcessMessage so that custom actions can all cause control events
to be fired.
Added the firing of progress events.
2006-01-23 17:30:31 +01:00
Robert Shearman d2e48e01ac msi: Call ui_actiondata for more actions. 2006-01-23 17:29:50 +01:00
Mike McCormack 477bce38dc msi: Eliminate a fixed length buffer. 2006-01-16 20:38:28 +01:00
Mike McCormack aa81e4fa68 msi: Don't crash if there's no script present when we try execute one. 2006-01-10 12:09:19 +01:00
Mike McCormack e534e7726b msi: Apply any MSI transforms specified by the TRANSFORMS property. 2006-01-04 14:51:25 +01:00
Mike McCormack b7270b8c2d msi: Change some FIXME messages to comments. 2005-12-31 13:18:11 +01:00
Mike McCormack f24a9e2a24 msi: Add stub actions for CCPSearch and RMCCPSearch. 2005-12-31 13:14:23 +01:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Ivan Leo Puoti 5b22e4d6ef Fix some wrong prototypes. 2005-11-03 11:35:11 +00:00
Mike McCormack a977b2c346 Remove some redundant null pointer checks. 2005-11-03 09:56:29 +00:00
Aric Stewart d5655f90cf Force files to install if the REINSTALL property is set. 2005-11-02 14:21:17 +00:00
Mike McCormack fd4a2003db Implement the RemoveFiles action. 2005-11-02 11:42:56 +00:00
Mike McCormack dded8fb7a8 Use an enumeration for file states. 2005-11-02 10:56:42 +00:00
Mike McCormack 559427023f Add a stub for the AllocateRegistrySpace action. 2005-10-30 19:23:28 +00:00
Mike McCormack ec5edeebf4 Define MSIDBOPEN_ constants using LPCWSTR when compiling Wine. 2005-10-30 19:21:51 +00:00
Mike McCormack 9293f869cc Use msi_get_property_int() in a few more places. 2005-10-30 19:16:45 +00:00
Mike McCormack 9ba8ba30bb Use "static const" rather than "const static" as gcc -W complains
about the former.
2005-10-30 19:04:26 +00:00
Mike McCormack 991bae1409 Don't change the UI level during ExecuteAction. 2005-10-29 11:40:03 +00:00
Mike McCormack d693f461ba Remove the unused 1st parameter of ACTION_VerifyComponentForAction. 2005-10-29 11:36:48 +00:00
Mike McCormack 9c8458514c Some installers don't call the CreateFolders action before the
InstallFiles action as MSDN specifies, but it still seems to work, so
make sure that we create component directories in the InstallFiles
action anyway.
2005-10-29 11:29:17 +00:00
Thomas Weidenmueller 561f2f0399 Passing NULL as the last two parameters to ReadFile is illegal and
actually causes a crash on windows. The attached patch fixes this.
2005-10-29 10:29:08 +00:00
Mike McCormack 03b4dbbdc4 Create component folders in the CreateFolders action. 2005-10-28 09:39:29 +00:00
Mike McCormack 558abec8d5 If an action fails, print out its name as well as the error code. Use
%d for error codes so it's easy to match them up to something in
winerror.h.
2005-10-27 12:39:28 +00:00
Mike McCormack 51c6618d8d Rename load_dynamic_stringW to msi_dup_record_field to better describe
what it does, and replace a few instances with MSI_RecordGetString to
avoid allocating memory.
2005-10-27 12:36:12 +00:00
Mike McCormack ba293eef48 Tidy up the RegisterProduct action a little. 2005-10-27 12:08:16 +00:00
Mike McCormack f8fef6ea94 Create a stub function to apply a single table transform and call it
where we need to apply transforms.
2005-10-26 13:56:33 +00:00
Mike McCormack 965a72add0 Enumerate the substorage transforms for any patches that are passed on
the command line with PATCH=.  Need to implement
table_apply_transform() before this will do anything interesting.
2005-10-26 12:06:21 +00:00
Mike McCormack 61f24a4ca7 Rename ACTION_DoTopLevelINSTALL to MSI_InstallPackage, remove its
duplicate 4th parameter.
Split the code to copy a package into a separate function.
2005-09-30 10:32:41 +00:00
Mike McCormack 74f0de9638 Create a function to read a property as an integer. 2005-09-29 10:32:39 +00:00
Mike McCormack 3b95515015 Add some more action stubs, remove forward declarations. 2005-09-28 18:10:44 +00:00
Mike McCormack e3452228c6 Split command line parsing from MSI_InstallPackage into a separate
function.
2005-09-28 15:12:32 +00:00
Mike McCormack 2586a0958e Make a macro function for unimplemented actions.
Add some more unimplemented action stubs.
2005-09-26 09:56:18 +00:00
Mike McCormack b9a3a7a1f9 Stub implementation of the IsolateComponents action. 2005-09-25 15:14:03 +00:00
Mike McCormack 94fbe09c5f Add a stub implementation of the BindImage action. 2005-09-23 17:21:10 +00:00
Mike McCormack 567f0314af Stub implementation of the PatchFiles action. 2005-09-23 11:06:57 +00:00
Mike McCormack 8e22e7d7a9 Stub implementation of the MoveFiles action. 2005-09-23 10:48:17 +00:00
Mike McCormack 202166c343 Stub implementation of the RemoveIniValues action. 2005-09-23 10:09:18 +00:00