From eb53852d7ae6838e54525eb57df1d8ce8a722f9b Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Fri, 24 Jun 2022 12:28:27 -0500 Subject: Add longPathAware to Burn manifest to support long paths. Fixes 3455 --- src/libs/dutil/WixToolset.DUtil/sceutil.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/libs/dutil/WixToolset.DUtil/sceutil.cpp') diff --git a/src/libs/dutil/WixToolset.DUtil/sceutil.cpp b/src/libs/dutil/WixToolset.DUtil/sceutil.cpp index 4eede74f..590c937a 100644 --- a/src/libs/dutil/WixToolset.DUtil/sceutil.cpp +++ b/src/libs/dutil/WixToolset.DUtil/sceutil.cpp @@ -317,7 +317,7 @@ extern "C" HRESULT DAPI SceOpenDatabase( { HRESULT hr = S_OK; DWORD dwVersionFound = 0; - WCHAR wzTempDbFile[MAX_PATH]; + LPWSTR sczTempDbFile = NULL; LPCWSTR wzPathToOpen = NULL; LPWSTR sczSchemaType = NULL; SCE_DATABASE *pNewSceDatabase = NULL; @@ -343,16 +343,16 @@ extern "C" HRESULT DAPI SceOpenDatabase( // TODO: had trouble getting SQL CE to read a file read-only, so we're copying it to a temp path for now. if (fReadOnly) { - hr = DirCreateTempPath(PathFile(sczFile), (LPWSTR)wzTempDbFile, _countof(wzTempDbFile)); + hr = DirCreateTempPath(PathFile(sczFile), &sczTempDbFile); ExitOnFailure(hr, "Failed to get temp path"); - hr = FileEnsureCopy(sczFile, (LPCWSTR)wzTempDbFile, TRUE); + hr = FileEnsureCopy(sczFile, sczTempDbFile, TRUE); ExitOnFailure(hr, "Failed to copy file to temp path"); - hr = StrAllocString(&pNewSceDatabaseInternal->sczTempDbFile, (LPCWSTR)wzTempDbFile, 0); + hr = StrAllocString(&pNewSceDatabaseInternal->sczTempDbFile, sczTempDbFile, 0); ExitOnFailure(hr, "Failed to copy temp db file path"); - wzPathToOpen = (LPCWSTR)wzTempDbFile; + wzPathToOpen = sczTempDbFile; } else { @@ -424,6 +424,7 @@ extern "C" HRESULT DAPI SceOpenDatabase( LExit: ReleaseBSTR(rgdbpDataSourceProp[0].vValue.bstrVal); ReleaseStr(sczSchemaType); + ReleaseStr(sczTempDbFile); ReleaseDatabase(pNewSceDatabase); return hr; -- cgit v1.2.3-55-g6feb