Commit Graph

139 Commits

Author SHA1 Message Date
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
James Hawkins 0405e9d2d4 msi: Store the CustomActionData for deferred custom actions. 2006-09-07 15:15:24 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Mike McCormack cf4f79e877 msi: Implement custom action type 17. 2006-03-22 11:20:12 +01:00
Marcus Meissner 73b7900b8b msi: Report the commandline that failed to start in ERR()s. 2006-01-03 17:35:41 +01:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +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 3c37734f96 Don't quote numbers in a query, as it doesn't parse correctly. 2005-09-28 11:59:16 +00:00
Mike McCormack 41c788f5a1 Don't create MSI handles unless we have to pass one through the API. 2005-09-28 10:13:18 +00:00
Mike McCormack 362079cfb0 Fix a memory leak. 2005-09-23 17:21:46 +00:00
Mike McCormack 470f23d471 Fix various memory leaks. 2005-09-22 10:56:26 +00:00
Mike McCormack ee034ba4c2 Added memory allocation inline functions (part 2). 2005-09-20 11:59:14 +00:00
Mike McCormack c621a5801f Fix if's that are followed by semicolons. 2005-09-20 11:37:58 +00:00
Mike McCormack 062ad50510 Rename load_dynamic_property and remove its unused 3rd argument. 2005-09-15 15:04:08 +00:00
Mike McCormack 0232c5c45f Convert RunningActions array into a list. 2005-09-08 12:42:07 +00:00
Mike McCormack 9cbe09be06 Fix memory leaks in custom actions. 2005-09-08 11:03:18 +00:00
Mike McCormack e18f8abee1 - build a standard Wine list of files instead of using an array
- use file pointers instead of array indexes
2005-08-23 10:03:17 +00:00
Aric Stewart 2e963b89e2 Further testing shows that when CustomActionData needs to be blank it
is an empty string not ' '.
2005-07-12 19:18:48 +00:00
Aric Stewart c9802931c1 Keep track of what sequence we are in and register unique
actions. This allows us to make sure actions and custom actions
flagged to run only once, actually run only once.
Also clean up some of the numeric constants in custom.c using the
defined values from msidefs.h.
2005-06-30 20:45:43 +00:00
Aric Stewart 816217e99e A simple cleanup to only track the temp file if we need to have it
laying around because the action is going on asynchronously. Otherwise
clean up the temp file as the action finishes.
2005-06-16 20:33:58 +00:00
Mike McCormack 0b352c7f7f Use the new helper function MSI_QueryGetRecord. 2005-06-02 10:29:57 +00:00
Aric Stewart 9cd707da3f Introduce really basic scripting of actions. This is primarily to get
the order of execution of the action correct since some custom actions
can be scripted and others are run during the script building phase.
2005-05-27 19:24:22 +00:00
Aric Stewart 721c11a52a Correct query quoting based on Mike's patch.
Also more error messages about return codes from custom actions and
ignore an error that we should be ignoring.
2005-05-20 09:40:02 +00:00
Mike McCormack 07c74d07f3 Make sure that dialogs are only created and destroyed in a single
thread.
2005-04-27 10:16:57 +00:00
Steven Edwards 98efef18d4 Avoid using ver.h in favor of winver.h. 2005-04-11 16:10:33 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Mike McCormack 95dea4969a - Rename dupstrW to strdupW, and remove duplicate definition.
- Move definition of string manipulation functions to msipriv.h.
2005-03-16 11:31:35 +00:00
Aric Stewart c2abd83079 Do not track the temp files for custom actions based on the name from
the table because then we get conflicts and files not tracked or
cleaned up.
2005-02-09 14:05:24 +00:00
Mike McCormack f51ad46a7a Handle a number as a parameter for custom action 19. 2005-02-09 13:57:54 +00:00
Mike McCormack 34d4a02bc5 - add support for Edit boxes in MSI dialogs
- run the message loop when waiting for threads or processes
2005-02-09 13:24:31 +00:00
Aric Stewart 6ed10c8013 Make a temp file for each dll saved for custom actions. This prevents
name collisions from causing custom actions to fail.
2005-02-08 14:27:06 +00:00
Aric Stewart 3f3186091e Continued work to simplify the ProcessAction call, also split it into
a ProcessAction and ProcessUIAction for future dialog box work.
Also fix a bug in deformat_string where i was not freeing the created
record.
2005-02-01 18:46:26 +00:00
Aric Stewart c169f717ee Implement custom action type 19, Halt install and display error
message.
2005-01-27 10:43:12 +00:00
Francois Gouget da8b3dd7f2 Assorted spelling fixes. 2005-01-26 21:09:04 +00:00
Aric Stewart 54c67dd1b1 - action.c is getting too big, so split out all the handling of
CustomActions into custom.c. Cleaned up a lot of the handling of
  custom actions including scripting actions and processing return
  codes.
- Mike McCormack pointed out that MsiFormatRecord is basically the
  same as internal function deformat_string. So broke deformat_string
  out and updated it to function as MsiFormatRecord and implemented
  MsiFormatRecord.
- A number of random fixes to action.c including properly calculating
  the length for the LocalPackage name, not forcing a reboot when
  really we should just return ERROR_INSTALL_SUSPEND and handling
  REG_MULTI_SZ now that we can deformat the properly.
2005-01-25 20:17:09 +00:00