James Hawkins : Revert "msi:
Only call a custom action remotely if the type is
msidbCustomActionTypeInScript ."
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Jul 18 06:57:29 CDT 2007
Module: wine
Branch: master
Commit: 929acbcb7f019d89101c579e0348bc3ad5120a7e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=929acbcb7f019d89101c579e0348bc3ad5120a7e
Author: James Hawkins <truiken at 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;
More information about the wine-cvs
mailing list