Module: wine Branch: master Commit: 929acbcb7f019d89101c579e0348bc3ad5120a7e URL: http://source.winehq.org/git/wine.git/?a=commit;h=929acbcb7f019d89101c579e03...
Author: James Hawkins truiken@gmail.com Date: Tue Jul 17 17:48:43 2007 -0700
Revert "msi: Only call a custom action remotely if the type is msidbCustomActionTypeInScript."
This reverts f2ae31000b6d6c105838fad36c17ba1fb1f5524b commit.
---
dlls/msi/custom.c | 78 +---------------------------------------------------- 1 files changed, 1 insertions(+), 77 deletions(-)
diff --git a/dlls/msi/custom.c b/dlls/msi/custom.c index 86d4ccb..06699d2 100644 --- a/dlls/msi/custom.c +++ b/dlls/msi/custom.c @@ -647,7 +647,7 @@ static UINT get_action_info( const GUID *guid, INT *type, MSIHANDLE *handle, return ERROR_SUCCESS; }
-static DWORD WINAPI ACTION_CallRemoteDllFunction( const GUID *guid ) +static DWORD WINAPI ACTION_CallDllFunction( const GUID *guid ) { MsiCustomActionEntryPoint fn; MSIHANDLE hPackage, handle; @@ -713,82 +713,6 @@ static DWORD WINAPI ACTION_CallRemoteDllFunction( const GUID *guid ) return r; }
-static DWORD WINAPI ACTION_CallLocalDllFunction( msi_custom_action_info *info ) -{ - MsiCustomActionEntryPoint fn; - MSIHANDLE hPackage; - HANDLE hModule; - LPSTR proc; - UINT r = ERROR_FUNCTION_FAILED; - - TRACE("%s %s\n", debugstr_w( info->source ), debugstr_w( info->target ) ); - - hModule = LoadLibraryW( info->source ); - if (!hModule) - { - ERR("failed to load dll %s\n", debugstr_w( info->source ) ); - return r; - } - - proc = strdupWtoA( info->target ); - fn = (MsiCustomActionEntryPoint) GetProcAddress( hModule, proc ); - msi_free( proc ); - if (fn) - { - hPackage = alloc_msihandle( &info->package->hdr ); - if (hPackage) - { - TRACE("calling %s\n", debugstr_w( info->target ) ); - handle_msi_break( info->target ); - - __TRY - { - r = fn( hPackage ); - } - __EXCEPT_PAGE_FAULT - { - ERR("Custom action (%s:%s) caused a page fault: %08x\n", - debugstr_w(info->source), debugstr_w(info->target), GetExceptionCode()); - r = ERROR_SUCCESS; - } - __ENDTRY; - - MsiCloseHandle( hPackage ); - } - else - ERR("failed to create handle for %p\n", info->package ); - } - else - ERR("GetProcAddress(%s) failed\n", debugstr_w( info->target ) ); - - FreeLibrary(hModule); - - return r; -} - -static DWORD WINAPI ACTION_CallDllFunction(const GUID *guid) -{ - msi_custom_action_info *info; - UINT r; - - info = find_action_by_guid(guid); - if (!info) - { - ERR("failed to find action %s\n", debugstr_guid(guid)); - return ERROR_FUNCTION_FAILED; - } - - TRACE("%s %s\n", debugstr_w(info->source), debugstr_w(info->target)); - - if (info->type & msidbCustomActionTypeInScript) - r = ACTION_CallRemoteDllFunction(guid); - else - r = ACTION_CallLocalDllFunction(info); - - release_custom_action_data(info); - return r; -} - static DWORD WINAPI DllThread( LPVOID arg ) { LPGUID guid = arg;