diff options
| author | Bob Arnson <bob@firegiant.com> | 2020-12-26 22:15:06 -0500 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2021-01-19 15:50:11 -0600 |
| commit | a563fb99daca852422d61ae8599a3dc32fa1bfe6 (patch) | |
| tree | c9178a86bf56ee999145da1c5fb6aec186411bc7 /src/engine/engine.cpp | |
| parent | a5b86b987bb5a6fbcdb191bbe8b51a621140b4e6 (diff) | |
| download | wix-a563fb99daca852422d61ae8599a3dc32fa1bfe6.tar.gz wix-a563fb99daca852422d61ae8599a3dc32fa1bfe6.tar.bz2 wix-a563fb99daca852422d61ae8599a3dc32fa1bfe6.zip | |
First steps on Burn for x64 and ARM64
Diffstat (limited to 'src/engine/engine.cpp')
| -rw-r--r-- | src/engine/engine.cpp | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index ae5b690c..3dbfb365 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp | |||
| @@ -93,6 +93,7 @@ extern "C" HRESULT EngineRun( | |||
| 93 | BOOL fRegInitialized = FALSE; | 93 | BOOL fRegInitialized = FALSE; |
| 94 | BOOL fWiuInitialized = FALSE; | 94 | BOOL fWiuInitialized = FALSE; |
| 95 | BOOL fXmlInitialized = FALSE; | 95 | BOOL fXmlInitialized = FALSE; |
| 96 | SYSTEM_INFO si = { }; | ||
| 96 | OSVERSIONINFOEXW ovix = { }; | 97 | OSVERSIONINFOEXW ovix = { }; |
| 97 | LPWSTR sczExePath = NULL; | 98 | LPWSTR sczExePath = NULL; |
| 98 | BOOL fRunNormal = FALSE; | 99 | BOOL fRunNormal = FALSE; |
| @@ -155,8 +156,34 @@ extern "C" HRESULT EngineRun( | |||
| 155 | ExitWithLastError(hr, "Failed to get OS info."); | 156 | ExitWithLastError(hr, "Failed to get OS info."); |
| 156 | } | 157 | } |
| 157 | 158 | ||
| 159 | #if defined(_M_ARM64) | ||
| 160 | LPCSTR szBurnPlatform = "ARM64"; | ||
| 161 | #elif defined(_M_AMD64) | ||
| 162 | LPCSTR szBurnPlatform = "x64"; | ||
| 163 | #else | ||
| 164 | LPCSTR szBurnPlatform = "x86"; | ||
| 165 | #endif | ||
| 166 | |||
| 167 | LPCSTR szMachinePlatform = "unknown architecture"; | ||
| 168 | ::GetNativeSystemInfo(&si); | ||
| 169 | switch (si.wProcessorArchitecture) | ||
| 170 | { | ||
| 171 | case PROCESSOR_ARCHITECTURE_AMD64: | ||
| 172 | szMachinePlatform = "x64"; | ||
| 173 | break; | ||
| 174 | case PROCESSOR_ARCHITECTURE_ARM: | ||
| 175 | szMachinePlatform = "ARM"; | ||
| 176 | break; | ||
| 177 | case PROCESSOR_ARCHITECTURE_ARM64: | ||
| 178 | szMachinePlatform = "ARM64"; | ||
| 179 | break; | ||
| 180 | case PROCESSOR_ARCHITECTURE_INTEL: | ||
| 181 | szMachinePlatform = "x86"; | ||
| 182 | break; | ||
| 183 | } | ||
| 184 | |||
| 158 | PathForCurrentProcess(&sczExePath, NULL); // Ignore failure. | 185 | PathForCurrentProcess(&sczExePath, NULL); // Ignore failure. |
| 159 | LogId(REPORT_STANDARD, MSG_BURN_INFO, szVerMajorMinorBuild, ovix.dwMajorVersion, ovix.dwMinorVersion, ovix.dwBuildNumber, ovix.wServicePackMajor, sczExePath); | 186 | LogId(REPORT_STANDARD, MSG_BURN_INFO, szVerMajorMinorBuild, ovix.dwMajorVersion, ovix.dwMinorVersion, ovix.dwBuildNumber, ovix.wServicePackMajor, sczExePath, szBurnPlatform, szMachinePlatform); |
| 160 | ReleaseNullStr(sczExePath); | 187 | ReleaseNullStr(sczExePath); |
| 161 | 188 | ||
| 162 | // initialize core | 189 | // initialize core |
