new header file for the setup of Visual Basic 6.0 run-time files
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5489 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
23e1474468
commit
858ddb4141
4 changed files with 392 additions and 325 deletions
|
@ -1,23 +1,24 @@
|
|||
includes = Split("""
|
||||
Colors.nsh
|
||||
FileFunc.nsh
|
||||
LangFile.nsh
|
||||
Library.nsh
|
||||
LogicLib.nsh
|
||||
Memento.nsh
|
||||
MUI.nsh
|
||||
MUI2.nsh
|
||||
Sections.nsh
|
||||
StrFunc.nsh
|
||||
TextFunc.nsh
|
||||
UpgradeDLL.nsh
|
||||
WinMessages.nsh
|
||||
WinVer.nsh
|
||||
WordFunc.nsh
|
||||
x64.nsh
|
||||
""")
|
||||
|
||||
Import('env')
|
||||
|
||||
env.DistributeInclude(includes)
|
||||
env.DistributeDocs('StrFunc.txt', path='StrFunc')
|
||||
includes = Split("""
|
||||
Colors.nsh
|
||||
FileFunc.nsh
|
||||
LangFile.nsh
|
||||
Library.nsh
|
||||
LogicLib.nsh
|
||||
Memento.nsh
|
||||
MUI.nsh
|
||||
MUI2.nsh
|
||||
Sections.nsh
|
||||
StrFunc.nsh
|
||||
TextFunc.nsh
|
||||
UpgradeDLL.nsh
|
||||
VB6RunTime.nsh
|
||||
WinMessages.nsh
|
||||
WinVer.nsh
|
||||
WordFunc.nsh
|
||||
x64.nsh
|
||||
""")
|
||||
|
||||
Import('env')
|
||||
|
||||
env.DistributeInclude(includes)
|
||||
env.DistributeDocs('StrFunc.txt', path='StrFunc')
|
||||
|
|
90
Include/VB6RunTime.nsh
Normal file
90
Include/VB6RunTime.nsh
Normal file
|
@ -0,0 +1,90 @@
|
|||
/*
|
||||
|
||||
VB6RunTime.nsh
|
||||
|
||||
Setup of Visual Basic 6.0 run-time files, including the Oleaut32.dll security update
|
||||
|
||||
Copyright © 2008 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_NOTPROTECTED "${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
|
Loading…
Add table
Add a link
Reference in a new issue