Commit Graph

185 Commits

Author SHA1 Message Date
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 af08a2f6ba msi: Pass string length to msi_set_property in ACTION_CustomAction. 2012-10-29 14:41:55 +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 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 6a588baaf7 msi: Use inline wrappers for calling COM methods. 2012-07-27 17:05:32 +02: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
Hans Leidekker 022915f75b msi: Don't hide failure of script custom actions. 2012-05-15 16:26:37 +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 b00e7039c5 msi: Execute custom actions in the right script. 2012-01-06 21:57:40 +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 a100550383 msi: Trace the exit code from custom action processes. 2011-11-14 13:10:19 +01:00
Hans Leidekker e1c2e8828f msi: Clean up the database queries. 2011-07-27 11:55:16 +02:00
Hans Leidekker 823560d472 msi: Get rid of the remaining tabs. 2011-07-01 14:39:36 +02:00
Hans Leidekker 5ca2277cc5 msi: Pass the full custom action command to CreateProcess. 2011-06-14 13:15:25 +02:00
Hans Leidekker b4c20e7fef msi: Get rid of forward declarations for custom action handlers. 2011-06-07 14:18:34 +02:00
Hans Leidekker 880ef2bb35 msi: Factor out common code to execute custom action commands. 2011-06-07 14:18:33 +02:00
Hans Leidekker 1ab830188a msi: Execute the rollback script if the installation failed. 2011-05-20 12:44:37 +02:00
Hans Leidekker 0f5cb14a67 msi: Schedule rollback for standard actions. 2011-05-20 12:44:32 +02:00
Hans Leidekker 0c43024af7 msi: Get rid of helpers.c. 2011-05-06 16:39:08 +02:00
Hans Leidekker cd34bfe6c1 msi: Define common strings just once. 2011-05-02 16:40:20 +02:00
Hans Leidekker 8fb5368d4e msi: Use a separate function to retrieve the target folder path. 2011-05-02 16:39:52 +02:00
Hans Leidekker 288718d8c3 msi: A custom action dll failing to load is not a fatal error. 2011-02-23 14:58:58 +01:00
Hans Leidekker 178d39ccc5 msi: Fix a trace. 2011-02-22 13:34:33 +01:00
Hans Leidekker b96e5d21c6 msi: Split up resolve_folder. 2011-02-07 10:17:15 -06:00
Hans Leidekker 08c3d2a5ab msi: Skip rollback custom actions. 2011-01-27 16:31:45 +01:00
Hans Leidekker af3733cde5 msi: Use a return value (clang). 2011-01-27 16:31:13 +01:00
Alexandre Julliard 17e66e06d6 msi: Convert the dll registration to the IRegistrar mechanism. 2010-12-17 14:59:49 +01:00
Michael Stefaniuc cb58010118 msi: Use an iface instead of a vtbl pointer in msi_custom_remote_impl. 2010-12-15 13:18:37 +01:00
Joris Huizer d4d7c263cb msi: Don't leak memory on error path. 2010-12-03 11:04:13 +01:00
Hans Leidekker 06505c9a34 msi: Reuse temporary executables.
Fixes a custom action in the Office 2010 installer and makes installers
that pack multiple custom actions in an executable faster.
2010-12-02 12:47:41 +01:00
Hans Leidekker eaa57c5b7b msi: Compare strings without depending on thread locale. 2010-10-19 13:49:54 +02:00
Hans Leidekker 5d0a6b0004 msi: Store action data for deferred rollback actions too. 2010-10-13 15:52:38 +02:00
Hans Leidekker 7404e64373 msi: A commit or rollback custom action can be a deferred action at the same time. 2010-10-13 15:52:33 +02:00
Hans Leidekker 7a370c8d7b msi: Consistently use the allocation macros. 2010-05-20 16:25:44 +02:00
Hans Leidekker e31ee69f37 msi: Rename MSI_GetPropertyW and MSI_SetPropertyW.
For consistency with related functions msi_dup_property and msi_get_property_int
and because there is no ANSI version of these functions.
2010-04-21 11:57:33 +02:00
Hans Leidekker 44b7983913 msi: Make MSI_SetPropertyW take a pointer to a database instead of a package. 2010-04-21 11:57:33 +02:00
Hans Leidekker 186f4efa3f msi: Make msi_get_property_int and friends take a pointer to a database instead of a package.
They only operate on a database and this way we can use them before a package is created.
2010-04-21 11:57:33 +02:00
Andrew Nguyen 0270f18e11 msi: Correctly set the process working directory in custom action type 34. 2010-03-03 11:52:37 +01:00
Marcus Meissner 9fab263d39 msi: Call Custom function via wrapper. 2010-02-04 14:06:34 +01:00
Hans Leidekker 843382f284 msi: Define common strings only once. 2009-10-15 14:16:50 +02:00
Hans Leidekker 2beee126a7 msi: Test the Installed property. 2009-09-29 16:06:22 +02:00
Hans Leidekker 1b7d1d4c87 msi: Respect UI level in custom action type 19. 2009-09-29 16:06:22 +02:00
Hans Leidekker 90d283f0eb msi: Improve a trace. 2009-09-16 12:56:38 -05:00
Hib Eris 5392014e29 msi: Release more msi_custom_action_info when no longer needed. 2009-06-22 13:09:03 +02:00
Hib Eris e86ebd75b0 msi: Release msi_custom_action_info when no longer needed. 2009-06-22 13:08:55 +02:00
Hans Leidekker b8965ee7c9 msi: Don't initialize COM for custom action threads. 2009-03-24 13:31:59 +01:00
Hans Leidekker ba50d15060 msi: Set concurrency model to multi-threaded for custom action threads.
A custom action in the office 2007 sp1 installer fails right after calling
CoInitializeEx(NULL, COINIT_MULTITHREADED). This is because our code calls
CoInitialize(NULL) first, which sets a different concurrency model, and a
subsequent call with a different model will return RPC_E_CHANGED_MODE.

