diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ext/Util/ca/RemoveFoldersEx.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/ext/Util/ca/RemoveFoldersEx.cpp b/src/ext/Util/ca/RemoveFoldersEx.cpp index cbc7f4bb..fc8574bc 100644 --- a/src/ext/Util/ca/RemoveFoldersEx.cpp +++ b/src/ext/Util/ca/RemoveFoldersEx.cpp | |||
@@ -28,11 +28,15 @@ static HRESULT RecursePath( | |||
28 | WIN32_FIND_DATAW wfd; | 28 | WIN32_FIND_DATAW wfd; |
29 | LPWSTR sczNext = NULL; | 29 | LPWSTR sczNext = NULL; |
30 | 30 | ||
31 | #ifdef _WIN64 | ||
32 | UNREFERENCED_PARAMETER(fDisableWow64Redirection); | ||
33 | #else | ||
31 | if (fDisableWow64Redirection) | 34 | if (fDisableWow64Redirection) |
32 | { | 35 | { |
33 | hr = WcaDisableWow64FSRedirection(); | 36 | hr = WcaDisableWow64FSRedirection(); |
34 | ExitOnFailure(hr, "Custom action was told to act on a 64-bit component, but was unable to disable filesystem redirection through the Wow64 API."); | 37 | ExitOnFailure(hr, "Custom action was told to act on a 64-bit component, but was unable to disable filesystem redirection through the Wow64 API."); |
35 | } | 38 | } |
39 | #endif | ||
36 | 40 | ||
37 | // First recurse down to all the child directories. | 41 | // First recurse down to all the child directories. |
38 | hr = StrAllocFormatted(&sczSearch, L"%s*", wzPath); | 42 | hr = StrAllocFormatted(&sczSearch, L"%s*", wzPath); |
@@ -103,10 +107,12 @@ LExit: | |||
103 | ::FindClose(hFind); | 107 | ::FindClose(hFind); |
104 | } | 108 | } |
105 | 109 | ||
110 | #ifndef _WIN64 | ||
106 | if (fDisableWow64Redirection) | 111 | if (fDisableWow64Redirection) |
107 | { | 112 | { |
108 | WcaRevertWow64FSRedirection(); | 113 | WcaRevertWow64FSRedirection(); |
109 | } | 114 | } |
115 | #endif | ||
110 | 116 | ||
111 | ReleaseStr(sczNext); | 117 | ReleaseStr(sczNext); |
112 | ReleaseStr(sczProperty); | 118 | ReleaseStr(sczProperty); |
@@ -140,7 +146,9 @@ extern "C" UINT WINAPI WixRemoveFoldersEx( | |||
140 | hr = WcaInitialize(hInstall, "WixRemoveFoldersEx"); | 146 | hr = WcaInitialize(hInstall, "WixRemoveFoldersEx"); |
141 | ExitOnFailure(hr, "Failed to initialize WixRemoveFoldersEx."); | 147 | ExitOnFailure(hr, "Failed to initialize WixRemoveFoldersEx."); |
142 | 148 | ||
149 | #ifndef _WIN64 | ||
143 | WcaInitializeWow64(); | 150 | WcaInitializeWow64(); |
151 | #endif | ||
144 | 152 | ||
145 | // anything to do? | 153 | // anything to do? |
146 | if (S_OK != WcaTableExists(L"Wix4RemoveFolderEx")) | 154 | if (S_OK != WcaTableExists(L"Wix4RemoveFolderEx")) |
@@ -219,7 +227,9 @@ extern "C" UINT WINAPI WixRemoveFoldersEx( | |||
219 | ExitOnFailure(hr, "Failure occured while processing Wix4RemoveFolderEx table"); | 227 | ExitOnFailure(hr, "Failure occured while processing Wix4RemoveFolderEx table"); |
220 | 228 | ||
221 | LExit: | 229 | LExit: |
230 | #ifndef _WIN64 | ||
222 | WcaFinalizeWow64(); | 231 | WcaFinalizeWow64(); |
232 | #endif | ||
223 | 233 | ||
224 | if (hColumns) | 234 | if (hColumns) |
225 | { | 235 | { |