Gijs Vermeulen : advpack: Extract inf file before installing in ExecuteCab().
Alexandre Julliard
julliard at winehq.org
Fri Aug 7 10:42:29 CDT 2020
Module: wine
Branch: stable
Commit: 302aab40ade41d4d518442509835f8a8e0e6ca20
URL: https://source.winehq.org/git/wine.git/?a=commit;h=302aab40ade41d4d518442509835f8a8e0e6ca20
Author: Gijs Vermeulen <gijsvrm at 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 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit 90ddc58a86736971478bd4353237c4723992c3a7)
Signed-off-by: Michael Stefaniuc <mstefani at 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)
More information about the wine-cvs
mailing list