2009-04-29 4 views
5

У нас есть приложение, которое мы пытаемся развернуть на 64-битной и 32-разрядной платформах. Есть ли способ разместить обе скомпилированные версии кода в том же двоичном формате, a la Apple и NeXT fat binaries?Загрузите 64-битные и 32-разрядные версии приложения в один и тот же двоичный файл?

В идеале мы можем отправить один .exe, который принимает решение о выполнении, какую версию кода выполнить. Мы ориентируемся на Windows XP и более поздние версии.

ответ

6

Один из подходов, возможно, заключается в том, чтобы предоставить загрузочное приложение, которое определяет архитектуру и выбирает соответствующий исполняемый файл для запуска. Таким образом, в основном ярлык или то, что у вас есть в вашем приложении, просто запускает загрузчик, который, в свою очередь, запускает соответствующее приложение. Это может быть немного сложнее, если ваше приложение является сервисом Windows.

8

Process Explorer (был sysinternals, теперь принадлежащий Microsoft) делает это. Это 32-разрядное приложение, которое обнаруживает 64-битную среду, выписывает другой двоичный файл и удаляет его при выходе. http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^