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