author | Dan Fuhry <dan@enanocms.org> |
Mon, 17 Oct 2011 02:13:04 -0400 | |
changeset 25 | adc5b05b4be2 |
parent 0 | d5ce4c64ef88 |
permissions | -rwxr-xr-x |
0
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
1 |
; ExperienceUI Patch Installer |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
2 |
; Rewritten as of ExperienceUI 1.11 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
3 |
; Copyright © 2006 Dan Fuhry |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
4 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
5 |
; Licensed under the zlib/libpng license |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
6 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
7 |
; Written during Bush's State of the Union address on Jan 31, 2006 (also my birthday) |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
8 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
9 |
; Dependencies: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
10 |
; * DcryptDll |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
11 |
; * ZipDLL |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
12 |
; * SigVerify.exe (closed-source application that does the actual signature verification) |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
13 |
; * ExperienceUI |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
14 |
; * System.dll |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
15 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
16 |
Name "ExperienceUI Patch/Skin Installer" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
17 |
Caption "ExperienceUI Patch/Skin Installer" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
18 |
OutFile ..\PatchInstaller.exe |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
19 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
20 |
SetCompressor /FINAL /SOLID lzma |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
21 |
Var TYPE |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
22 |
Var CURRENT |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
23 |
Var TOTAL |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
24 |
Var NAME |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
25 |
Var SILENT |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
26 |
Var SIGSTAT |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
27 |
Var APPEND |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
28 |
Var SRCFILE |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
29 |
Var BHWND |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
30 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
31 |
!define XPUI_ICON patcher.ico |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
32 |
!define XPUI_UNICON patcher.ico |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
33 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
34 |
!define XPUI_WELCOMEPAGE_TEXT_TOP "Welcome to the $(^Name)" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
35 |
!define XPUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of the patch you opened.\r\n\r\nClick Next to start." |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
36 |
!define XPUI_WELCOMEPAGE_TITLE "Welcome" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
37 |
!define XPUI_WELCOMEPAGE_SUBTITLE "Welcome to the $(^Name)." |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
38 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
39 |
!define XPUI_INSTFILESPAGE_TITLE "Installing" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
40 |
!define XPUI_INSTFILESPAGE_SUBTITLE "Please wait while the $TYPE you opened is being installed." |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
41 |
!define XPUI_INSTFILESPAGE_DONE_SUBTITLE "The $TYPE you opened was installed successfully." |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
42 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
43 |
!define XPUI_INSTCONFIRMPAGE_TEXT_TOP "The $(^Name) is ready to install the $TYPE." |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
44 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
45 |
!define XPUI_FINISHPAGE_TITLE "Installation Complete" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
46 |
!define XPUI_FINISHPAGE_SUBTITLE "The $(^Name) has successfully applied the $TYPE to your ExperienceUI installation." |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
47 |
!define XPUI_FINISHPAGE_TEXT_TOP "Completing the ExperienceUI Patch/Skin installation wizard" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
48 |
!define XPUI_FINISHPAGE_TEXT "The $(^Name) has finished installing the $TYPE you opened.\r\n\r\nPlease click $(^CloseBtn) to exit the $(^Name)." |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
49 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
50 |
InstallDirRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ExperienceUI for NSIS" UninstallString |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
51 |
SetPluginUnload alwaysoff |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
52 |
!include system.nsh |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
53 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
54 |
!define SOUND_DEFAULT "${MB_OK}" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
55 |
!define SOUND_STOP "${MB_ICONHAND}" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
56 |
!define SOUND_ASTERISK "${MB_ICONASTERISK}" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
57 |
!define SOUND_ERROR "${MB_ICONEXCLAMATION}" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
58 |
!define SOUND_QUESTION "${MB_ICONQUESTION}" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
59 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
60 |
!macro AboutDlg |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
61 |
System::Call '${sysMessageBeep} (${SOUND_ASTERISK})' |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
62 |
!insertmacro smMessageBox '`$EXEDIR\XPUIRes.dll`' 'ExperienceUI for NSIS$\nPatch/Skin Installer (version ${VERSION})$\nCopyright © 2005 Dan Fuhry.$\n$\nTo install a skin or patch, double-click the file in Windows Explorer.$\nTo see this About dialog, run this program with the /ABOUT switch.$\n$\nThis program is a component of the ExperienceUI for NSIS. Copyright © 2004-2005 Dan Fuhry.$\nThe ExperienceUI was written to provide a pretty alternative to the huge, slow InstallShield®* installers. The default skin contains colors used by the NVidia® ForceWare™ Setup Program.$\n$\nMore information about the ExperienceUI can be found at http://forums.winamp.com/showthread.php?threadid=204836.$\n$\n*InstallShield is a registered trademark of MacroVision, Inc. ForceWare is a registered trademark of NVidia, Inc.' 'About the ExperienceUI for NSIS Patch/Skin Installer' '${MB_OK}' 'i 5' |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
63 |
!macroend |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
64 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
65 |
!macro VERIFY FILE HASH |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
66 |
Push $1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
67 |
Push $OUTDIR |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
68 |
Push $0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
69 |
WriteINIStr $TEMP\Sigdata.ini SigVerify Append $APPEND |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
70 |
ExecWait '"$PLUGINSDIR\SigVerify.exe" ${FILE} /Hash=${HASH}' $0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
71 |
StrCmp $0 0 +3 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
72 |
StrCpy $1 "Bad" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
73 |
Goto +2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
74 |
StrCpy $1 "Good" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
75 |
Pop $0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
76 |
Pop $OUTDIR |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
77 |
Exch $1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
78 |
!macroend |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
79 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
80 |
!macro CLS |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
81 |
Push $9 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
82 |
FindWindow $9 "#32770" "" $HWNDPARENT |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
83 |
GetDlgItem $9 $9 1016 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
84 |
SendMessage $9 0x1009 0 0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
85 |
Pop $9 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
86 |
!macroend |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
87 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
88 |
!macro ERROR TITLE MSG |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
89 |
!insertmacro XPUI_HEADER_TEXT "Installation Failed" "The $TYPE installation failed." |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
90 |
System::Call '${sysMessageBeep} (${SOUND_STOP})' |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
91 |
!insertmacro smMessageBox `$\`$EXEDIR\XPUIRes.dll$\`` `${MSG}` `${TITLE}` `${MB_OK}` `i 1` |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
92 |
!macroend |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
93 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
94 |
!include XPUI.nsh |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
95 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
96 |
!insertmacro XPUI_PAGE_WELCOME |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
97 |
!insertmacro XPUI_PAGE_INSTCONFIRM |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
98 |
!insertmacro XPUI_PAGE_INSTFILES |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
99 |
!insertmacro XPUI_PAGE_FINISH |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
100 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
101 |
!insertmacro XPUI_LANGUAGE English |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
102 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
103 |
VIProductVersion "1.1.0.0" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
104 |
VIAddVersionKey /LANG=1033 "FileVersion" "${VERSION}" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
105 |
VIAddVersionKey /LANG=1033 "ProductVersion" "${VERSION}" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
106 |
VIAddVersionKey /LANG=1033 "ProductName" "ExperienceUI for NSIS" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
107 |
VIAddVersionKey /LANG=1033 "Comments" "This program was written by Dan Fuhry using Nullsoft Scriptable Install System (http://nsis.sourceforge.net)" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
108 |
VIAddVersionKey /LANG=1033 "CompanyName" "Dan Fuhry a. k. a. dandaman32" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
109 |
VIAddVersionKey /LANG=1033 "LegalTrademarks" "ExperienceUI for NSIS by Dan Fuhry. Copyright © 2004-2006 Dan Fuhry" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
110 |
VIAddVersionKey /LANG=1033 "LegalCopyright" "Copyright © Dan Fuhry" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
111 |
VIAddVersionKey /LANG=1033 "FileDescription" "ExperienceUI for NSIS Patch/Skin Installer" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
112 |
VIAddVersionKey /LANG=1033 "SpecialBuild" "ExperienceUI for NSIS Patching/Skinning Engine, version ${VERSION}, built on ${__TIMESTAMP__}" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
113 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
114 |
!macro DO_INSTALL |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
115 |
BringToFront |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
116 |
StrCpy $CURRENT 0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
117 |
StrCmp $SILENT 1 "" loop |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
118 |
Banner::show /NOUNLOAD "" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
119 |
Banner::getWindow |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
120 |
Pop $BHWND |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
121 |
GetDlgItem $BHWND $BHWND 1030 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
122 |
Loop: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
123 |
IntOp $CURRENT $CURRENT + 1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
124 |
ReadINIStr $2 $TEMP\EUI-Setup\Content.dat "EUI-$TYPE" "File$CURRENT" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
125 |
StrCmp $SILENT 1 0 +2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
126 |
SendMessage $BHWND 0xC 0 "STR:Installing $TYPE: $NAME$\nCurrent file: $2" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
127 |
ReadINIStr $SRCFILE $TEMP\EUI-Setup\Content.dat "EUI-$TYPE" "File$CURRENT SName" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
128 |
StrCmp $SRCFILE "" "" +2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
129 |
StrCpy $SRCFILE $2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
130 |
IfFileExists $TEMP\EUI-Setup\$SRCFILE FoundIt |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
131 |
!insertmacro ERROR "Cannot find file" "The $TYPE was opened, extracted, and parsed successfully, but the file $2 could not be found in the archive. Please contact the author of this $TYPE with the following error code:$\n$\nError: F-PI009 Cannot find source file $2" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
132 |
Call .onGUIend |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
133 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
134 |
SetErrorLevel 1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
135 |
Quit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
136 |
FoundIt: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
137 |
ReadINIStr $4 $TEMP\EUI-Setup\Content.dat EUI-$TYPE "File$CURRENT Sig" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
138 |
StrCmp $4 "" NoSig |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
139 |
SetDetailsPrint none |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
140 |
!insertmacro VERIFY $TEMP\EUI-Setup\$SRCFILE $4 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
141 |
Pop $0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
142 |
StrCmp $0 Good NoSig |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
143 |
StrCmp $SIGSTAT "Signed and verified" Forged |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
144 |
!insertmacro ERROR "Invalid Signature" "The ExperienceUI Patch Installer has found a digital signature assigned to one of the patch files, but the signature was checked and found to be invalid. This is a fatal error. Please contact the author of this $TYPE with the following error code:$\n$\nError: F-PI010 Invalid signature hash for file $2$\nAdditional information:$\n hash value: $4$\n Return value: $0" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
145 |
Call .onGUIend |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
146 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
147 |
SetErrorLevel 1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
148 |
Quit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
149 |
Forged: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
150 |
!insertmacro ERROR "Unsigned file" "The patch installer has found that though the patch itself is signed, one of the files within it is not. This is a fatal error. Please contact the author of this patch with the following information:$\n$\nError: F-PI013 Unsigned file in signed patch$\nAdditional information:$\n File name: $2" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
151 |
Call .onGUIend |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
152 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
153 |
SetErrorLevel 1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
154 |
Quit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
155 |
NoSig: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
156 |
StrCmp $4 "" 0 +2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
157 |
StrCmp $SIGSTAT "Signed and verified" Forged ; a backup check |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
158 |
ReadINIStr $4 $TEMP\EUI-Setup\Content.dat EUI-$TYPE "File$CURRENT Desc" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
159 |
StrCmp $4 "" NoDesc |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
160 |
SetDetailsPrint listonly |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
161 |
DetailPrint "Install: $4 - $2 to $INSTDIR\$3" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
162 |
SetDetailsPrint textonly |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
163 |
DetailPrint "Installing file: $2 ($4) to $INSTDIR\$3" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
164 |
SetDetailsPrint none |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
165 |
Goto cont |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
166 |
NoDesc: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
167 |
ReadINIStr $SRCFILE $TEMP\EUI-Setup\Content.dat "EUI-$TYPE" "File$CURRENT SName" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
168 |
StrCmp $SRCFILE "" 0 +2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
169 |
StrCpy $SRCFILE $2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
170 |
SetDetailsPrint listonly |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
171 |
DetailPrint "Install: $2 to $3" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
172 |
SetDetailsPrint textonly |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
173 |
DetailPrint "Installing file: $2 to $INSTDIR\$3" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
174 |
SetDetailsPrint none |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
175 |
cont: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
176 |
ReadINIStr $3 $TEMP\EUI-Setup\Content.dat "EUI-$TYPE" "File$CURRENT Path" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
177 |
CreateDirectory $INSTDIR\$3 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
178 |
CopyFiles $TEMP\EUI-Setup\$SRCFILE $INSTDIR\$3\$2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
179 |
IntCmp $CURRENT $TOTAL 0 Loop |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
180 |
; We are done |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
181 |
StrCmp $SILENT 1 "" ns1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
182 |
Banner::destroy |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
183 |
ns1: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
184 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
185 |
SetAutoClose false |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
186 |
SetDetailsPrint both |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
187 |
!macroend |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
188 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
189 |
Function .onInit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
190 |
; Get rid of compiler warnings |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
191 |
;Goto +4 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
192 |
; Call GetInstallerEXEName |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
193 |
; Call systemGetFileSysTime |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
194 |
; Call systemSplash |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
195 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
196 |
Call GetParameters |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
197 |
Pop $0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
198 |
StrCmp $0 "" 0 NotBlank |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
199 |
!insertmacro ERROR "Invalid Command Line" "You need to specify the patch/skin file on the command line.$\n$\nError: F-PI001 No parameters on command line" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
200 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
201 |
Quit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
202 |
NotBlank: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
203 |
StrCpy $SILENT 0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
204 |
Push $0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
205 |
Push "/Silent" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
206 |
Call StrStr |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
207 |
Pop $1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
208 |
StrCmp $1 "/Silent" "" NoSilent |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
209 |
StrCpy $SILENT 1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
210 |
StrLen $2 $1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
211 |
StrLen $3 $0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
212 |
IntOp $2 $3 - $2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
213 |
IntOp $2 $2 - 1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
214 |
StrCpy $0 $0 $2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
215 |
NoSilent: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
216 |
IfFileExists $0 FoundTarget |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
217 |
!insertmacro ERROR "Missing File" "The file specified on the command line cannot be found.$\n$\nError: F-PI002 Missing file" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
218 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
219 |
Quit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
220 |
FoundTarget: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
221 |
IfFileExists $INSTDIR\XPUI.nsh FoundXPUI |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
222 |
!insertmacro ERROR "Corrupt XPUI Installation" "The ExperienceUI cannot be found on this computer. It can be downloaded from http://xpui.sourceforge.net/.$\n$\nError: F-PI003 Cannot find XPUI installation" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
223 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
224 |
Quit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
225 |
FoundXPUI: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
226 |
StrLen $1 $0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
227 |
IntOp $1 $1 - 3 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
228 |
StrCpy $1 $0 3 $1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
229 |
StrCmp $1 "eup" validext-p |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
230 |
StrCmp $1 "eus" validext-s |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
231 |
!insertmacro ERROR "Invalid file extension" "The file '$0' was found and the command line was correct, but the extension is not EUP (ExperienceUI Patch) or EUS (ExperienceUI Skin). Setup will treat this file as a patch.$\n$\nThis is a non-fatal error.$\n$\nError: N-PI004 Invalid file extension $1" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
232 |
validext-s: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
233 |
StrCpy $TYPE "skin" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
234 |
Goto valid |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
235 |
validext-p: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
236 |
StrCpy $TYPE "patch" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
237 |
Goto valid |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
238 |
valid: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
239 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
240 |
CreateDirectory "$TEMP\EUI-Setup" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
241 |
ClearErrors |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
242 |
ZipDLL::extractall "$0" "$TEMP\EUI-Setup" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
243 |
Pop $2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
244 |
StrCmp $2 "success" goodZip |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
245 |
!insertmacro ERROR "Zip extract error" "The file '$0' was found and the command line was correct, but the ZIP file extraction module failed.$\n$\nThe following error string was returned by ZipDLL: $2$\n$\nError: F-PI005 ZIP file extraction error" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
246 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
247 |
Quit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
248 |
goodZip: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
249 |
IfFileExists $TEMP\EUI-Setup\Content.dat FoundScript |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
250 |
!insertmacro ERROR "Missing script" "The installation script could not be found in the patch/skin file's root directory. This is a fatal error. Please contact the author of this patch with the following error code.$\n$\nError: F-PI006 Cannot find installation script" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
251 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
252 |
Quit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
253 |
FoundScript: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
254 |
ClearErrors |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
255 |
ReadINIStr $TOTAL $TEMP\EUI-Setup\Content.dat "EUI-$TYPE" NumFiles |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
256 |
IntCmp $TOTAL 1 FilesGood 0 FilesGood |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
257 |
!insertmacro ERROR "Corrupt script" "The installation script in this patch file is corrupt. Please redownload the patch file, or contact the author of this patch with the following error code:$\n$\nError: F-PI008 Cannot find INI key NumFiles under section EUI-$TYPE in $$TEMP\EUI-Setup\CONTENT.dat, or NumFiles !>=1" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
258 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
259 |
Quit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
260 |
FilesGood: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
261 |
; Check for a digital signature |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
262 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
263 |
; Extract the verification utility |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
264 |
SetOutPath $PLUGINSDIR |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
265 |
File SigVerify.exe |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
266 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
267 |
IfFileExists $TEMP\EUI-Setup\content.sig "" Unsigned |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
268 |
FileOpen $R1 $TEMP\EUI-Setup\content.sig r |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
269 |
FileRead $R1 $R0 32 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
270 |
FileClose $R1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
271 |
StrCmp $SILENT 1 nob1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
272 |
Banner::show /NOUNLOAD "Validating $TYPE digital signature..." |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
273 |
nob1: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
274 |
StrCpy $SIGSTAT "Signed and verified" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
275 |
!insertmacro VERIFY $TEMP\EUI-Setup\content.dat $R0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
276 |
StrCmp $SILENT 1 nob2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
277 |
Banner::destroy |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
278 |
nob2: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
279 |
Pop $R1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
280 |
StrCmp $R1 Good GoodSig |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
281 |
!insertmacro ERROR "Corrupt Signature" "The author who packaged the $TYPE has specified that the file be signed with a digital signature, but after thorough testing, the patch's installation script was found to have an invalid signature. This is a fatal error. Please report the following information to the author of this patch:$\n$\nError: F-PI011 Master signature corrupt$\nAdditional information:$\n BAD signature hash: $R0" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
282 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
283 |
Quit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
284 |
Unsigned: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
285 |
StrCmp $SILENT 1 "" NoS1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
286 |
!insertmacro ERROR "Signature required for silent install" "The ExperienceUI patch installer does not allow silent installations of unsigned patch files.$\n$\nError: F-PI012 Signature required for silent install" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
287 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
288 |
Quit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
289 |
NoS1: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
290 |
StrCpy $SIGSTAT "Unsigned" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
291 |
System::Call '${sysMessageBeep} (${SOUND_QUESTION})' |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
292 |
!insertmacro smMessageBox `$\`$EXEDIR\XPUIRes.dll$\`` `The file you are opening is a valid $TYPE, but the Patch Installer has detected that it has not been signed with any digital signature. While you may continue installing this $TYPE, it is important to remember that ExperienceUI $TYPE files are really just glorified ZIP files, and it is possible to put malicious code into them. You should only continue if you trust the source of this $TYPE.$\n$\nDo you really want to continue?` `Unsigned $TYPE` `${MB_YESNO}` `i 1` |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
293 |
StrCmp $R0 6 SigDone |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
294 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
295 |
Quit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
296 |
GoodSig: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
297 |
ReadINIStr $R0 $TEMP\EUI-Setup\Content.dat SigInfo PN |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
298 |
ReadINIStr $R1 $TEMP\EUI-Setup\Content.dat SigInfo PE |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
299 |
ReadINIStr $R2 $TEMP\EUI-Setup\Content.dat SigInfo CN |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
300 |
ReadINIStr $R3 $TEMP\EUI-Setup\Content.dat SigInfo CE |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
301 |
StrCmp $R0 "" SigDone |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
302 |
StrCpy $APPEND ";PN=$R0;PE=$R1;CN=$R2;CE=$R3" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
303 |
StrCpy $SIGSTAT "$SIGSTAT$\n Signed by: $R2$\n Signer's E-mail: $R3" |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
304 |
SigDone: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
305 |
ReadINIStr $NAME $TEMP\EUI-Setup\Content.dat "EUI-$TYPE" Name |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
306 |
StrCmp $SILENT 1 "" NoS2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
307 |
!insertmacro DO_INSTALL |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
308 |
SetErrorLevel 0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
309 |
Quit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
310 |
NoS2: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
311 |
FunctionEnd |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
312 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
313 |
Section |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
314 |
StrCmp $NAME "" NoName |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
315 |
HideWindow |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
316 |
System::Call '${sysMessageBeep} (${SOUND_QUESTION})' |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
317 |
!insertmacro smMessageBox '`$EXEDIR\XPUIRes.dll`' 'You are about to install a $TYPE from the following location:$\n$\n Name: $NAME$\n File location: $0$\n Signature status: $SIGSTAT$\n$\nContinue?' 'ExperienceUI Setup' '${MB_YESNO}' 'i 2' |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
318 |
StrCmp $R0 7 0 NoName |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
319 |
Call .onGUIEnd |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
320 |
RMDir /r $TEMP\EUI-Setup |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
321 |
Quit |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
322 |
NoName: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
323 |
!insertmacro DO_INSTALL |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
324 |
SectionEnd |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
325 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
326 |
Function GetParameters |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
327 |
Push $R0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
328 |
Push $R1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
329 |
Push $R2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
330 |
Push $R3 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
331 |
StrCpy $R2 1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
332 |
StrLen $R3 $CMDLINE |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
333 |
;Check for quote or space |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
334 |
StrCpy $R0 $CMDLINE $R2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
335 |
StrCmp $R0 '"' 0 +3 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
336 |
StrCpy $R1 '"' |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
337 |
Goto loop |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
338 |
StrCpy $R1 " " |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
339 |
loop: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
340 |
IntOp $R2 $R2 + 1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
341 |
StrCpy $R0 $CMDLINE 1 $R2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
342 |
StrCmp $R0 $R1 get |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
343 |
StrCmp $R2 $R3 get |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
344 |
Goto loop |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
345 |
get: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
346 |
IntOp $R2 $R2 + 1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
347 |
StrCpy $R0 $CMDLINE 1 $R2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
348 |
StrCmp $R0 " " get |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
349 |
StrCpy $R0 $CMDLINE "" $R2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
350 |
Pop $R3 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
351 |
Pop $R2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
352 |
Pop $R1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
353 |
Exch $R0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
354 |
FunctionEnd |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
355 |
|
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
356 |
Function StrStr |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
357 |
Exch $R1 ; st=haystack,old$R1, $R1=needle |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
358 |
Exch ; st=old$R1,haystack |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
359 |
Exch $R2 ; st=old$R1,old$R2, $R2=haystack |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
360 |
Push $R3 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
361 |
Push $R4 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
362 |
Push $R5 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
363 |
StrLen $R3 $R1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
364 |
StrCpy $R4 0 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
365 |
; $R1=needle |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
366 |
; $R2=haystack |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
367 |
; $R3=len(needle) |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
368 |
; $R4=cnt |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
369 |
; $R5=tmp |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
370 |
loop: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
371 |
StrCpy $R5 $R2 $R3 $R4 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
372 |
StrCmp $R5 $R1 done |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
373 |
StrCmp $R5 "" done |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
374 |
IntOp $R4 $R4 + 1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
375 |
Goto loop |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
376 |
done: |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
377 |
StrCpy $R1 $R2 "" $R4 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
378 |
Pop $R5 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
379 |
Pop $R4 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
380 |
Pop $R3 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
381 |
Pop $R2 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
382 |
Exch $R1 |
d5ce4c64ef88
Initial population with stock ExUI 1.11pre + a couple of fixes needed to compile the installer
Dan
parents:
diff
changeset
|
383 |
FunctionEnd |