NSIS: обнаружение, установлены ли среды выполнения VS2005 - PullRequest
0 голосов
/ 18 сентября 2009

1) Какой лучший способ определить, установлены ли среды выполнения vs2005 в системе с помощью установщика NSIS?

2) Если среды выполнения не обнаружены, то это лучший способ добавить библиотеки времени выполнения-

     a)running an embedded vcredist or 
     b)copying dlls to the installation folder

Спасибо

Ответы [ 2 ]

2 голосов
/ 18 сентября 2009
;-------------------------------
; 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.

1 голос
/ 20 сентября 2009

Некоторое время назад я создал пример кода , который проверяет кэш сборок, это, вероятно, лучше, чем просто проверять запись для удаления

...