Auto lauch 32bit / 64bit в зависимости от разрядности ОС? - PullRequest
0 голосов
/ 05 июня 2018

Я использую Visual Studio 2008 для написания приложений.При развертывании приложения некоторые системы являются 32-разрядными, а другие - 64-разрядными.Поэтому я планирую доставить 32-разрядную / 64-разрядную версию в установщик, а затем запустить соответствующую версию на основе разрядности ОС.Как реализовать последнее, т.е. получить разрядность ОС и запустить соответствующую версию?

Позвольте мне прояснить ситуацию.Я уже разработал 32-битное и 64-битное приложение EXE с C ++.Затем я хочу определить разрядность Windows в C ++ (я не знаю .NET) и запустить соответствующую версию приложения.

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Это зависит от того, что вы подразумеваете под «запустить соответствующую версию».Это подразумевает, что у вас уже написан код, который нужно выбрать, и в этом случае это вообще не вопрос установки - вам просто нужно найти разрядность ОС и затем установить соответствующий файл MSI (или сгенерированную VS настройку).EXE).Если это средство запуска C #, возможно, вы бы использовали Environment.Is64BitOperatingSystem.

В вашем вопросе не указано, доставляете ли вы код (сборки, COM Dll и т. Д.), Который будет использоваться клиентскими программами.Я упоминаю об этом, потому что ваша 32-битная установка будет установлена ​​и запущена на 64-битных версиях ОС в 32-битной подсистеме.Предполагается, что 64-разрядная версия будет содержать только собственный 64-разрядный код.

Обратите внимание, что ваша 64-битная установка все равно не будет установлена ​​на 32-битную ОС.

0 голосов
/ 05 июня 2018

Я бы порекомендовал поискать более мощный упаковочный инструмент MSI. Большинство профессиональных инструментов предлагают вам встроенный загрузчик, который предоставляет эту функцию одним щелчком мыши.

Проект настройки VS полезен для базовой упаковки приложений, но никогда не предназначен для того, чтобы предлагать вам полную мощность.

...