Ergo, we should set the model to multi-threaded too.
2009-03-13 14:52:48 +01:00
Francois Gouget d7119f2b73 msi: Remove WINAPI on static functions where not needed. 2008-11-28 12:54:37 +01:00
Alexandre Julliard ef07d83405 Include wine/port.h everywhere we use exceptions. 2008-04-29 20:18:49 +02:00
James Hawkins 2d0ff97406 msi: Ignore the custom action type 51 if the source field is empty. 2008-03-11 12:12:24 +01:00
James Hawkins 2750ed167f msi: Don't check for the existence of the msi package when running a concurrent install. 2008-02-11 20:45:17 +01:00
James Hawkins 18407eafdc msi: Initialize a default COM apartment for custom actions. 2007-12-20 10:47:35 +01:00
James Hawkins f919a24eb2 msi: Free the deformatted string. 2007-12-12 13:48:38 +01:00
James Hawkins 8912798fb5 msi: Downgrade a FIXME to a WARN. 2007-11-26 12:28:31 +01:00
James Hawkins f1b790be06 msi: Fix the size allocated for the deferred custom action string. 2007-08-06 12:18:08 +02:00
James Hawkins 9089835c35 msi: Use a more unique property separator. 2007-07-30 12:51:55 +02:00
James Hawkins fb45206ed7 msi: Initialize the size parameter. 2007-07-27 12:24:08 +02:00
James Hawkins 6af199ef9c msi: Use a different separator as a semi-colon may separate values in the CustomActionData. 2007-07-25 13:03:45 +02:00
James Hawkins 929acbcb7f Revert "msi: Only call a custom action remotely if the type is msidbCustomActionTypeInScript."
This reverts f2ae31000b commit.
2007-07-18 12:58:15 +02:00
James Hawkins f2ae31000b msi: Only call a custom action remotely if the type is msidbCustomActionTypeInScript. 2007-07-17 12:55:03 +02:00
James Hawkins 1647de570b msi: Enable remote custom actions. 2007-07-06 18:12:18 +02:00
James Hawkins bc4750ff75 msi: Add the IWineMsiRemoteCustomAction interface. 2007-07-03 12:59:17 +02:00
James Hawkins 4c3e4ba029 msi: Reference count the custom action data to avoid freeing the data by another thread.
Based on a patch by Rob Shearman.
2007-06-27 14:32:28 +02:00
Rob Shearman 8a94f7aad3 msi: Implement MsiGetMode for MSIRUNMODE_SCHEDULED, MSIRUNMODE_COMMIT and MSIRUNMODE_ROLLBACK. 2007-06-26 11:56:33 +02:00
James Hawkins 82f4e3981b msi: Send the expected data to set_deferred_action_props. 2007-06-19 11:31:07 +02:00
James Hawkins 3c444ea350 msi: Set the UserSID and ProductCode properties for deferred custom actions. 2007-06-15 12:40:56 +02:00
James Hawkins 9ed5c865e2 msi: Protect custom actions with a structured exception handler. 2007-06-14 13:14:50 +02:00
Andrew Talbot 1486d851da msi: Constify some variables. 2007-06-01 12:51:14 +02:00
James Hawkins 60e95ee6e8 msi: Add handling for MsiBreak. 2007-06-01 12:42:16 +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
Misha Koshelev eee455c24a msi: Add JScript/VBScript support. 2007-05-01 18:34:17 +02:00
Misha Koshelev d70c9e7690 msi: Added handlers for JScript/VBScript actions that call one script function. 2007-05-01 18:25:34 +02:00
James Hawkins 98eafa870c msi: Add handling for the concurrent install custom action. 2007-04-16 12:11:08 +02:00
James Hawkins 06df9f790d msi: Generalize the msi_custom_action_info struct so other custom actions can use it. 2007-04-16 12:09:14 +02:00
Rob Shearman 3fbe9db433 msi: Don't wait on closed handles in ACTION_FinishCustomActions.
The handle will be closed by free_custom_action_data, so duplicate the 
handle before calling it.
2007-04-04 12:39:14 +02:00
James Hawkins 8cedb218c3 msi: Load the folder property if available and requested. 2007-03-29 21:01:42 +02:00
Andrew Talbot 7a9b2183d4 msi: Replace const pointer parameters with correct pointers to const. 2007-03-06 12:10:31 +01:00
Rob Shearman e2972af436 msi: Rewrite the second loop in ACTION_FinishCustomActions so that it always terminates.
Create an array of handles to wait on so that we can wait without
holding a critical section.
2007-03-05 16:43:26 +01:00
James Hawkins 747f19f011 msi: Free the custom action data after the thread function executes. 2007-02-26 13:56:11 +01:00
Mike McCormack d50c62884a msi: Find pending custom actions by GUID. 2007-02-14 14:42:02 +01:00
Mike McCormack 63cdee2741 msi: Remove an unused initializer. 2007-02-13 17:47:30 +01:00
Mike McCormack 63e554994a msi: Store dll based custom actions in a separate list. 2007-02-12 14:12:41 +01:00
Mike McCormack 5927015726 msi: Simplify ACTION_FinishCustomActions. 2007-02-12 14:12:34 +01:00
Mike McCormack d0e12bdef7 msi: Split process_handle() into two separate functions. 2007-02-12 12:39:05 +01:00
Mike McCormack b1a16d978d msi: Only wait for custom actions that don't have msidbCustomActionTypeContinue specified. 2006-11-22 11:39:25 +01:00
Mike McCormack 2a95a8ae78 msi: Split process_action_return_value into two different functions. 2006-11-22 11:39:21 +01:00
Mike McCormack eb16fd5198 msi: Remove an unused parameter. 2006-11-22 11:39:16 +01:00
Mike McCormack cf370a8d39 msi: Remove unnecessary includes. 2006-11-17 11:14:41 +01:00
Mike McCormack c88c0b453d msi: Remove track_tempfile()'s unused 2nd parameter. 2006-11-14 11:43:17 +01:00
Mike McCormack 4811743b36 msi: Only free a string in one place. 2006-11-13 13:02:26 +01:00
Mike McCormack 959c71846d msi: Fix error handling. 2006-11-13 13:02:22 +01:00
Mike McCormack 3ef703ad6c msi: Track temp files as soon as they are created. 2006-11-13 13:02:15 +01:00
Mike McCormack 1767989bd1 msi: Fail if we can't write out a temporary file. 2006-11-13 13:02:12 +01:00
Mike McCormack 0b7a17d282 msi: Clean upstore_binary_to_temp. 2006-11-13 13:02:00 +01:00
Francois Gouget 1ccf944900 Assorted spelling fixes. 2006-11-13 13:01:53 +01:00
Mike McCormack 80affb3c2d msi: Merge action.h into msipriv.h. 2006-10-10 16:12:12 +02:00
Mike McCormack 73c7bcb6e5 msi: Fix memory leaks and bad frees. 2006-10-10 12:10:07 +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