Распространение VC ++ Redist ... при запуске установщика вызывает проблемы - PullRequest
6 голосов
/ 17 марта 2010

Используя установщик Inno, мы распространяем VC ++ распространяемый с нашим приложением, чтобы мы могли запустить его автоматически. Мы обнаружили, что при запуске его в системе, в которой он уже установлен, мы просим исправить / отменить установку, которая может полностью запутать пользователей.

Есть ли способ обойти это? Может быть, флаг на установщике или что-то?

Спасибо.

Ответы [ 4 ]

4 голосов
/ 17 марта 2010

Попробуйте флаг / q http://support.microsoft.com/kb/227091 (при условии, что вы устанавливаете его через вызов msiexec.exe на их распространяемый пакет)

3 голосов
/ 09 февраля 2012

Почему-то ни один из приведенных выше ответов не работал для меня.Это, однако, сделало:

[Run]
Filename: {tmp}\vcredist_x86.exe; Parameters: "/passive /Q:a /c:""msiexec /qb /i vcredist.msi"" "; StatusMsg: Installing 2010 RunTime...
[Files]
Source: vendor/vcredist_x86.exe; DestDir: {tmp}

Я получил подсказку для этого, запустив vcredist_x86.exe /?, Как отмечено в нижней части этой темы: http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/a8d4d5b4-7927-4c86-95e8-3cd8b3018ae8/

Как дальнейшее примечаниедругой возможный вариант для перераспределения - просто статическая ссылка на (вашу версию) msvcrt, см. комментарии в http://blogs.msdn.com/b/vcblog/archive/2007/10/12/how-to-redistribute-the-visual-c-libraries-with-your-application.aspx (хотя MS явно не одобряет этот тип статической ссылки, по крайней мере, вам не понадобится dll).

Распространение библиотек времени выполнения Visual C ++ (MSVCRT) также может быть полезным.

Также обратите внимание, что если вы можете гарантировать, что у вас есть контроль, вы можете просто включитьmsvcr100.dll в том же каталоге, что и ваш исполняемый файл, и это тоже будет работать, хотя и не очень стандартное решение.

1 голос
/ 13 июля 2010

В этой теме решены мои проблемы:

(взято из комментария в другом ответе)

0 голосов
/ 11 ноября 2011

Хотя это не относится к установщику Inno, этот связанный вопрос предоставляет решение для проекта установки Visual Studio 2010. Проблема связана с тем, что пакет обновления 1 (SP1) vcredist изменил код продукта, тогда как Visual Studio использует старый код. Вот почему уже установленная проверка не проходит.

Необходимое условие для библиотек среды выполнения Visual C ++ 2010 продолжает появляться в созданной программе установки VS 2010

...