diff --git a/src/native/corehost/bundle/info.cpp b/src/native/corehost/bundle/info.cpp index 4d58a00ae647be..fd4a7d3f3b08b7 100644 --- a/src/native/corehost/bundle/info.cpp +++ b/src/native/corehost/bundle/info.cpp @@ -108,7 +108,14 @@ char* info_t::config_t::map(const pal::string_t& path, const location_t* &locati // * There is no performance limitation due to a larger sized mapping, since we actually only read the pages with relevant contents. // * Files that are too large to be mapped (ex: that exhaust 32-bit virtual address space) are not supported. +#ifdef _WIN32 + // Since we can't use in-situ parsing on Windows, as JSON data is encoded in + // UTF-8 and the host expects wide strings. + // We do not need COW and read-only mapping will be enough. + char* addr = (char*)pal::mmap_read(app->m_bundle_path); +#else // _WIN32 char* addr = (char*)pal::mmap_copy_on_write(app->m_bundle_path); +#endif // _WIN32 if (addr == nullptr) { trace::error(_X("Failure processing application bundle."));