Найти архитектуру системы в установщике Windows - PullRequest
0 голосов
/ 23 февраля 2011

У меня есть приложение, разработанное на C #.Я создаю установщик для приложения с помощью Visual Studio Setup Project.

Во время установки я хочу выполнить исполняемый файл, который отличается для 32 и 64 бит соответственно.Поэтому я должен использовать разные файлы для 32-битных и 64-битных.

Для выполнения exe-файла я добавил «Custom Action», и это тоже работает.Но, как уже говорилось, исполняемый файл отличается для системной архитектуры.Как я могу знать архитектуру в установщике и выполнить соответствующий файл.

Я попробовал следующее: Проверьте HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node - если найден, то он также возвращает "" и еще такжевозвращает "", поэтому бесполезно.VersionNT - это только версия, меня больше интересует архитектура.

Как мне этого добиться?VBS может делать работу или нет?Я не знаю VBS, но знаю, что он может быть добавлен к действию и установить его состояние и тому подобное.

Если я вообще создам еще одно 32-битное приложение, которое обнаружит архитектуру, то также как это будет работать с этой установкой?

Любая помощь очень ценится.

Спасибо

Ответы [ 2 ]

1 голос
/ 23 февраля 2011

См. Свойство VersionNT64 , которое устанавливается только в 64-разрядных системах. Если вам необходимо различать IA64 и x64, см. Также свойства Intel64 и Msix64 .

Например, вы можете использовать условие для вашего компонента или пользовательское действие, которое гласит: VersionNT64 , если вы хотите установить или запустить его только на 64-битных системах.

0 голосов
/ 23 февраля 2011

Посмотрите второй комментарий здесь: http://msdn.microsoft.com/en-us/library/ms724072%28VS.85%29.aspx

...