diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2022-06-24 12:28:27 -0500 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2022-06-27 11:14:21 -0500 |
| commit | eb53852d7ae6838e54525eb57df1d8ce8a722f9b (patch) | |
| tree | 7fa05bd6df1bce2e20d87c5fbacc1c658dc000aa /src/libs/dutil/WixToolset.DUtil/sceutil.cpp | |
| parent | 6ee12a64cb75097a238e60d4fd0ea542e8312214 (diff) | |
| download | wix-eb53852d7ae6838e54525eb57df1d8ce8a722f9b.tar.gz wix-eb53852d7ae6838e54525eb57df1d8ce8a722f9b.tar.bz2 wix-eb53852d7ae6838e54525eb57df1d8ce8a722f9b.zip | |
Add longPathAware to Burn manifest to support long paths.
Fixes 3455
Diffstat (limited to '')
| -rw-r--r-- | src/libs/dutil/WixToolset.DUtil/sceutil.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
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( | |||
| 317 | { | 317 | { |
| 318 | HRESULT hr = S_OK; | 318 | HRESULT hr = S_OK; |
| 319 | DWORD dwVersionFound = 0; | 319 | DWORD dwVersionFound = 0; |
| 320 | WCHAR wzTempDbFile[MAX_PATH]; | 320 | LPWSTR sczTempDbFile = NULL; |
| 321 | LPCWSTR wzPathToOpen = NULL; | 321 | LPCWSTR wzPathToOpen = NULL; |
| 322 | LPWSTR sczSchemaType = NULL; | 322 | LPWSTR sczSchemaType = NULL; |
| 323 | SCE_DATABASE *pNewSceDatabase = NULL; | 323 | SCE_DATABASE *pNewSceDatabase = NULL; |
| @@ -343,16 +343,16 @@ extern "C" HRESULT DAPI SceOpenDatabase( | |||
| 343 | // TODO: had trouble getting SQL CE to read a file read-only, so we're copying it to a temp path for now. | 343 | // TODO: had trouble getting SQL CE to read a file read-only, so we're copying it to a temp path for now. |
| 344 | if (fReadOnly) | 344 | if (fReadOnly) |
| 345 | { | 345 | { |
| 346 | hr = DirCreateTempPath(PathFile(sczFile), (LPWSTR)wzTempDbFile, _countof(wzTempDbFile)); | 346 | hr = DirCreateTempPath(PathFile(sczFile), &sczTempDbFile); |
| 347 | ExitOnFailure(hr, "Failed to get temp path"); | 347 | ExitOnFailure(hr, "Failed to get temp path"); |
| 348 | 348 | ||
| 349 | hr = FileEnsureCopy(sczFile, (LPCWSTR)wzTempDbFile, TRUE); | 349 | hr = FileEnsureCopy(sczFile, sczTempDbFile, TRUE); |
| 350 | ExitOnFailure(hr, "Failed to copy file to temp path"); | 350 | ExitOnFailure(hr, "Failed to copy file to temp path"); |
| 351 | 351 | ||
| 352 | hr = StrAllocString(&pNewSceDatabaseInternal->sczTempDbFile, (LPCWSTR)wzTempDbFile, 0); | 352 | hr = StrAllocString(&pNewSceDatabaseInternal->sczTempDbFile, sczTempDbFile, 0); |
| 353 | ExitOnFailure(hr, "Failed to copy temp db file path"); | 353 | ExitOnFailure(hr, "Failed to copy temp db file path"); |
| 354 | 354 | ||
| 355 | wzPathToOpen = (LPCWSTR)wzTempDbFile; | 355 | wzPathToOpen = sczTempDbFile; |
| 356 | } | 356 | } |
| 357 | else | 357 | else |
| 358 | { | 358 | { |
| @@ -424,6 +424,7 @@ extern "C" HRESULT DAPI SceOpenDatabase( | |||
| 424 | LExit: | 424 | LExit: |
| 425 | ReleaseBSTR(rgdbpDataSourceProp[0].vValue.bstrVal); | 425 | ReleaseBSTR(rgdbpDataSourceProp[0].vValue.bstrVal); |
| 426 | ReleaseStr(sczSchemaType); | 426 | ReleaseStr(sczSchemaType); |
| 427 | ReleaseStr(sczTempDbFile); | ||
| 427 | ReleaseDatabase(pNewSceDatabase); | 428 | ReleaseDatabase(pNewSceDatabase); |
| 428 | 429 | ||
| 429 | return hr; | 430 | return hr; |
