Какова цель каждой папки «Program Files» в архитектуре Arm64?
Попытка пересобрать приложение, но ориентироваться на Arm64 и создать правильный установщик. Есть 3Program Files
папка:
-
C:\Program Files\
-
C:\Program Files (Arm)\
-
C:\Program Files (x86)\
Какова цель каждой папки? Где должно быть установлено приложение, созданное для архитектуры процессора Arm64?
Для дальнейшего использования здесь приведены переменные среды.
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(Arm)=C:\Program Files (Arm)\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(Arm)=C:\Program Files (Arm)
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
1 ответ
C:\Program Files (Arm)\
Эта папка исчезнет. Вы можете прочитать эту статью и следующие,
«Поддержка 32-битных версий приложений Arm будет удалена в будущем выпуске Windows 11».
Это неудивительно, ведь 32-битных приложений Arm было не так много.
C:\Program Files (x86)\
Эта папка остается неизменной для приложений x86. Вы можете обратиться к этой статье , чтобы узнать, что такое эмуляция.
Эта папка теперь довольно беспорядочна в Windows 11 ARM64, поскольку она принимает три типа:
- Ваши существующие приложения x64
- Ваши новые приложения на чистом ARM64
- Ваши приложения ARM64X
включая чистые двоичные файлы пересылки, если они используются.
Итак, старый установщик x64 продолжает работать при установке бинарников в эту папку и обеспечивает обратную совместимость. Однако двоичные файлы x64 выполняются в режиме эмуляции.
Наконец, вы перекомпилируете приложения как чистые двоичные файлы ARM64 или ARM64X и устанавливаете их в эту папку, чтобы они выполнялись в исходном виде.
Обратите внимание, что двоичное выполнение ARM64X является сложным, поскольку оно зависит от настроек запуска. Двоичные файлы могут работать в чистом режиме ARM64 (большую часть времени) или в режиме эмуляции x64 (если запускаются по-другому).
Бонус
Итак, когда вы пытаетесь портировать приложение на Windows 11 ARM64, вам нужно определиться, для чего именно вы портируете,
- Вы можете использовать старые двоичные файлы, если портирование не принесет существенных преимуществ.
- Вы можете создавать чистые двоичные файлы ARM64, что довольно распространено.
- Иногда вам может потребоваться создавать двоичные файлы ARM64X (один из случаев — собственные расширения IIS, такие как модуль ASP.NET Core).
Интересно, какой бы путь вы ни выбрали, двоичные файлы устанавливаются в один и тот же каталог.