luoye, SDL Passolo 2016.v16.0.251.0
https://yadi.sk/d/9d5gm8nHsTwmB Собран в VMWare ThinApp 5.2.1
Дома ремонт по этому почти нет времени
собрал на скорую руку, но вполне работоспособна. Все так как и в предыдущих сборках, присутствует макрос и рабочая папка приложения так же создаётся рядом с основным файлом приложения. Немного переписал скрипт для лаунчера.
; NSIS script NSIS-2
; Install
SetCompressor zlib
; --------------------
; HEADER SIZE: 6184
; START HEADER SIZE: 300
; MAX STRING LENGTH: 1024
; STRING CHARS: 366
OutFile psl_.exe
Icon "${NSISDIR}ContribGraphicsIcons103.ico"
!include WinMessages.nsh
SilentInstall silent
AutoCloseWindow true
Name psl_
BrandingText "Nullsoft Install System v2.46"
; --------------------
; LANG TABLES: 1
; LANG STRINGS: 37
BrandingText "Nullsoft Install System v2.46"
; LANG: 1033
LangString LSTR_0 1033 "Nullsoft Install System v2.46"
LangString LSTR_1 1033 psl_
LangString LSTR_20 1033 "Execute: "
LangString LSTR_23 1033 "Installer corrupted: invalid opcode"
LangString LSTR_30 1033 "Copy Details To Clipboard"
; --------------------
; VARIABLES: 1
Var _0_
; wininit = $WINDIRwininit.ini
; --------------------
; SECTIONS: 1
; COMMANDS: 154
Function func_0
Exch $R0
; Push $R0
; Exch
; Pop $R0
Exch
Exch $R1
; Push $R1
; Exch
; Pop $R1
Exch 2
Exch $R2
; Push $R2
; Exch
; Pop $R2
Push $R3
Push $R4
Push $R5
Push $R6
StrLen $R3 $R1
StrLen $R4 $R2
StrCpy $R5 0
label_18:
StrCpy $R6 $R2 $R3 $R5
StrCmp $R6 $R1 0 label_26
StrCmp $R0 < 0 label_24
IntOp $R6 $R3 + $R5
IntOp $R0 $R4 - $R6
Goto label_25
label_24:
StrCpy $R0 $R5
label_25:
Goto label_33
label_26:
IntCmp $R5 $R4 0 label_29
StrCpy $R0 ""
Goto label_33
label_29:
IntOp $R5 $R5 + 1
label_30:
Goto label_18
Goto label_30
Goto label_33
label_33:
Pop $R6
Pop $R5
Pop $R4
Pop $R3
Pop $R2
Exch
Pop $R1
Exch $R0
; Push $R0
; Exch
; Pop $R0
FunctionEnd
Function .onInit
ReadEnvStr $R1 TS_ORIGIN
Push $R1
Call :label_48
Goto label_69
label_48:
Exch $0
; Push $0
; Exch
; Pop $0
Push $1
Push $2
label_53:
StrCpy $2 $0 1 -1
StrCmp $2 0 label_57
StrCpy $0 $0 -1
Goto label_53
label_57:
StrCpy $1 0
label_58:
IntOp $1 $1 - 1
StrCpy $2 $0 1 $1
StrCmp $2 label_62
StrCmp $2 "" 0 label_58
label_62:
StrCpy $0 $0 $1
Pop $2
Pop $1
Exch $0
; Push $0
; Exch
; Pop $0
Return
label_69:
Pop $_0_
ReadRegStr $1 HKCU "SoftwareSDLPassolo 2016Folders" 0
Push $1
Push PassoloData
Push >
Call func_0
Pop $2
StrCmp $2 "" label_79
StrCpy $3 $1 "" $2
WriteRegStr HKCU "SoftwareSDLPassolo 2016Folders" 0 $_0_$3
label_79:
ReadRegStr $1 HKCU "SoftwareSDLPassolo 2016Folders" 1
Push $1
Push PassoloData
Push >
Call func_0
Pop $2
StrCmp $2 "" label_88
StrCpy $3 $1 "" $2
WriteRegStr HKCU "SoftwareSDLPassolo 2016Folders" 1 $_0_$3
label_88:
ReadRegStr $1 HKCU "SoftwareSDLPassolo 2016Folders" 2
Push $1
Push PassoloData
Push >
Call func_0
Pop $2
StrCmp $2 "" label_97
StrCpy $3 $1 "" $2
WriteRegStr HKCU "SoftwareSDLPassolo 2016Folders" 2 $_0_$3
label_97:
ReadRegStr $1 HKCU "SoftwareSDLPassolo 2016Folders" 3
Push $1
Push PassoloData
Push >
Call func_0
Pop $2
StrCmp $2 "" label_106
StrCpy $3 $1 "" $2
WriteRegStr HKCU "SoftwareSDLPassolo 2016Folders" 3 $_0_$3
label_106:
ReadRegStr $1 HKCU "SoftwareSDLPassolo 2016Folders" 4
Push $1
Push PassoloData
Push >
Call func_0
Pop $2
StrCmp $2 "" label_115
StrCpy $3 $1 "" $2
WriteRegStr HKCU "SoftwareSDLPassolo 2016Folders" 4 $_0_$3
label_115:
Call :label_117
Goto label_150
label_117:
StrCmp $CMDLINE "" 0 label_120
Push ""
Return
label_120:
Push $0
Push $1
Push $2
Push $3
StrLen $1 $CMDLINE
StrCpy $2 2
StrCpy $3 $CMDLINE 1
StrCmp $3 $" label_129
StrCpy $3 " "
label_129:
IntCmp $2 $1 label_133 0 label_133
StrCpy $0 $CMDLINE 1 $2
IntOp $2 $2 + 1
StrCmp $3 $0 0 label_129
label_133:
IntCmp $2 $1 label_138 0 label_138
StrCpy $0 $CMDLINE 1 $2
StrCmp $0 " " 0 label_138
IntOp $2 $2 + 1
Goto label_133
label_138:
StrCpy $0 $CMDLINE "" $2
label_139:
StrCpy $1 $0 1 -1
StrCmp $1 " " 0 label_143
StrCpy $0 $0 -1
Goto label_139
label_143:
Pop $3
Pop $2
Pop $1
Exch $0
; Push $0
; Exch
; Pop $0
Return
label_150:
Pop $R0
Exec "$EXEDIRpsl.exe $R0"
FunctionEnd
Section ; Section_0
SectionEnd
; --------------------
; UNREFERENCED STRINGS:
/*
1 ProgramFilesDir
17 "C:Program Files"
34 $PROGRAMFILES
38 CommonFilesDir
53 "$PROGRAMFILESCommon Files"
70 $COMMONFILES
*/
Сообщение отредактировал 22 июня 2016 - 17:23