[PATCH 2/2] msi: Disable WoW redirection when installing a 64-bit package.
Hans Leidekker
hans at codeweavers.com
Wed May 2 06:21:15 CDT 2018
> --- a/dlls/msi/action.c
> +++ b/dlls/msi/action.c
> @@ -559,6 +559,7 @@ static UINT ACTION_ProcessExecSequence(MSIPACKAGE *package)
> '`','S','e','q','u','e','n','c','e','`',' ', '>',' ','0',' ',
> 'O','R','D','E','R',' ', 'B','Y',' ','`','S','e','q','u','e','n','c','e','`',0};
> MSIQUERY *view;
> + void *cookie;
> UINT rc;
>
> if (package->ExecuteSequenceRun)
> @@ -569,6 +570,9 @@ static UINT ACTION_ProcessExecSequence(MSIPACKAGE *package)
>
> package->ExecuteSequenceRun = TRUE;
>
> + if (is_wow64 && package->platform == PLATFORM_X64)
> + Wow64DisableWow64FsRedirection(&cookie);
> +
> rc = MSI_OpenQuery(package->db, &view, query);
> if (rc == ERROR_SUCCESS)
> {
> @@ -578,6 +582,10 @@ static UINT ACTION_ProcessExecSequence(MSIPACKAGE *package)
> rc = MSI_IterateRecords(view, NULL, ITERATE_Actions, package);
> msiobj_release(&view->hdr);
> }
> +
> + if (is_wow64 && package->platform == PLATFORM_X64)
> + Wow64RevertWow64FsRedirection(cookie);
> +
Installs can also be driven by MsiDoAction calls or by MsiSequence. It
seems to me that ACTION_PerformAction would be the right place to do
this.
More information about the wine-devel
mailing list