Если вы используете CMake, вам нужно установить флаг WIN32 в add_executable
add_executable(${name} WIN32 ${source_files})
. Для получения дополнительной информации см. CMake Doc .
Мы используем это: практическое руководство: Развернитесь приложения VC2008, не устанавливая vcredist_x86.exe
По существу
[Я - текущий специалист по обслуживанию SxS в Microsoft]
, я настоятельно рекомендовал бы против удаление атрибута publicKeyToken из деклараций. Частное развертывание dlls будет работать просто великолепно с этим атрибутом, оставленным неповрежденным. Однако удаление его будет препятствовать тому, чтобы Ваше приложение извлекло выгоду из обновлений системы защиты, должна там быть более новая версия CRT, установленного централизованно на целевой машине, поскольку зависимости больше не будут совпадать.
Так, для суммирования: безопасно встроить Вашу декларацию со значением по умолчанию. Скопируйте декларацию CRT + файлы DLL непосредственно в каталог Вашего исполняемого файла без редактирований.Именно. Совместимый Win2k +.
Укажите / MT (Многопоточный) для установки "библиотеки времени выполнения" в странице свойств компилятора. Это статически связывается против библиотеки времени выполнения, таким образом, Вы не должны устанавливать распространяемый файл.
Установите их как приватные сборки. Посмотрите здесь:
http://msdn.microsoft.com/en-us/library/ms235291.aspx
Примечание, которые, если Вам не нужны все DLLs, если можно изменить файлы манифеста к только, ссылаются на тех, Вам нужно.