Как вы, возможно, знаете, обновление Visual Studio 2005 было автоматически обновлено на большинстве машин на прошлой неделе. Это обновление включает новую версию библиотеки Visual C времени выполнения. В результате любые двоичные файлы, созданные после обновления, также требуют установки нового распространяемого ПО на клиентских системах.
См. http://support.microsoft.com/kb/971090/
И вот установщик для нового распространяемого:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=766a6af7-ec73-40ff-b072-9112bab119c2
Это хорошо для распространения новых двоичных файлов среди клиентов, я отправлю новый распространяемый пакет вместе с установщиком, и все будет работать.
Однако меня очень беспокоит моя способность исправлять существующие сайты клиентов, если они обнаружат ошибку. В этом случае обычно я просто отправлял dll или exe, которые были исправлены.
Однако, если я сделаю это сейчас, мне придется отправить этим клиентам новый распространяемый продукт, и теперь я буду использовать две разные версии библиотеки времени выполнения c в одном исполняемом файле.
- Это проблема?
- Может ли это вызвать сбой моего приложения?
- Что произойдет, если я выделю память в одной dll, а затем выделю ее в другой? Обычно это работает, если используется одна и та же библиотека времени выполнения выпуска. Я просмотрел наш код около 3 лет назад, чтобы очистить его, но я не уверен, что нашел и исправил все вхождения.
- Является ли проблема выделения / освобождения в разных библиотеках по-прежнему проблемой? Теперь, когда в эпоху умных указателей и т. Д. Это очень требовалось.
- Можно ли изменить манифесты в зависимости от версии библиотеки времени выполнения?
Любые указатели или советы будут благодарны.
Обновлено: Я только что заметил этот вопрос
VC ++: KB971090 и выбор зависимостей DLL среды выполнения Visual C Это очень похоже, но мой вопрос больше касается использования двух разных версий среды выполнения в одном исполняемом файле.