Gijs Vermeulen : advpack: Extract inf file before installing in ExecuteCab().
Module: wine Branch: master Commit: 90ddc58a86736971478bd4353237c4723992c3a7 URL: https://source.winehq.org/git/wine.git/?a=commit;h=90ddc58a86736971478bd4353... Author: Gijs Vermeulen <gijsvrm(a)gmail.com> Date: Mon May 11 00:10:57 2020 +0200 advpack: Extract inf file before installing in ExecuteCab(). Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=29806 Signed-off-by: Gijs Vermeulen <gijsvrm(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/advpack/install.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dlls/advpack/install.c b/dlls/advpack/install.c index 70dc4d74aa..d82de9c361 100644 --- a/dlls/advpack/install.c +++ b/dlls/advpack/install.c @@ -677,8 +677,15 @@ HRESULT WINAPI ExecuteCabW(HWND hwnd, CABINFOW* pCab, LPVOID pReserved) ZeroMemory(&info, sizeof(ADVInfo)); - if (pCab->pszCab && *pCab->pszCab) - FIXME("Cab archive not extracted!\n"); + if ((pCab->pszCab && *pCab->pszCab) && (pCab->pszInf && *pCab->pszInf) && *pCab->szSrcPath) + { + TRACE("pszCab: %s, pszInf: %s, szSrcPath: %s\n", debugstr_w(pCab->pszCab), debugstr_w(pCab->pszInf), + debugstr_w(pCab->szSrcPath)); + + hr = ExtractFilesW(pCab->pszCab, pCab->szSrcPath, 0, pCab->pszInf, NULL, 0); + if (FAILED(hr)) + ERR("Failed to extract .inf file!\n"); + } hr = install_init(pCab->pszInf, pCab->pszSection, pCab->szSrcPath, pCab->dwFlags, &info); if (hr != S_OK)
participants (1)
-
Alexandre Julliard