home *** CD-ROM | disk | FTP | other *** search
- /*
-
- 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
-