/*਍ഀ ਍ഀ VB6RunTime.nsh਍ഀ ਍ഀ Setup of Visual Basic 6.0 run-time files, including the Oleaut32.dll security update਍ഀ ਍ഀ Copyright © 2008-2009 Joost Verburg਍ഀ ਍ഀ To obtain the run-time files, download and extract਍ഀ http://nsis.sourceforge.net/vb6runtime.zip਍ഀ ਍ഀ Script code for installation:਍ഀ ਍ഀ !insertmacro InstallVB6RunTime FOLDER ALREADY_INSTALLED਍ഀ ਍ഀ in which FOLDER is the location of the run-time files and ALREADY_INSTALLED is the਍ഀ name of a variable that is empty when the application is installed for the first time਍ഀ and non-empty otherwise਍ഀ ਍ഀ Script code for uninstallation:਍ഀ ਍ഀ !insertmacro UnInstallVB6RunTime਍ഀ ਍ഀ Remarks:਍ഀ ਍ഀ * You may have to install additional files for such Visual Basic application to work,਍ഀ such as OCX files for user interface controls.਍ഀ ਍ഀ * Installation of the run-time files requires Administrator or Power User privileges.਍ഀ Use the Multi-User header file to verify whether these privileges are available.਍ഀ ਍ഀ * Add a Modern UI finish page or another check (see IfRebootFlag in the NSIS Users਍ഀ Manual) to allow the user to restart the computer when necessary.਍ഀ ਍ഀ */਍ഀ ਍ഀ !ifndef VB6_INCLUDED਍ഀ !define VB6_INCLUDED਍ഀ !verbose push਍ഀ !verbose 3਍ഀ ਍ഀ !include Library.nsh਍ഀ !include WinVer.nsh਍ഀ ਍ഀ !macro VB6RunTimeInstall FOLDER ALREADY_INSTALLED਍ഀ ਍ഀ !insertmacro InstallLib REGDLL "${ALREADY_INSTALLED}" REBOOT_PROTECTED "${FOLDER}\msvbvm60.dll" "$SYSDIR\msvbvm60.dll" "$SYSDIR" ਍ഀ ਍ഀ ;The files below will only be installed on Win9x/NT4਍ഀ ਍ഀ !insertmacro InstallLib REGDLL "${ALREADY_INSTALLED}" REBOOT_PROTECTED "${FOLDER}\olepro32.dll" "$SYSDIR\olepro32.dll" "$SYSDIR"਍ഀ !insertmacro InstallLib REGDLL "${ALREADY_INSTALLED}" REBOOT_PROTECTED "${FOLDER}\comcat.dll" "$SYSDIR\comcat.dll" "$SYSDIR"਍ഀ !insertmacro InstallLib DLL "${ALREADY_INSTALLED}" REBOOT_PROTECTED "${FOLDER}\asycfilt.dll" "$SYSDIR\asycfilt.dll" "$SYSDIR"਍ഀ !insertmacro InstallLib TLB "${ALREADY_INSTALLED}" REBOOT_PROTECTED "${FOLDER}\stdole2.tlb" "$SYSDIR\stdole2.tlb" "$SYSDIR"਍ഀ ਍ഀ Push $R0਍ഀ ਍ഀ ${if} ${IsNT}਍ഀ ${if} ${IsWinNT4}਍ഀ ReadRegStr $R0 HKLM "System\CurrentControlSet\Control" "ProductOptions"਍ഀ ${if} $R0 == "Terminal Server"਍ഀ !insertmacro InstallLib REGDLL "${ALREADY_INSTALLED}" REBOOT_NOTPROTECTED "${FOLDER}\NT4TS\oleaut32.dll" "$SYSDIR\oleaut32.dll" "$SYSDIR"਍ഀ ${else}਍ഀ !insertmacro InstallLib REGDLL "${ALREADY_INSTALLED}" REBOOT_NOTPROTECTED "${FOLDER}\NT4\oleaut32.dll" "$SYSDIR\oleaut32.dll" "$SYSDIR"਍ഀ ${endif}਍ഀ ${endif}਍ഀ ${else}਍ഀ ;No Oleaut32.dll with the security update has been released for Windows 9x.਍ഀ ;The NT4 version is used because NT4 and Win9x used to share the same 2.40 version਍ഀ ;and version 2.40.4519.0 is reported to work fine on Win9x.਍ഀ !insertmacro InstallLib REGDLL "${ALREADY_INSTALLED}" REBOOT_NOTPROTECTED "${FOLDER}\NT4\oleaut32.dll" "$SYSDIR\oleaut32.dll" "$SYSDIR"਍ഀ ${endif}਍ഀ ਍ഀ Pop $R0਍ഀ ਍ഀ !macroend਍ഀ ਍ഀ !macro VB6RunTimeUnInstall਍ഀ ਍ഀ !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\msvbvm60.dll"਍ഀ !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\oleaut32.dll"਍ഀ !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\olepro32.dll"਍ഀ !insertmacro UnInstallLib REGDLL SHARED NOREMOVE "$SYSDIR\comcat.dll"਍ഀ !insertmacro UnInstallLib DLL SHARED NOREMOVE "$SYSDIR\asycfilt.dll"਍ഀ !insertmacro UnInstallLib TLB SHARED NOREMOVE "$SYSDIR\stdole2.tlb"਍ഀ ਍ഀ !macroend਍ഀ ਍ഀ !verbose pop਍ഀ !endif਍ഀ