2012-05-11 2 views
2

Я создал приложение MFC в Visual Studio 2010, и я почесываю голову о включении перераспределений в установщик.Когда мне нужно перераспределить MSVCRT?

Приложение статически связано, поэтому мне не нужны распространяемые материалы, их самосохранение, правильно?

+0

Вы имеете в виду ссылку приложения статически против библиотек MFC, правильно? Тогда нет, вам не нужно включать их. –

+0

Начиная с VS2010 вы НЕ строго переделываете redist для msvcp10.dll или msvcr10.dll. Я не уверен в mfc ... –

ответ

4

Вот простой способ проверить, если вам нужно распространяемый:

  • Установить чистую Windows 7 на VirtualBox (или даже лучше Windows XP SP 2, так как он не имеет основной материал можно было бы ожидать)
  • запустить программное обеспечение на этой VirtualBox

Если это не сработает, возможно, вам необходимо включить распространяемое.

0

Да, это должно быть хорошо, но я бы установил на своих целевых платформах и посмотрел, работает ли он, если нет, тогда вам нужно будет добавить больше DLL или добавить в качестве предварительного условия для установки VC resdistributable перед установкой приложения ,

Хотя вы, возможно, включили DLL MFC, среда выполнения Visual C может отличаться от вашей целевой ОС, поэтому вам может потребоваться включить распространяемое VC приложение.

MSDN ссылку о выполнении выше: http://msdn.microsoft.com/en-us/library/ms235299.aspx и прохождение игры: http://msdn.microsoft.com/en-us/library/dd293575.aspx

0

Каждый раз, когда вы статически связываете DLL или распространяемую, вам не нужно распространять ее. Это основное отличие статической и динамической компоновки.

Фактически это встраивает используемые вами части (или все, что зависит) в ваше приложение. Перераспределяя ваше приложение, вы фактически перераспределяете его зависимости.

Обратите внимание, что вы не всегда можете использовать статическое связывание, и не всегда имеет смысл использовать его, даже если это возможно.

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