1)检测vs2005运行时是否安装在使用NSIS安装程序的系统中的哪种方法最好?
2)如果未检测到运行时,这是添加运行时库的最佳方法 -
a)running an embedded vcredist or
b)copying dlls to the installation folder
由于
答案 0 :(得分:2)
;-------------------------------
; 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
当然,您需要运行嵌入式安装程序,而不是自己复制文件。针对您的VC运行时版本确认注册表项7299052b-02a4-4627-81f2-1818da5d550d
。
答案 1 :(得分:1)
不久前,我创建了一些检查程序集缓存的sample code,它可能比检查卸载条目更好