X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=win%2Fyaz.nsi;h=a01dcdd37826e1f1649870d6db8064f465057a09;hp=8ca4735746981ef6e8391458c1dc65f392ab5362;hb=a996c33edb96a3273c81d799189b33437ad6ae18;hpb=e2a9f7ce085c4c39cf1689f30a860fb6445cd346 diff --git a/win/yaz.nsi b/win/yaz.nsi index 8ca4735..a01dcdd 100644 --- a/win/yaz.nsi +++ b/win/yaz.nsi @@ -5,30 +5,33 @@ !include EnvVarUpdate.nsh !include version.nsi -; Microsoft runtime CRT -; Uncomment exactly ONE of the sections below -; 1: MSVC 6 -; !define VS_RUNTIME_DLL "" -; !define VS_RUNTIME_MANIFEST "" - -; 2: VS 2003 -; !define VS_RUNTIME_DLL "c:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\msvcr71.dll" -;!define VS_RUNTIME_MANIFEST "" +!include "MUI.nsh" -; 3: VS 2005 -;!define VS_RUNTIME_DLL "c:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\msvcr80.dll" -;!define VS_RUNTIME_MANIFEST "c:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT\Microsoft.VC80.CRT.manifest" +!define VS_REDIST_EXE vcredist_${VSARCH}.exe +!define VS_REDIST_FULL "c:\Program Files (x86)\Microsoft Visual Studio ${VSVER}.0\VC\redist\1033\${VS_REDIST_EXE}" -; 4: VS 2008 -;!define VS_RUNTIME_DLL "c:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\msvc*90.dll" -;!define VS_RUNTIME_MANIFEST "c:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\Microsoft.VC90.CRT.manifest" +; For example can be found with regedit: +; Microsoft Visual C++ 2013 x86 Minimum Runtime +!if "${VSARCH}" = "x64" +; 64-bit +!if "${VSVER}" = "12" +!define VS_REDIST_KEY "SOFTWARE\Classes\Installer\Products\6E8D947A316B3EB3F8F540C548BE2AB9" +!endif +!if "${VSVER}" = "14" +!endif -; 5: VS 2013 -;!define VS_RUNTIME_DLL "c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x86\Microsoft.VC120.CRT\msvc*.dll" -;!define VS_RUNTIME_MANIFEST "" +InstallDir "$PROGRAMFILES64\YAZ" +!else +; 32-bit +!if "${VSVER}" = "12" +!define VS_REDIST_KEY "SOFTWARE\Classes\Installer\Products\21EE4A31AE32173319EEFE3BD6FDFFE3" +!endif +!if "${VSVER}" = "14" +!endif +InstallDir "$PROGRAMFILES\YAZ" +!endif -!include "MUI.nsh" SetCompressor bzip2 @@ -103,14 +106,18 @@ SectionEnd ; end of default section Section "YAZ Runtime" YAZ_Runtime SectionIn 1 2 + SetOutPath $INSTDIR\bin +!if "${VS_REDIST_FULL}" != "" + File "${VS_REDIST_FULL}" + ReadRegDword $1 HKLM "${VS_REDIST_KEY}" "Version" + ${If} $1 == "" + ExecWait '"$INSTDIR\bin\${VS_REDIST_EXE}" /passive /nostart' + ${endif} + Delete "$INSTDIR\bin\${VS_REDIST_EXE}" +!endif IfFileExists "$INSTDIR\bin\yaz-ztest.exe" 0 Noservice ExecWait '"$INSTDIR\bin\yaz-ztest.exe" -remove' Noservice: - SetOutPath $INSTDIR\bin - File "${VS_RUNTIME_DLL}" -!if "${VS_RUNTIME_MANIFEST}" != "" - File "${VS_RUNTIME_MANIFEST}" -!endif File ..\bin\*.dll File ..\bin\*.exe SetOutPath $SMPROGRAMS\YAZ