пятница, 2 ноября 2007 г.

Распространение приложений скомпилированных с Visual Studio 2005

Должно быть каждый, кто пытался запустить приложение скомпилированное с Visual Studio 2005 на чистой машине, был неприятно удивлен сообщением об ошибке. Причиной является невозможность найти библиотеки времени исполнения, указанные в встраиваемом по умолчанию манифесте.

Исходя из этого, у нас есть два основных метода распространения приложения:

1. Скомпилировать приложение со статической библиотекой времени исполнения.
Для этого следует:
- отключить манифест (Project Options -> Linker -> Manifest File -> Generate Manifest = No );
- указать статическую библиотеку времени исполнения (Project Options -> С\С++ -> Code Generation -> Runtime Library = Multi-threaded /MT ).

Недостатками этого метода является увеличенный размер приложения (теперь внутри него необходимые функции из библиотеки) и то что Microsoft всё же рекомендует его избегать .

2. Поставлять с приложением необходимую библиотеку.
Одно из решений предлагаемых Microsoft - использовать Visual C++ Runtime Libraries весом в 2.6 МБ, которые можно скачать здесь, либо найти в Visual Studio (%Путь к папке с VS2005%\SDK\v2.0\BootStrapper\Packages\vcredist_x86).

Более подробно о рекомендациях Microsoft можно прочесть в статье Choosing a Deployment Method.

Комментариев нет: