NSIS: определение того, установлены ли среды выполнения VS2005.
Вопрос
1) Как лучше всего определить, установлены ли в системе среды выполнения vs2005 с помощью установщика NSIS?
2) Если среда выполнения не обнаружена, какой лучший способ добавить библиотеки времени выполнения:
a)running an embedded vcredist or
b)copying dlls to the installation folder
Спасибо
Решение
;-------------------------------
; Test if Visual Studio Redistributables 2005+ SP1 installed
; Returns -1 if there is no VC redistributables intstalled
Function CheckVCRedist
Push $R0
ClearErrors
ReadRegDword $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{7299052b-02a4-4627-81f2-1818da5d550d}" "Version"
; if VS 2005+ redist SP1 not installed, install it
IfErrors 0 VSRedistInstalled
StrCpy $R0 "-1"
VSRedistInstalled:
Exch $R0
FunctionEnd
Конечно нужно запускать встроенный установщик, а не копировать файлы самостоятельно.Подтвердите ключ реестра 7299052b-02a4-4627-81f2-1818da5d550d
против вашей версии среды выполнения VC.
Другие советы
Некоторое время назад я создал несколько образец кода который проверяет кеш сборок, это, вероятно, лучше, чем просто проверка записи об удалении
Не связан с StackOverflow