aboutsummaryrefslogtreecommitdiff
path: root/install-win32/ExtractAuxFile.nsi
diff options
context:
space:
mode:
Diffstat (limited to 'install-win32/ExtractAuxFile.nsi')
-rw-r--r--install-win32/ExtractAuxFile.nsi117
1 files changed, 0 insertions, 117 deletions
diff --git a/install-win32/ExtractAuxFile.nsi b/install-win32/ExtractAuxFile.nsi
deleted file mode 100644
index ffb7b34..0000000
--- a/install-win32/ExtractAuxFile.nsi
+++ /dev/null
@@ -1,117 +0,0 @@
-; ExtractAuxFile
-; Copies a text file appended to the end of the installer EXE
-; to a caller-specified output file.
-; Inputs:
-; output_filename (string) -- the output filename
-; Outputs:
-; status (int) -- 0 on success, > 0 on failure
-
-Function ExtractAuxFile
- Exch $R1 ; output filename argument
- ; locals
- Push $R0
- Push $1
- Push $2
- Push $3
- Push $4
- Push $5
-
- ClearErrors
-
- ; $R0 = installer filename
- System::Call 'kernel32::GetModuleFileNameA(i 0, t .R0, i 1024) i r1'
-
- ; $1 = open (installer_exe) for read
- FileOpen $1 $R0 r
- IfErrors openin_err
-
- ; seek to EOF - 8 (start of 8-byte trailer)
- ; $3 = seekpos
- IntOp $2 0 - 8
- FileSeek $1 $2 END $3
-
- ; $4 = -(content_length(auxfile) + 8)
- ; seek position from end of file to beginning of content
- FileReadByte $1 $4
- FileReadByte $1 $5
- IfErrors readlen_err
- IntOp $5 $5 << 8
- IntOp $4 $4 + $5
- IntOp $4 $4 + 8
- IntOp $4 0 - $4
-
- ; verify magic sequence 0xae, 0xb7, 0x03, 0x69, 0x42, 0x11
- FileReadByte $1 $5
- IntCmp $5 0xae 0 magic_err magic_err
- FileReadByte $1 $5
- IntCmp $5 0xb7 0 magic_err magic_err
- FileReadByte $1 $5
- IntCmp $5 0x03 0 magic_err magic_err
- FileReadByte $1 $5
- IntCmp $5 0x69 0 magic_err magic_err
- FileReadByte $1 $5
- IntCmp $5 0x42 0 magic_err magic_err
- FileReadByte $1 $5
- IntCmp $5 0x11 0 magic_err magic_err
- IfErrors magic_err
-
- ; seek to start of auxfile data
- FileSeek $1 $4 END
-
- ; $2 = open (output_filename) for write
- FileOpen $2 $R1 w
- IfErrors openout_err
-
-loop:
- ; check if we are finished
- FileSeek $1 0 CUR $5
- IntCmp $5 $3 success 0 overshot_err
-
- ; copy next line from .exe to output file
- FileRead $1 $5
- IfErrors read_err
- FileWrite $2 $5
- IfErrors write_err
- goto loop
-
-success:
- IntOp $R1 0 + 0
- goto fin
-
-openin_err:
- IntOp $R1 1 + 0
- goto fin
-
-openout_err:
- IntOp $R1 2 + 0
- goto fin
-
-readlen_err:
- IntOp $R1 3 + 0
- goto fin
-
-overshot_err:
- IntOp $R1 4 + 0
- goto fin
-
-read_err:
- IntOp $R1 5 + 0
- goto fin
-
-write_err:
- IntOp $R1 6 + 0
- goto fin
-
-magic_err:
- IntOp $R1 7 + 0
- goto fin
-
-fin:
- Pop $5
- Pop $4
- Pop $3
- Pop $2
- Pop $1
- Pop $R0
- Exch $R1
-FunctionEnd