summaryrefslogtreecommitdiff
path: root/src/burn/engine/msuengine.cpp
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-06-24 12:28:27 -0500
committerSean Hall <r.sean.hall@gmail.com>2022-06-27 11:14:21 -0500
commiteb53852d7ae6838e54525eb57df1d8ce8a722f9b (patch)
tree7fa05bd6df1bce2e20d87c5fbacc1c658dc000aa /src/burn/engine/msuengine.cpp
parent6ee12a64cb75097a238e60d4fd0ea542e8312214 (diff)
downloadwix-eb53852d7ae6838e54525eb57df1d8ce8a722f9b.tar.gz
wix-eb53852d7ae6838e54525eb57df1d8ce8a722f9b.tar.bz2
wix-eb53852d7ae6838e54525eb57df1d8ce8a722f9b.zip
Add longPathAware to Burn manifest to support long paths.
Fixes 3455
Diffstat (limited to 'src/burn/engine/msuengine.cpp')
-rw-r--r--src/burn/engine/msuengine.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/burn/engine/msuengine.cpp b/src/burn/engine/msuengine.cpp
index 1b051165..400fdc92 100644
--- a/src/burn/engine/msuengine.cpp
+++ b/src/burn/engine/msuengine.cpp
@@ -269,7 +269,6 @@ extern "C" HRESULT MsuEngineExecutePackage(
269 HRESULT hr = S_OK; 269 HRESULT hr = S_OK;
270 LPWSTR sczCachedDirectory = NULL; 270 LPWSTR sczCachedDirectory = NULL;
271 LPWSTR sczMsuPath = NULL; 271 LPWSTR sczMsuPath = NULL;
272 LPWSTR sczWindowsPath = NULL;
273 LPWSTR sczSystemPath = NULL; 272 LPWSTR sczSystemPath = NULL;
274 LPWSTR sczWusaPath = NULL; 273 LPWSTR sczWusaPath = NULL;
275 LPWSTR sczCommand = NULL; 274 LPWSTR sczCommand = NULL;
@@ -294,15 +293,12 @@ extern "C" HRESULT MsuEngineExecutePackage(
294 // get wusa.exe path 293 // get wusa.exe path
295 if (fUseSysNativePath) 294 if (fUseSysNativePath)
296 { 295 {
297 hr = PathGetKnownFolder(CSIDL_WINDOWS, &sczWindowsPath); 296 hr = PathSystemWindowsSubdirectory(L"SysNative\\", &sczSystemPath);
298 ExitOnFailure(hr, "Failed to find Windows directory.");
299
300 hr = PathConcat(sczWindowsPath, L"SysNative\\", &sczSystemPath);
301 ExitOnFailure(hr, "Failed to append SysNative directory."); 297 ExitOnFailure(hr, "Failed to append SysNative directory.");
302 } 298 }
303 else 299 else
304 { 300 {
305 hr = PathGetKnownFolder(CSIDL_SYSTEM, &sczSystemPath); 301 hr = PathGetSystemDirectory(&sczSystemPath);
306 ExitOnFailure(hr, "Failed to find System32 directory."); 302 ExitOnFailure(hr, "Failed to find System32 directory.");
307 } 303 }
308 304
@@ -390,7 +386,6 @@ LExit:
390 ReleaseStr(sczCachedDirectory); 386 ReleaseStr(sczCachedDirectory);
391 ReleaseStr(sczMsuPath); 387 ReleaseStr(sczMsuPath);
392 ReleaseStr(sczSystemPath); 388 ReleaseStr(sczSystemPath);
393 ReleaseStr(sczWindowsPath);
394 ReleaseStr(sczWusaPath); 389 ReleaseStr(sczWusaPath);
395 ReleaseStr(sczCommand); 390 ReleaseStr(sczCommand);
396 ReleaseStr(sczEscapedKB); 391 ReleaseStr(sczEscapedKB);