Правильный способ установки vc10 во время выполнения - PullRequest
1 голос
/ 02 сентября 2011

Я собираюсь вырваться из-за установки VC10!

У меня есть два приложения, каждое со своим собственным установщиком.Чтобы убедиться, что каждый из них может быть доставлен отдельно, каждый установщик включает в себя vcredist_x ??. Exe для установки среды выполнения VC10.

Теперь один из установщиков включает среду выполнения 'SP0' - он был построен некоторое время назад- назовите его «i0», и один включает среду выполнения «SP1» - он сейчас создается - назовите его «i1».

Если мой пользователь устанавливает один i0 или один i1, все отлично.Если мой пользователь сначала устанавливает i0, а затем i1, все отлично.

Однако, если мой пользователь сначала устанавливает i1, то, когда он пытается установить i0, установка во время выполнения завершается неудачно.

Запуск переадресациивручную я вижу, что установщик SP0 расстраивается, когда видит, что SP1 уже установлен.

Помимо того, что это кажется почти преступно глупым, как мне обойти это.Есть ли какой-нибудь флаг 'force', который я могу дать установщику SP0?Есть ли какой-нибудь «правильный» способ проверить, установлена ​​ли среда выполнения и какая ее версия?

1 Ответ

3 голосов
/ 02 сентября 2011

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

...