NSIS: Erkennen, ob VS2005 Runtimes installiert sind
Frage
1) Welches ist die beste Art und Weise zu erkennen, ob VS2005 Runtimes in einem System mit NSIS-Installer installiert ist?
2) Wenn Runtimes nicht erkannt werden, welche die beste Art und Weise ist die Laufzeit-Bibliotheken hinzufügen -
a)running an embedded vcredist or
b)copying dlls to the installation folder
Danke
Lösung
;-------------------------------
; 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
Natürlich müssen Sie den integrierten Installer ausführen, Dateien nicht selbst kopieren. Bestätigen Sie Registrierungsschlüssel 7299052b-02a4-4627-81f2-1818da5d550d
gegen Ihre Version von VC-Laufzeit.
Andere Tipps
Vor einiger Zeit habe ich einige Beispielcode , die die Assembly Cache prüft, ist es wahrscheinlich besser als nur die Überprüfung für einen deinstallation Eintrag
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow