Существуют ли какие-либо записи в реестре, указывающие, установлен ли определенный C Run-Time? - PullRequest
1 голос
/ 20 сентября 2011

Я искал в Интернете и в моем реестре, и я думаю, что нет, но было бы неплохо, если бы мы могли получить окончательный ответ здесь.

Только время выполнения, как для повторного использования на стороне клиента.

Я вижу, что это возможно для VC10, http://blogs.msdn.com/b/astebner/archive/2010/05/05/10008146.aspx,, но перед этим нам нужно вызвать API MsiQueryProductState. Может быть, просто дать всем клиентам MSVCR100.DLL уже?

Ответы [ 2 ]

0 голосов
/ 10 октября 2011

Все еще возможно сделать частную установку Dll's в папку приложения.Недавно я установил 3 разные версии среды выполнения VC9, когда настраивал среды Visual Studio Express.Все они отображаются на панели управления и кажутся легко удаляемыми.

По этой причине я считаю, что в настоящее время рекомендуется выполнять частную установку (я думаю, это терминология MS использует) требуемых DLL (для управляемого кода вам нужны управляемые DLL и собственная версия) в папке приложения.

0 голосов
/ 20 сентября 2011

Наиболее распространенной практикой является установка ЭЛТ, на котором было построено ваше приложение.

Я думаю, что эта практика исходит от v90 и более низких CRT, потому что было установлено несколько версий каждого распространяемого пакета, которые могут быть установлены, и хотя MSVCR90.DLL существует в системе, это может быть не та версия, которую использует ваше приложение.

Я полагаю, что это было изменено с CRT v100, и теперь Microsoft гарантирует, что более новые версии CRT будут использоваться вместо более старой версии, но я все равно попытался бы установить CRT, с которым было связано ваше приложение.

...