External License file: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
m (Corrected link to System plug-in.) |
No edit summary |
||
Line 43: | Line 43: | ||
; Installer Functions | ; Installer Functions | ||
!define FILE_SHARE_READ 1 | |||
!define | !define GENERIC_READ 0x80000000 | ||
!define OPEN_EXISTING 3 | |||
!define FILE_BEGIN 0 | |||
!define FILE_END 2 | |||
Function addLicense | Function addLicense | ||
Call | System::Call 'kernel32::CreateFile(t "$EXEDIR\${LIC_NAME}", i ${GENERIC_READ}, i ${FILE_SHARE_READ}, i 0, i ${OPEN_EXISTING}, i 0, i 0) i .r0' | ||
IfErrors exit | |||
System::Call 'kernel32::SetFilePointer(i r0, i 0, i 0, i ${FILE_END}) i .r1' | |||
IntOp $1 $1 + 1 ; for terminating zero | IntOp $1 $1 + 1 ; for terminating zero | ||
System::Call 'kernel32::SetFilePointer(i r0, i 0, i 0, i ${FILE_BEGIN})' | |||
System::Alloc $1 | |||
System::Call ' | Pop $2 | ||
System:: | System::Call 'kernel32::ReadFile(i r0, i r2, i r1, *i .r3, i 0)' | ||
System::Call ' | System::Call 'kernel32::CloseHandle(i r0)' | ||
System::Call ' | FindWindow $0 "#32770" "" $HWNDPARENT | ||
SendMessage $ | GetDlgItem $0 $0 1000 | ||
System:: | SendMessage $0 ${WM_SETTEXT} $0 $2 | ||
System::Free $2 | |||
exit: | |||
FunctionEnd | FunctionEnd |
Revision as of 18:09, 20 July 2006
Author: Takhir (talk, contrib) |
Description
Requires: System plug-in.
MUI License page "show" function replaces current license text (Dummy.txt added during compilation) with (runtime) License.txt file content.
The Script
;-------------------------------- ; Base names definition !define LIC_NAME "License.txt" !define APP_NAME "License Test" ;-------------------------------- ; General Attributes Name "${APP_NAME}" OutFile "${APP_NAME}.exe" ;-------------------------------- ; Interface !include "MUI.nsh" !insertmacro MUI_PAGE_WELCOME !define MUI_PAGE_CUSTOMFUNCTION_SHOW addLicense !insertmacro MUI_PAGE_LICENSE Dummy.txt !insertmacro MUI_LANGUAGE "English" ;-------------------------------- ; Installer Sections Section "Dummy Section" SecDummy SectionEnd ;-------------------------------- ; Installer Functions !define FILE_SHARE_READ 1 !define GENERIC_READ 0x80000000 !define OPEN_EXISTING 3 !define FILE_BEGIN 0 !define FILE_END 2 Function addLicense System::Call 'kernel32::CreateFile(t "$EXEDIR\${LIC_NAME}", i ${GENERIC_READ}, i ${FILE_SHARE_READ}, i 0, i ${OPEN_EXISTING}, i 0, i 0) i .r0' IfErrors exit System::Call 'kernel32::SetFilePointer(i r0, i 0, i 0, i ${FILE_END}) i .r1' IntOp $1 $1 + 1 ; for terminating zero System::Call 'kernel32::SetFilePointer(i r0, i 0, i 0, i ${FILE_BEGIN})' System::Alloc $1 Pop $2 System::Call 'kernel32::ReadFile(i r0, i r2, i r1, *i .r3, i 0)' System::Call 'kernel32::CloseHandle(i r0)' FindWindow $0 "#32770" "" $HWNDPARENT GetDlgItem $0 $0 1000 SendMessage $0 ${WM_SETTEXT} $0 $2 System::Free $2 exit: FunctionEnd