オープンソース・ソフトウェアの開発とダウンロード

Subversion リポジトリの参照

Contents of /trunk/installer/teraterm.iss

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7453 - (show annotations) (download)
Fri Mar 1 07:40:48 2019 UTC (5 years, 3 months ago) by maya
File size: 51420 byte(s)
unfrozen
1 #define AppName "Tera Term"
2 #define AppVer "4.102"
3 #define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', '');
4
5 [InnoIDE_PreCompile]
6 Name: makechm.bat
7 Name: build.bat
8 ;Name: build.bat; Parameters: rebuild
9
10 [InnoIDE_PostCompile]
11 ;Name: makearchive.bat; Parameters: release
12
13 [PreCompile]
14 Name: makechm.bat
15 Name: build.bat
16 ;Name: build.bat; Parameters: rebuild
17
18 [PostCompile]
19 ;Name: makearchive.bat; Parameters: release
20
21 [_ISToolPreCompile]
22 Name: makechm.bat
23 Name: build.bat
24 ;Name: build.bat; Parameters: rebuild
25
26 [_ISToolPostCompile]
27 ;Name: makearchive.bat; Parameters: release
28
29 [Setup]
30 AppCopyright=(C) 2004-2019 TeraTerm Project
31 AppPublisher=TeraTerm Project
32 AppPublisherURL=https://ttssh2.osdn.jp/
33 AppSupportURL=https://ttssh2.osdn.jp/
34 AppName={#AppName}
35 #ifndef snapshot
36 AppVersion={#AppVer}
37 AppVerName={#AppName} {#AppVer}
38 #else
39 AppVersion={#AppVer}+ snapshot-{#snapshot}
40 AppVerName={#AppName} {#AppVer}+ snapshot-{#snapshot}
41 #endif
42 LicenseFile=release\license.txt
43 DefaultDirName={pf}\teraterm
44 DefaultGroupName={#AppName}
45 ShowLanguageDialog=yes
46 AllowNoIcons=true
47 UninstallDisplayIcon={app}\ttermpro.exe
48 #ifndef snapshot
49 OutputBaseFilename=teraterm-{#AppVer}
50 #else
51 OutputBaseFilename=teraterm-{#snapshot}
52 #endif
53 PrivilegesRequired=none
54
55 [Languages]
56 Name: en; MessagesFile: compiler:Default.isl
57 Name: ja; MessagesFile: compiler:Languages\Japanese.isl
58
59 [Dirs]
60 Name: {app}\Collector; Components: Collector
61 Name: {app}\theme; Components: TeraTerm
62 Name: {app}\theme\scale; Components: TeraTerm
63 Name: {app}\theme\tile; Components: TeraTerm
64 Name: {app}\plugin; Components: TeraTerm
65 Name: {app}\lang; Components: TeraTerm
66
67 [Files]
68 Source: ..\teraterm\release\ttermpro.exe; DestDir: {app}; Components: TeraTerm; Flags: ignoreversion
69 Source: ..\teraterm\release\ttpcmn.dll; DestDir: {app}; Components: TeraTerm; Flags: ignoreversion
70 Source: ..\teraterm\release\ttpdlg.dll; DestDir: {app}; Components: TeraTerm; Flags: ignoreversion
71 Source: ..\teraterm\release\ttpfile.dll; DestDir: {app}; Components: TeraTerm; Flags: ignoreversion
72 Source: ..\teraterm\release\ttpset.dll; DestDir: {app}; Components: TeraTerm; Flags: ignoreversion
73 Source: ..\teraterm\release\ttptek.dll; DestDir: {app}; Components: TeraTerm; Flags: ignoreversion
74 Source: release\TERATERM.INI; DestDir: {app}; Components: TeraTerm; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify
75 Source: release\TSPECIAL1.TTF; DestDir: {fonts}; Components: TeraTerm; Attribs: readonly; Flags: overwritereadonly uninsneveruninstall; FontInstall: Tera Special; Check: isAbleToInstallFont
76 Source: ..\doc\en\teraterm.chm; DestDir: {app}; Components: TeraTerm
77 Source: ..\doc\ja\teratermj.chm; DestDir: {app}; Components: TeraTerm
78 Source: release\license.txt; DestDir: {app}; Components: TeraTerm
79 Source: release\FUNCTION.CNF; DestDir: {app}; Components: TeraTerm
80 Source: release\IBMKEYB.CNF; DestDir: {app}; Components: TeraTerm
81 Source: release\EDITOR.CNF; DestDir: {app}; Components: TeraTerm; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify; DestName: KEYBOARD.CNF
82 Source: release\EDITOR.CNF; DestDir: {app}; Components: TeraTerm
83 Source: release\NT98KEYB.CNF; DestDir: {app}; Components: TeraTerm
84 Source: release\PC98KEYB.CNF; DestDir: {app}; Components: TeraTerm
85 Source: ..\teraterm\release\keycode.exe; DestDir: {app}; Components: TeraTerm; Flags: ignoreversion
86 Source: ..\teraterm\release\ttpmacro.exe; DestDir: {app}; Components: TeraTerm; Flags: ignoreversion
87 Source: release\delpassw.ttl; DestDir: {app}; Components: TeraTerm
88 Source: release\dialup.ttl; DestDir: {app}; Components: TeraTerm
89 Source: release\login.ttl; DestDir: {app}; Components: TeraTerm
90 Source: release\mpause.ttl; DestDir: {app}; Components: TeraTerm
91 Source: release\random.ttl; DestDir: {app}; Components: TeraTerm
92 Source: release\screencapture.ttl; DestDir: {app}; Components: TeraTerm
93 Source: release\ssh2login.ttl; DestDir: {app}; Components: TeraTerm
94 Source: release\wait_regex.ttl; DestDir: {app}; Components: TeraTerm
95 Source: release\lang\Default.lng; DestDir: {app}\lang; Components: TeraTerm; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify
96 Source: release\lang\Japanese.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
97 Source: release\lang\German.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
98 Source: release\lang\French.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
99 Source: release\lang\Russian.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
100 Source: release\lang\Korean.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
101 Source: release\lang\Simplified Chinese.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
102 Source: release\lang\Traditional Chinese.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
103 Source: ..\ttssh2\ttxssh\Release\ttxssh.dll; DestDir: {app}; Components: TTSSH; Flags: ignoreversion
104 Source: release\ssh_known_hosts; DestDir: {app}; Components: TTSSH; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify
105 Source: ..\cygterm\cygterm.exe; DestDir: {app}\cygterm+-i686; Components: cygterm
106 Source: ..\cygterm\cygterm.cfg; DestDir: {app}; Components: cygterm; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify
107 Source: ..\cygterm\cyglaunch.exe; DestDir: {app}; Components: cygterm
108 Source: ..\cygterm\cygterm+.tar.gz; DestDir: {app}; Components: cygterm
109 Source: ..\cygterm\cygterm+-x86_64\cygterm.exe; DestDir: {app}\cygterm+-x86_64; Components: cygterm
110 Source: cygtool\cygtool.dll; Components: cygterm; Flags: dontcopy
111 Source: ..\libs\logmett\Setup_LogMeTT_2_12_1.exe; DestDir: {tmp}; Components: LogMeTT; Flags: deleteafterinstall
112 Source: ..\libs\logmett\Setup_TTLEditor_1_5_1.exe; DestDir: {tmp}; Components: TTLEdit; Flags: deleteafterinstall
113 Source: ..\ttpmenu\Release\ttpmenu.exe; DestDir: {app}; Components: TeraTerm_Menu; Flags: ignoreversion
114 Source: release\ttmenu_readme-j.txt; DestDir: {app}; Components: TeraTerm_Menu
115 Source: ..\TTProxy\Release\TTXProxy.dll; DestDir: {app}; Components: TTProxy; Flags: ignoreversion
116 Source: release\theme\Advanced.sample; DestDir: {app}\theme\; Components: TeraTerm
117 Source: release\theme\ImageFile.INI; DestDir: {app}\theme\; Components: TeraTerm
118 Source: release\theme\Scale.INI; DestDir: {app}\theme\; Components: TeraTerm
119 Source: release\theme\Tile.INI; DestDir: {app}\theme\; Components: TeraTerm
120 Source: release\theme\scale\23.jpg; DestDir: {app}\theme\scale; Components: TeraTerm
121 Source: release\theme\scale\43.jpg; DestDir: {app}\theme\scale; Components: TeraTerm
122 Source: release\theme\tile\03.jpg; DestDir: {app}\theme\tile; Components: TeraTerm
123 Source: release\theme\tile\44.jpg; DestDir: {app}\theme\tile; Components: TeraTerm
124 Source: release\plugin\ttAKJpeg.dll; DestDir: {app}\plugin\; Components: TeraTerm
125 Source: release\plugin\ttAKJpeg.txt; DestDir: {app}\plugin\; Components: TeraTerm
126 Source: release\Collector\Collector.exe; DestDir: {app}\Collector\; Components: Collector
127 Source: release\Collector\collector.ini; DestDir: {app}\Collector\; Components: Collector
128 Source: release\Collector\Collector_org.exe; DestDir: {app}\Collector\; Components: Collector
129 Source: release\Collector\hthook.dll; DestDir: {app}\Collector\; Components: Collector
130 Source: release\Collector\mfc70.dll; DestDir: {app}\Collector\; Components: Collector
131 Source: release\Collector\msvcr70.dll; DestDir: {app}\Collector\; Components: Collector
132 Source: release\Collector\readme.txt; DestDir: {app}\Collector\; Components: Collector
133 Source: ..\TTXKanjiMenu\release\ttxkanjimenu.dll; DestDir: {app}\; Components: Additional_Plugins/TTXKanjiMenu; Flags: ignoreversion
134 Source: ..\TTXSamples\release\TTXResizeMenu.dll; DestDir: {app}\; Components: Additional_Plugins/TTXResizeMenu; Flags: ignoreversion
135 Source: ..\TTXSamples\release\TTXttyrec.dll; DestDir: {app}\; Components: Additional_Plugins/TTXttyrec; Flags: ignoreversion
136 Source: ..\TTXSamples\release\TTXttyplay.dll; DestDir: {app}\; Components: Additional_Plugins/TTXttyrec; Flags: ignoreversion
137 Source: ..\TTXSamples\release\TTXKcodeChange.dll; DestDir: {app}\; Components: Additional_Plugins/TTXKcodeChange; Flags: ignoreversion
138 Source: ..\TTXSamples\release\TTXViewMode.dll; DestDir: {app}\; Components: Additional_Plugins/TTXViewMode; Flags: ignoreversion
139 Source: ..\TTXSamples\release\TTXAlwaysOnTop.dll; DestDir: {app}\; Components: Additional_Plugins/TTXAlwaysOnTop; Flags: ignoreversion
140 Source: ..\TTXSamples\release\TTXRecurringCommand.dll; DestDir: {app}\; Components: Additional_Plugins/TTXRecurringCommand; Flags: ignoreversion
141
142 [Types]
143 Name: standard; Description: {cm:type_standard}
144 Name: full; Description: {cm:type_full}
145 Name: compact; Description: {cm:type_compact}
146 Name: custom; Description: {cm:type_custom}; Flags: iscustom
147
148 [Components]
149 Name: TeraTerm; Description: Tera Term & Macro; Flags: fixed; Types: custom compact full standard
150 Name: TTSSH; Description: TTSSH; Types: compact full standard
151 Name: cygterm; Description: CygTerm+; Types: full standard; Check: not isIA64
152 Name: LogMeTT; Description: LogMeTT ({cm:comp_installer}); Types: full; MinVersion: 4.1.1998,4.0.1381sp6
153 Name: TTLEdit; Description: TTLEdit ({cm:comp_installer}); Types: full; MinVersion: 4.1.1998,4.0.1381sp6
154 Name: TeraTerm_Menu; Description: TeraTerm Menu; Types: full
155 Name: TTProxy; Description: TTProxy; Types: full standard
156 Name: Collector; Description: Collector; Types: full
157 Name: Additional_Plugins; Description: {cm:comp_TTX}
158 Name: Additional_Plugins/TTXResizeMenu; Description: TTXResizeMenu ({cm:comp_TTXResizeMenu}); Types: full standard
159 Name: Additional_Plugins/TTXttyrec; Description: TTXttyrec ({cm:comp_TTXttyrec}); Types: full standard
160 Name: Additional_Plugins/TTXKanjiMenu; Description: TTXKanjiMenu ({cm:comp_TTXKanjiMenu}); Languages: en
161 Name: Additional_Plugins/TTXKanjiMenu; Description: TTXKanjiMenu ({cm:comp_TTXKanjiMenu}); Types: full; Languages: ja
162 Name: Additional_Plugins/TTXKcodeChange; Description: TTXKcodeChange ({cm:comp_TTXKcodeChange}); Languages: en
163 Name: Additional_Plugins/TTXKcodeChange; Description: TTXKcodeChange ({cm:comp_TTXKcodeChange}); Types: full; Languages: ja
164 Name: Additional_Plugins/TTXViewMode; Description: TTXViewMode ({cm:comp_TTXViewMode}); Types: full
165 Name: Additional_Plugins/TTXAlwaysOnTop; Description: TTXAlwaysOnTop ({cm:comp_TTXAlwaysOnTop}); Types: full
166 Name: Additional_Plugins/TTXRecurringCommand; Description: TTXRecurringCommand ({cm:comp_TTXRecurringCommand}); Types: full
167
168 [Icons]
169 Name: {group}\Tera Term; Filename: {app}\ttermpro.exe; WorkingDir: {app}; IconFilename: {app}\ttermpro.exe; IconIndex: 0; Components: TeraTerm; Flags: createonlyiffileexists
170 Name: {group}\{cm:UninstallProgram,{#AppName}}; Filename: {uninstallexe}; Components: TeraTerm; Flags: createonlyiffileexists
171 Name: {group}\cyglaunch; Filename: {app}\cyglaunch.exe; WorkingDir: {app}; IconFilename: {app}\cyglaunch.exe; IconIndex: 0; Components: cygterm; Flags: createonlyiffileexists
172 Name: {group}\TeraTerm Menu; Filename: {app}\ttpmenu.exe; WorkingDir: {app}; IconFilename: {app}\ttpmenu.exe; IconIndex: 0; Components: TeraTerm_Menu; Flags: createonlyiffileexists
173 Name: {group}\Collector; Filename: {app}\Collector\Collector.exe; WorkingDir: {app}\Collector; IconFilename: {app}\Collector\Collector.exe; IconIndex: 0; Components: Collector; Flags: createonlyiffileexists
174 Name: {userdesktop}\Tera Term; Filename: {app}\ttermpro.exe; WorkingDir: {app}; IconFilename: {app}\ttermpro.exe; Components: TeraTerm; Tasks: desktopicon; IconIndex: 0; Flags: createonlyiffileexists
175 Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\Tera Term; Filename: {app}\ttermpro.exe; WorkingDir: {app}; IconFilename: {app}\ttermpro.exe; Components: TeraTerm; Tasks: quicklaunchicon; IconIndex: 0; Flags: createonlyiffileexists
176 Name: {userstartup}\TeraTerm Menu; Filename: {app}\ttpmenu.exe; WorkingDir: {app}; IconFilename: {app}\ttpmenu.exe; Components: TeraTerm_Menu; IconIndex: 0; Tasks: startupttmenuicon; Flags: createonlyiffileexists
177 Name: {userstartup}\Collector; Filename: {app}\collector\collector.exe; WorkingDir: {app}\Collector; IconFilename: {app}\collector\collector.exe; Components: Collector; Tasks: startupcollectoricon; IconIndex: 0; Flags: createonlyiffileexists
178 Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\cyglaunch; Filename: {app}\cyglaunch.exe; WorkingDir: {app}; IconFilename: {app}\cyglaunch.exe; Components: cygterm; Tasks: quickcyglaunch; IconIndex: 0; Flags: createonlyiffileexists
179
180 [Registry]
181 ; Cygterm Here
182 Root: HKCU; Subkey: Software\Classes\Folder\shell\cygterm; ValueType: string; ValueData: Cy&gterm Here; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: cygterm; Tasks: cygtermhere
183 Root: HKCU; Subkey: Software\Classes\Folder\shell\cygterm\command; ValueType: string; ValueData: """{app}\cyglaunch.exe"" -nocd -v CHERE_INVOKING=y -d ""\""%L\"""""; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: cygterm; Tasks: cygtermhere
184 Root: HKCR; Subkey: Folder\shell\cygterm; ValueType: string; ValueData: Cy&gterm Here; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: cygterm; Tasks: cygtermhere
185 Root: HKCR; Subkey: Folder\shell\cygterm\command; ValueType: string; ValueData: """{app}\cyglaunch.exe"" -nocd -v CHERE_INVOKING=y -d ""\""%L\"""""; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: cygterm; Tasks: cygtermhere
186 ; Cygterm Here from folder Background
187 ; MinVersion 5.00.0000 = not Win9x, 6.0.6000 = Vista or later
188 Root: HKCU; Subkey: Software\Classes\Directory\Background\shell\cygterm; ValueType: string; ValueData: Cy&gterm Here; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere; MinVersion: 5.00.0000,6.0.6000
189 Root: HKCU; Subkey: Software\Classes\Directory\Background\shell\cygterm\command; ValueType: string; ValueData: """{app}\cyglaunch.exe"" -nocd -v CHERE_INVOKING=y -d ""\""%V\"""""; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere; MinVersion: 5.00.0000,6.0.6000
190 Root: HKCU; Subkey: Software\Classes\LibraryFolder\Background\shell\cygterm; ValueType: string; ValueData: Cy&gterm Here; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere; MinVersion: 5.00.0000,6.0.6000
191 Root: HKCU; Subkey: Software\Classes\LibraryFolder\Background\shell\cygterm\command; ValueType: string; ValueData: """{app}\cyglaunch.exe"" -nocd -v CHERE_INVOKING=y -d ""\""%V\"""""; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere; MinVersion: 5.00.0000,6.0.6000
192 ; Associate with .TTL
193 Root: HKCU; Subkey: Software\Classes\.ttl; ValueType: string; ValueData: TeraTerm.MacroFile; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TeraTerm; Tasks: macroassoc
194 Root: HKCU; Subkey: Software\Classes\TeraTerm.MacroFile; ValueType: string; ValueData: Tera Term Macro File; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TeraTerm; Tasks: macroassoc
195 Root: HKCU; Subkey: Software\Classes\TeraTerm.MacroFile\DefaultIcon; ValueType: string; ValueData: {app}\ttpmacro.exe,0; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TeraTerm; Tasks: macroassoc
196 Root: HKCU; Subkey: Software\Classes\TeraTerm.MacroFile\shell\open\command; ValueType: string; ValueData: """{app}\ttpmacro.exe"" ""%1"""; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TeraTerm; Tasks: macroassoc
197 Root: HKCR; Subkey: .ttl; ValueType: string; ValueData: TeraTerm.MacroFile; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TeraTerm; Tasks: macroassoc
198 Root: HKCR; Subkey: TeraTerm.MacroFile; ValueType: string; ValueData: Tera Term Macro File; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TeraTerm; Tasks: macroassoc
199 Root: HKCR; Subkey: TeraTerm.MacroFile\DefaultIcon; ValueType: string; ValueData: {app}\ttpmacro.exe,0; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TeraTerm; Tasks: macroassoc
200 Root: HKCR; Subkey: TeraTerm.MacroFile\shell\open\command; ValueType: string; ValueData: """{app}\ttpmacro.exe"" ""%1"""; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TeraTerm; Tasks: macroassoc
201 ; Associate with telnet://
202 Root: HKCU; Subkey: Software\Classes\telnet\shell; ValueType: string; ValueData: Open with Tera Term; Flags: uninsclearvalue; Check: isWin2kOrLater; Components: TeraTerm; Tasks: telnetassoc
203 Root: HKCU; Subkey: Software\Classes\telnet\shell\Open with Tera Term\command; ValueType: string; ValueData: """{app}\ttermpro.exe"" /T=1 /nossh %1"; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TeraTerm; Tasks: telnetassoc
204 Root: HKCR; Subkey: telnet\shell; ValueType: string; ValueData: Open with Tera Term; Flags: uninsclearvalue; Check: not isWin2kOrLater; Components: TeraTerm; Tasks: telnetassoc
205 Root: HKCR; Subkey: telnet\shell\Open with Tera Term\command; ValueType: string; ValueData: """{app}\ttermpro.exe"" /T=1 /nossh %1"; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TeraTerm; Tasks: telnetassoc
206 ; Associate with ssh://
207 Root: HKCU; Subkey: Software\Classes\ssh; ValueType: string; ValueData: URL: SSH Protocol; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
208 Root: HKCU; Subkey: Software\Classes\ssh; ValueName: URL Protocol; ValueType: string; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
209 Root: HKCU; Subkey: Software\Classes\ssh; ValueName: EditFlags; ValueType: dword; ValueData: 2; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
210 Root: HKCU; Subkey: Software\Classes\ssh\DefaultIcon; ValueType: string; ValueData: """{app}\ttxssh.dll"",0"; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
211 Root: HKCU; Subkey: Software\Classes\ssh\shell\open\command; ValueType: string; ValueData: """{app}\ttermpro.exe"" %1"; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
212 Root: HKCR; Subkey: ssh; ValueType: string; ValueData: URL: SSH Protocol; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
213 Root: HKCR; Subkey: ssh; ValueName: URL Protocol; ValueType: string; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
214 Root: HKCR; Subkey: ssh; ValueName: EditFlags; ValueType: dword; ValueData: 2; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
215 Root: HKCR; Subkey: ssh\DefaultIcon; ValueType: string; ValueData: """{app}\ttxssh.dll"",0"; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
216 Root: HKCR; Subkey: ssh\shell\open\command; ValueType: string; ValueData: """{app}\ttermpro.exe"" %1"; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
217 ; Associate with slogin://
218 Root: HKCU; Subkey: Software\Classes\slogin; ValueType: string; ValueData: URL: slogin Protocol; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
219 Root: HKCU; Subkey: Software\Classes\slogin; ValueName: URL Protocol; ValueType: string; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
220 Root: HKCU; Subkey: Software\Classes\slogin; ValueName: EditFlags; ValueType: dword; ValueData: 2; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
221 Root: HKCU; Subkey: Software\Classes\slogin\DefaultIcon; ValueType: string; ValueData: """{app}\ttxssh.dll"",0"; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
222 Root: HKCU; Subkey: Software\Classes\slogin\shell\open\command; ValueType: string; ValueData: """{app}\ttermpro.exe"" %1"; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
223 Root: HKCR; Subkey: slogin; ValueType: string; ValueData: URL: slogin Protocol; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
224 Root: HKCR; Subkey: slogin; ValueName: URL Protocol; ValueType: string; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
225 Root: HKCR; Subkey: slogin; ValueName: EditFlags; ValueType: dword; ValueData: 2; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
226 Root: HKCR; Subkey: slogin\DefaultIcon; ValueType: string; ValueData: """{app}\ttxssh.dll"",0"; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
227 Root: HKCR; Subkey: slogin\shell\open\command; ValueType: string; ValueData: """{app}\ttermpro.exe"" %1"; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: TTSSH; Tasks: sshassoc
228 ; Associate with .TTY
229 Root: HKCU; Subkey: Software\Classes\.tty; ValueType: string; ValueData: TTYRecordFile; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: Additional_Plugins/TTXttyrec; Tasks: ttyplayassoc
230 Root: HKCU; Subkey: Software\Classes\TTYRecordFile; ValueType: string; ValueData: TTY Record File; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: Additional_Plugins/TTXttyrec; Tasks: ttyplayassoc
231 Root: HKCU; Subkey: Software\Classes\TTYRecordFile\DefaultIcon; ValueType: string; ValueData: {app}\ttermpro.exe,0; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: Additional_Plugins/TTXttyrec; Tasks: ttyplayassoc
232 Root: HKCU; Subkey: Software\Classes\TTYRecordFile\shell\open\command; ValueType: string; ValueData: """{app}\ttermpro.exe"" /R=""%1"" /TTYPLAY"; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: Additional_Plugins/TTXttyrec; Tasks: ttyplayassoc
233 Root: HKCR; Subkey: .tty; ValueType: string; ValueData: TTYRecordFile; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: Additional_Plugins/TTXttyrec; Tasks: ttyplayassoc
234 Root: HKCR; Subkey: TTYRecordFile; ValueType: string; ValueData: TTY Record File; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: Additional_Plugins/TTXttyrec; Tasks: ttyplayassoc
235 Root: HKCR; Subkey: TTYRecordFile\DefaultIcon; ValueType: string; ValueData: {app}\ttermpro.exe,0; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: Additional_Plugins/TTXttyrec; Tasks: ttyplayassoc
236 Root: HKCR; Subkey: TTYRecordFile\shell\open\command; ValueType: string; ValueData: """{app}\ttermpro.exe"" /R=""%1"" /TTYPLAY"; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: Additional_Plugins/TTXttyrec; Tasks: ttyplayassoc
237
238 [Tasks]
239 Name: desktopicon; Description: {cm:task_desktopicon}; Components: TeraTerm
240 Name: quicklaunchicon; Description: {cm:task_quicklaunchicon}; Components: TeraTerm
241 Name: startupttmenuicon; Description: {cm:task_startupttmenuicon}; Components: TeraTerm_Menu
242 Name: startupcollectoricon; Description: {cm:task_startupcollectoricon}; Components: Collector
243 Name: cygtermhere; Description: {cm:task_cygtermhere}; Components: cygterm; Flags: unchecked
244 Name: quickcyglaunch; Description: {cm:task_quickcyglaunch}; Components: cygterm; Flags: unchecked
245 Name: macroassoc; Description: {cm:task_macroassoc}; Components: TeraTerm; Flags: unchecked
246 Name: telnetassoc; Description: {cm:task_telnetassoc}; Components: TeraTerm; Flags: unchecked
247 Name: sshassoc; Description: {cm:task_sshassoc}; Components: TTSSH; Flags: unchecked
248 Name: ttyplayassoc; Description: {cm:task_ttyplayassoc}; Components: Additional_Plugins/TTXttyrec; Flags: unchecked
249
250 [Run]
251 Filename: {app}\ttermpro.exe; Flags: nowait postinstall skipifsilent unchecked; Description: {cm:launch_teraterm}; Components: TeraTerm
252 Filename: {tmp}\Setup_LogMeTT_2_12_1.exe; Flags: skipifsilent runasoriginaluser; Components: LogMeTT
253 Filename: {tmp}\Setup_LogMeTT_2_12_1.exe; Parameters: /SILENT; Flags: skipifnotsilent runasoriginaluser; Components: LogMeTT
254 Filename: {tmp}\Setup_TTLEditor_1_5_1.exe; Flags: skipifsilent runasoriginaluser; Components: TTLEdit
255 Filename: {tmp}\Setup_TTLEditor_1_5_1.exe; Parameters: /SILENT; Flags: skipifnotsilent runasoriginaluser; Components: TTLEdit
256 Filename: {app}\ttpmenu.exe; Flags: nowait postinstall skipifsilent unchecked; Description: {cm:launch_ttmenu}; Components: TeraTerm_Menu
257 Filename: {app}\Collector\Collector.exe; Flags: nowait postinstall skipifsilent unchecked; Description: {cm:launch_collector}; Components: Collector
258
259 [CustomMessages]
260 en.task_desktopicon=Create Tera Term shortcut to &Desktop
261 en.task_quicklaunchicon=Create Tera Term shortcut to &Quick Launch
262 en.task_startupttmenuicon=Create TeraTerm &Menu shortcut to Startup
263 en.task_startupcollectoricon=Create &Collector shortcut to Startup
264 en.task_cygtermhere=Add "Cy&gterm Here" to Context menu
265 en.task_quickcyglaunch=Create cyg&launch shortcut to Quick Launch
266 en.task_macroassoc=Associate .&ttl file to ttpmacro.exe
267 en.task_telnetassoc=Associate t&elnet protocol to ttermpro.exe
268 en.task_sshassoc=Associate &ssh protocol to ttermpro.exe
269 en.task_ttyplayassoc=Associate .tty file to tterm&pro.exe
270 ja.task_desktopicon=�f�X�N�g�b�v�� Tera Term ���V���[�g�J�b�g������(&D)
271 ja.task_quicklaunchicon=�N�C�b�N�N���� Tera Term ���V���[�g�J�b�g������(&Q)
272 ja.task_startupttmenuicon=�X�^�[�g�A�b�v�� TeraTerm &Menu ���V���[�g�J�b�g������
273 ja.task_startupcollectoricon=�X�^�[�g�A�b�v�� &Collector ���V���[�g�J�b�g������
274 ja.task_cygtermhere=�R���e�L�X�g���j���[�� "Cy&gterm Here" ����������
275 ja.task_quickcyglaunch=�N�C�b�N�N���� cyg&launch ���V���[�g�J�b�g������
276 ja.task_macroassoc=.&ttl �t�@�C���� ttpmacro.exe �����A�t����
277 ja.task_telnetassoc=t&elnet �v���g�R���� ttermpro.exe �����A�t����
278 ja.task_sshassoc=&ssh �v���g�R���� ttermpro.exe �����A�t����
279 ja.task_ttyplayassoc=.tty �t�@�C���� tterm&pro.exe �����A�t����
280 en.type_standard=Standard installation
281 en.type_full=Full installation
282 en.type_compact=Compact installation
283 en.type_custom=Custom installation
284 ja.type_standard=�W���C���X�g�[��
285 ja.type_full=�t���C���X�g�[��
286 ja.type_compact=�R���p�N�g�C���X�g�[��
287 ja.type_custom=�J�X�^���C���X�g�[��
288 en.launch_teraterm=Launch &Tera Term
289 en.launch_ttmenu=Launch TeraTerm &Menu
290 en.launch_collector=Launch &Collector
291 ja.launch_teraterm=������ &Tera Term �����s����
292 ja.launch_ttmenu=������ TeraTerm &Menu �����s����
293 ja.launch_collector=������ &Collector �����s����
294 en.msg_language_caption=Select Language
295 en.msg_language_description=Which language shoud be used?
296 en.msg_language_subcaption=Select the language of application's menu and dialog, then click Next.
297 en.msg_language_none=&English
298 en.msg_language_japanese=&Japanese
299 en.msg_language_german=&German
300 en.msg_language_french=&French
301 en.msg_language_russian=&Russian
302 en.msg_language_korean=&Korean
303 en.msg_language_chinese=&Chinese(Simplified)
304 en.msg_language_tchinese=Chinese(&Traditional)
305 ja.msg_language_caption=�������I��
306 ja.msg_language_description=���[�U�[�C���^�[�t�F�[�X���������I���������������B
307 ja.msg_language_subcaption=�A�v���P�[�V���������j���[���_�C�A���O�����\���������I�������A�u�����v���N���b�N�������������B
308 ja.msg_language_none=�p��(&E)
309 ja.msg_language_japanese=���{��(&J)
310 ja.msg_language_german=�h�C�c��(&G)
311 ja.msg_language_french=�t�����X��(&F)
312 ja.msg_language_russian=���V�A��(&R)
313 ja.msg_language_korean=������(&K)
314 ja.msg_language_chinese=������������(&C)
315 ja.msg_language_tchinese=������������(&T)
316 en.msg_del_confirm=Are you sure that you want to delete %s ?
317 ja.msg_del_confirm=%s ���������������H
318 en.msg_uninstall_confirm=It seems a former version is installed. You are recommended to uninstall it previously. Do you uninstall former version ?
319 ja.msg_uninstall_confirm=���O���o�[�W�������C���X�g�[���������������������B�����A���C���X�g�[�������������������������B�A���C���X�g�[�����������H
320 en.comp_TTX=Additional Plugins
321 ja.comp_TTX=�����v���O�C��
322 en.comp_TTXResizeMenu=VT-Window size can be changed from preset
323 ja.comp_TTXResizeMenu=VT�E�B���h�E���T�C�Y���v���Z�b�g�l�����������X����������������
324 en.comp_TTXttyrec=ttyrec format record data can be recorded or playback
325 ja.comp_TTXttyrec=ttyrec�`�����^���f�[�^���L�^/��������������������
326 en.comp_TTXKanjiMenu=Changes Japanese Kanji Code from VT-Window menu
327 ja.comp_TTXKanjiMenu=���{���������R�[�h��VT�E�B���h�E�����j���[������������������������
328 en.comp_TTXKcodeChange=Change Japanese Kanji code by remote sequence
329 ja.comp_TTXKcodeChange=�����[�g�������V�[�P���X�����{���������R�[�h�����X����
330 en.comp_TTXViewMode=View-only mode can be used
331 ja.comp_TTXViewMode=�\�����p���[�h������������������
332 en.comp_TTXAlwaysOnTop=Always On Top can be used
333 ja.comp_TTXAlwaysOnTop=�������O�����\������������������
334 en.comp_TTXRecurringCommand=Recurring Command can be used
335 ja.comp_TTXRecurringCommand=�����I�������������M����
336 en.comp_installer=Other installer is started
337 ja.comp_installer=�C���X�g�[�����N��������
338 en.msg_AppRunningError=Setup has detected that %s is currently running.%n%nPlease close all instances of it now, then click Next to continue.
339 ja.msg_AppRunningError=�Z�b�g�A�b�v�����s���� %s �����o���������B%n%n�J���������A�v���P�[�V�����������������������u�����v���N���b�N�������������B
340
341 [Code]
342 const
343 SHCNF_IDLIST = $0000;
344 SHCNE_ASSOCCHANGED = $08000000;
345 IMAGE_FILE_MACHINE_UNKNOWN = $0000;
346 IMAGE_FILE_MACHINE_I386 = $014c;
347 IMAGE_FILE_MACHINE_AMD64 = $8664;
348
349 procedure SHChangeNotify(wEventId, uFlags, dwItem1, dwItem2: Integer);
350 external 'SHChangeNotify@shell32.dll stdcall';
351
352 function FindCygwinPath(CygwinDirectory, CygwinDir: AnsiString; Dirlen: Cardinal): Integer;
353 external 'FindCygwinPath@files:cygtool.dll stdcall setuponly';
354
355 function PortableExecutableMachine(CygwinDir: AnsiString): Integer;
356 external 'PortableExecutableMachine@files:cygtool.dll stdcall setuponly';
357
358 var
359 UILangFilePage: TInputOptionWizardPage;
360
361
362 // It is different from x64
363 function isIA64 : Boolean;
364 begin
365 if ProcessorArchitecture = paIA64 then
366 Result := True
367 else
368 Result := False;
369 end;
370
371 // Windows 2000 or later
372 function isWin2kOrLater : Boolean;
373 var
374 Version: TWindowsVersion;
375 begin;
376 GetWindowsVersionEx(Version);
377 if Version.Major >= 5 then
378 Result := True
379 else
380 Result := False;
381 end;
382
383 // Window 9x or NT 4.0 or (Admins or PowerUsers)
384 function isAbleToInstallFont : Boolean;
385 begin;
386 if not UsingWinNT() then begin
387 Result := True;
388 end else begin
389 if isWin2kOrLater() then begin
390 if IsAdminLoggedOn() or IsPowerUserLoggedOn() then begin
391 Result := True;
392 end else begin
393 Result := False
394 end;
395 end else begin
396 Result := True;
397 end;
398 end;
399 end;
400
401 {
402 // If value is not found in INI, returns ""
403 function GetIniString2(Section:String; Key:String; Filename:String) : String;
404 var
405 Default1: String;
406 Default2: String;
407 Value1: String;
408 Value2: String;
409 begin
410 Default1 := 'on';
411 Default2 := 'off';
412 Value1 := GetIniString(Section, Key, Default1, Filename);
413 Value2 := GetIniString(Section, Key, Default2, Filename);
414
415 if Value1 <> Value2 then
416 // no value in INI
417 Result := ''
418 else
419 // value in INI
420 Result := Value1
421 end;
422 }
423
424 function CheckFileUsing(Filename:String) : integer;
425 var
426 TmpFileName : String;
427 begin
428 if FileExists(FileName) then
429 begin
430 TmpFileName := FileName + '.' + GetDateTimeString('yyyymmddhhnnss', #0, #0); // Tmp file ends with timestamp
431 if FileCopy(FileName, TmpFileName, True) then
432 if DeleteFile(FileName) then
433 if RenameFile(TmpFileName, FileName) then
434 Result := 0
435 else
436 Result := -1 // permission?
437 else
438 begin
439 Result := 1; // failed to delete
440 DeleteFile(TmpFileName);
441 end
442 else
443 Result := -1 // permission?
444 end
445 else
446 Result := 0;
447 end;
448
449 function CheckAppsUsing() : string;
450 var
451 FileDir : String;
452 FileName : array[0..6] of String;
453 FileDesc : array[0..6] of String;
454 i : integer;
455 begin
456 FileDir := ExpandConstant('{app}');
457 FileName[0] := FileDir + '\ttermpro.exe';
458 FileName[1] := FileDir + '\ttpmacro.exe';
459 FileName[2] := FileDir + '\keycode.exe';
460 FileName[3] := FileDir + '\ttpmenu.exe';
461 FileName[4] := FileDir + '\cygterm.exe';
462 FileName[5] := FileDir + '\Collector.exe';
463 FileName[6] := FileDir + '\Collector_org.exe';
464 FileDesc[0] := 'Tera Term';
465 FileDesc[1] := 'Tera Term Macro';
466 FileDesc[2] := 'Keycode';
467 FileDesc[3] := 'TeraTerm Menu';
468 FileDesc[4] := 'CygTerm+';
469 FileDesc[5] := 'Collector';
470 FileDesc[6] := 'Collector';
471
472 for i := 0 to 6 do
473 begin
474 case CheckFileUsing(FileName[i]) of
475 1:
476 // Failed to delete. In use.
477 begin
478 if Length(Result) > 0 then
479 Result := Result + ', ' + FileDesc[i]
480 else
481 Result := FileDesc[i]
482 end;
483 else
484 // -1: Failed to copy/rename
485 // 0: OK
486 // NOP
487 end;
488 end;
489
490 end;
491
492 function GetDefaultIniFilename : String;
493 begin
494 Result := ExpandConstant('{app}') + '\TERATERM.INI';
495 end;
496
497 procedure SetIniFile(iniFile: String);
498 var
499 Language : String;
500 Locale : String;
501 CodePage : integer;
502 VTFont : String;
503 TEKFont : String;
504 FileDir : String;
505 TCPPort : integer;
506 ViewlogEditor : String;
507 CipherOrder : String;
508
509 begin
510 Language := GetIniString('Tera Term', 'Language', '', iniFile);
511 Locale := GetIniString('Tera Term', 'Locale', '', iniFile);
512 CodePage := GetIniInt('Tera Term', 'CodePage', 0, 0, 0, iniFile);
513 VTFont := GetIniString('Tera Term', 'VTFont', '', iniFile);
514 TEKFont := GetIniString('Tera Term', 'TEKFont', '', iniFile);
515 FileDir := GetIniString('Tera Term', 'FileDir', '', iniFile);
516 TCPPort := GetIniInt('Tera Term', 'TCPPort', 0, 0, 65535, iniFile)
517 ViewlogEditor := GetIniString('Tera Term', 'ViewlogEditor', '', iniFile);
518 CipherOrder := GetIniString('TTSSH', 'CipherOrder', '', iniFile);
519
520 case GetUILanguage and $3FF of
521 $04: // Chinese
522 begin
523
524 case GetUILanguage of
525 $c04, $1404, $404: // Hong Kong, Macao, Taiwan
526 begin
527 if Length(Locale) = 0 then
528 SetIniString('Tera Term', 'Locale', 'cht', iniFile);
529 if CodePage = 0 then
530 SetIniInt('Tera Term', 'CodePage', 950, iniFile);
531 end;
532 else
533 begin
534 if Length(Locale) = 0 then
535 SetIniString('Tera Term', 'Locale', 'chs', iniFile);
536 if CodePage = 0 then
537 SetIniInt('Tera Term', 'CodePage', 936, iniFile);
538 end;
539 end;
540
541 if Length(Language) = 0 then
542 SetIniString('Tera Term', 'Language', 'UTF-8', iniFile);
543 if Length(VTFont) = 0 then
544 SetIniString('Tera Term', 'VTFont', 'Terminal,0,-12,255', iniFile);
545 if Length(TEKFont) = 0 then
546 SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,255', iniFile);
547 end;
548 $11: // Japanese
549 begin
550 if Length(Language) = 0 then
551 SetIniString('Tera Term', 'Language', 'Japanese', iniFile);
552 if Length(Locale) = 0 then
553 SetIniString('Tera Term', 'Locale', 'japanese', iniFile);
554 if CodePage = 0 then
555 SetIniInt('Tera Term', 'CodePage', 932, iniFile);
556 if Length(VTFont) = 0 then
557 SetIniString('Tera Term', 'VTFont', 'Terminal,0,-19,128', iniFile);
558 if Length(TEKFont) = 0 then
559 SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,128', iniFile);
560 end;
561 $12: // Korean
562 begin
563 if Length(Language) = 0 then
564 SetIniString('Tera Term', 'Language', 'Korean', iniFile);
565 if Length(Locale) = 0 then
566 SetIniString('Tera Term', 'Locale', 'korean', iniFile);
567 if CodePage = 0 then
568 SetIniInt('Tera Term', 'CodePage', 949, iniFile);
569 if Length(VTFont) = 0 then
570 SetIniString('Tera Term', 'VTFont', 'Terminal,0,-12,255', iniFile);
571 if Length(TEKFont) = 0 then
572 SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,255', iniFile);
573 end;
574 $19: // Russian
575 begin
576 if Length(Language) = 0 then
577 SetIniString('Tera Term', 'Language', 'Russian', iniFile);
578 if Length(Locale) = 0 then
579 SetIniString('Tera Term', 'Locale', 'russian', iniFile);
580 if CodePage = 0 then
581 SetIniInt('Tera Term', 'CodePage', 1251, iniFile);
582 if Length(VTFont) = 0 then
583 SetIniString('Tera Term', 'VTFont', 'Terminal,0,-12,255', iniFile);
584 if Length(TEKFont) = 0 then
585 SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,255', iniFile);
586 end;
587 else // Other
588 begin
589
590 if GetUILanguage = $409 then begin // en-US
591
592 if Length(Language) = 0 then
593 SetIniString('Tera Term', 'Language', 'UTF-8', iniFile);
594 if Length(Locale) = 0 then
595 SetIniString('Tera Term', 'Locale', 'american', iniFile);
596 if CodePage = 0 then
597 SetIniInt('Tera Term', 'CodePage', 65001, iniFile);
598
599 end else begin // Other
600
601 if Length(Language) = 0 then
602 SetIniString('Tera Term', 'Language', 'English', iniFile);
603 if Length(Locale) = 0 then
604 SetIniString('Tera Term', 'Locale', 'english', iniFile);
605 if CodePage = 0 then
606 SetIniInt('Tera Term', 'CodePage', 1252, iniFile);
607
608 end;
609
610 if Length(VTFont) = 0 then
611 SetIniString('Tera Term', 'VTFont', 'Terminal,0,-12,255', iniFile);
612 if Length(TEKFont) = 0 then
613 SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,255', iniFile);
614 end;
615 end;
616
617 case UILangFilePage.SelectedValueIndex of
618 1:
619 SetIniString('Tera Term', 'UILanguageFile', 'lang\Japanese.lng', iniFile);
620 2:
621 SetIniString('Tera Term', 'UILanguageFile', 'lang\German.lng', iniFile);
622 3:
623 SetIniString('Tera Term', 'UILanguageFile', 'lang\French.lng', iniFile);
624 4:
625 SetIniString('Tera Term', 'UILanguageFile', 'lang\Russian.lng', iniFile);
626 5:
627 SetIniString('Tera Term', 'UILanguageFile', 'lang\Korean.lng', iniFile);
628 6:
629 SetIniString('Tera Term', 'UILanguageFile', 'lang\Simplified Chinese.lng', iniFile);
630 7:
631 SetIniString('Tera Term', 'UILanguageFile', 'lang\Traditional Chinese.lng', iniFile);
632 else
633 SetIniString('Tera Term', 'UILanguageFile', 'lang\Default.lng', iniFile);
634 end;
635
636 if Length(FileDir) = 0 then begin
637 FileDir := ExpandConstant('{app}');
638 SetIniString('Tera Term', 'FileDir', FileDir, iniFile);
639 end;
640
641 if TCPPort = 0 then begin
642 if IsComponentSelected('TTSSH') then
643 SetIniInt('Tera Term', 'TCPPort', 22, iniFile)
644 else
645 SetIniInt('Tera Term', 'TCPPort', 23, iniFile);
646 end;
647
648 if ViewlogEditor = 'notepad.exe' then begin
649 ViewlogEditor := ExpandConstant('{win}') + '\' + 'notepad.exe';
650 SetIniString('Tera Term', 'ViewlogEditor', ViewlogEditor, iniFile);
651 end;
652
653 if IsComponentSelected('TTSSH') then
654 begin
655 CipherOrder := GetIniString('TTSSH', 'CipherOrder', '', iniFile);
656 if (CompareStr(CipherOrder, 'K>H:J=G9I<F8C7D;A@?EB3062') = 0) or
657 (CompareStr(CipherOrder, '>:=9<8C7D;A@?EB3062') = 0) or
658 (CompareStr(CipherOrder, '>:=9<87;A@?B3026') = 0) or
659 (CompareStr(CipherOrder, '>:=9<87;A@?3026') = 0) or
660 (CompareStr(CipherOrder, '>:=9<87;?3026') = 0) or
661 (CompareStr(CipherOrder, '<8=9>:7;3026') = 0) or
662 (CompareStr(CipherOrder, '87;9:<=>3026') = 0) or
663 (CompareStr(CipherOrder, '87;9:3026') = 0) or
664 (CompareStr(CipherOrder, '873026') = 0) then
665 SetIniString('TTSSH', 'CipherOrder', 'K>H:J=G9I<F8C7D;EB30A@?62', iniFile)
666 end;
667
668 end;
669
670 procedure InitializeWizard;
671 var
672 UILangFilePageCaption : String;
673 UILangFilePageDescription : String;
674 UILangFilePageSubCaption : String;
675 UILangFilePageNone : String;
676 UILangFilePageJapanese : String;
677 UILangFilePageGerman : String;
678 UILangFilePageFrench : String;
679 UILangFilePageRussian : String;
680 UILangFilePageKorean : String;
681 UILangFilePageChinese : String;
682 UILangFilePageTChinese : String;
683 begin
684 UILangFilePageCaption := CustomMessage('msg_language_caption');
685 UILangFilePageDescription := CustomMessage('msg_language_description');
686 UILangFilePageSubCaption := CustomMessage('msg_language_subcaption');
687 UILangFilePageNone := CustomMessage('msg_language_none');
688 UILangFilePageJapanese := CustomMessage('msg_language_japanese');
689 UILangFilePageGerman := CustomMessage('msg_language_german');
690 UILangFilePageFrench := CustomMessage('msg_language_french');
691 UILangFilePageRussian := CustomMessage('msg_language_russian');
692 UILangFilePageKorean := CustomMessage('msg_language_korean');
693 UILangFilePageChinese := CustomMessage('msg_language_chinese');
694 UILangFilePageTChinese := CustomMessage('msg_language_tchinese');
695
696 UILangFilePage := CreateInputOptionPage(wpSelectComponents,
697 UILangFilePageCaption, UILangFilePageDescription,
698 UILangFilePageSubCaption, True, False);
699 UILangFilePage.Add(UILangFilePageNone);
700 UILangFilePage.Add(UILangFilePageJapanese);
701 UILangFilePage.Add(UILangFilePageGerman);
702 UILangFilePage.Add(UILangFilePageFrench);
703 UILangFilePage.Add(UILangFilePageRussian);
704 UILangFilePage.Add(UILangFilePageKorean);
705 UILangFilePage.Add(UILangFilePageChinese);
706 UILangFilePage.Add(UILangFilePageTChinese);
707 case ActiveLanguage of
708 'ja':
709 UILangFilePage.SelectedValueIndex := 1;
710 // �������������V�������]���������������A���{��������������
711 else
712 UILangFilePage.SelectedValueIndex := 0;
713 end;
714 end;
715
716 function NextButtonClick(CurPageID: Integer): Boolean;
717 var
718 uninstaller : String;
719 uninstaller2 : String;
720 ResultCode : Integer;
721 iniFile : String;
722 ErrMsg : String;
723 begin
724 Result := True;
725
726 case CurPageID of
727
728 wpWelcome:
729 begin
730
731 if RegQueryStringValue(HKEY_LOCAL_MACHINE,
732 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\UTF-8 TeraTerm Pro with TTSSH2_is1',
733 'UninstallString', uninstaller) then
734 begin
735 // UTF-8 TeraTerm Pro with TTSSH2 ���A���C���X�g�[������������������
736 if not RegKeyExists(HKEY_LOCAL_MACHINE,
737 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Tera Term_is1') then
738 begin
739 // Tera Term ���C���X�g�[���G���g����������������(��������������)
740 if MsgBox(CustomMessage('msg_uninstall_confirm'), mbInformation, MB_YESNO) = IDYES then
741 begin
742 // ���[�U���A���C���X�g�[�����I������
743
744 // ���[�� " ������
745 uninstaller2 := Copy(uninstaller, 2, Length(uninstaller) - 2);
746
747 if not Exec(uninstaller2, '', '', SW_SHOW,
748 ewWaitUntilTerminated, ResultCode) then
749 begin
750 // ���s�����s
751 MsgBox(SysErrorMessage(ResultCode), mbError, MB_OK);
752 end;
753 end;
754 end;
755 end;
756
757 end;
758
759 wpSelectDir:
760 begin
761
762 ErrMsg := CheckAppsUsing();
763 if Length(ErrMsg) > 0 then
764 begin
765 MsgBox(Format(CustomMessage('msg_AppRunningError'), [ErrMsg]), mbError, MB_OK);
766 Result := False;
767 end
768 else
769 // -1: goto next. Turn over to Inno Setup.
770 // 0: goto next. No problem.
771 // NOP
772 end;
773
774 wpSelectComponents:
775 begin
776
777 if FileExists(GetDefaultIniFileName()) then
778 begin
779 iniFile := Lowercase(GetIniString('Tera Term', 'UILanguageFile', '', GetDefaultIniFilename()));
780 if iniFile = 'lang\japanese.lng' then
781 UILangFilePage.SelectedValueIndex := 1
782 else if iniFile = 'lang\german.lng' then
783 UILangFilePage.SelectedValueIndex := 2
784 else if iniFile = 'lang\french.lng' then
785 UILangFilePage.SelectedValueIndex := 3
786 else if iniFile = 'lang\russian.lng' then
787 UILangFilePage.SelectedValueIndex := 4
788 else if iniFile = 'lang\korean.lng' then
789 UILangFilePage.SelectedValueIndex := 5
790 else if iniFile = 'lang\simplified chinese.lng' then
791 UILangFilePage.SelectedValueIndex := 6
792 else if iniFile = 'lang\traditional chinese.lng' then
793 UILangFilePage.SelectedValueIndex := 7
794 else
795 UILangFilePage.SelectedValueIndex := 0;
796 end;
797
798 end;
799 end;
800 end;
801
802 procedure CurStepChanged(CurStep: TSetupStep);
803 var
804 iniFile : String;
805 CygDir : String;
806 CygPath : String;
807 CygDll : String;
808 Cygterm : String;
809 Res : Integer;
810 Machine : Integer;
811 begin
812 case CurStep of
813 ssPostInstall:
814 begin
815 iniFile := GetDefaultIniFilename();
816 SetIniFile(iniFile);
817
818 if IsComponentSelected('cygterm') then
819 begin;
820 Cygterm := ExpandConstant('{app}') + '\cygterm.exe';
821 if not FileExists(Cygterm) then
822 begin;
823 CygDir := GetIniString('Tera Term', 'CygwinDirectory', 'C:\cygwin', iniFile);
824 SetLength(CygPath, 256);
825 Res := FindCygwinPath(CygDir, CygPath, 256);
826 If Res = 1 then
827 begin;
828 CygDll := Copy(CygPath, 1, Pos(#0, CygPath) - 1) + '\bin\cygwin1.dll';
829 Machine := PortableExecutableMachine(CygDll);
830 if Machine = IMAGE_FILE_MACHINE_AMD64 then
831 FileCopy(ExpandConstant('{app}') + '\cygterm+-x86_64\cygterm.exe', Cygterm, True)
832 else
833 FileCopy(ExpandConstant('{app}') + '\cygterm+-i686\cygterm.exe', Cygterm, True);
834 end;
835 end else begin
836 Machine := PortableExecutableMachine(Cygterm);
837 if Machine = IMAGE_FILE_MACHINE_AMD64 then
838 FileCopy(ExpandConstant('{app}') + '\cygterm+-x86_64\cygterm.exe', Cygterm, False)
839 else
840 FileCopy(ExpandConstant('{app}') + '\cygterm+-i686\cygterm.exe', Cygterm, False);
841 end;
842 end;
843
844 if not IsTaskSelected('cygtermhere') then
845 begin;
846 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\Folder\shell\cygterm');
847 RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, 'Folder\shell\cygterm');
848 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\Directory\Background\shell\cygterm');
849 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\LibraryFolder\Background\shell\cygterm');
850 end;
851
852 if not IsTaskSelected('macroassoc') then
853 begin;
854 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\.ttl');
855 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\TeraTerm.MacroFile');
856 RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, '.ttl');
857 RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, 'TeraTerm.MacroFile');
858 end;
859
860 if not IsTaskSelected('telnetassoc') then
861 begin;
862 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\telnet\shell\Open with Tera Term');
863 RegDeleteValue(HKEY_CURRENT_USER, 'Software\Classes\telnet\shell', '');
864 RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, 'telnet\shell\Open with Tera Term');
865 RegDeleteValue(HKEY_CLASSES_ROOT, 'telnet\shell', '');
866 end;
867
868 SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0);
869
870 end; // ssPostInstall
871 end; // case CurStep of
872 end; // CurStepChanged
873
874 procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
875 var
876 ini : array[0..5] of String;
877 buf : String;
878 conf : String;
879 confmsg : String;
880 app : String;
881 i, res : Integer;
882 silent : Boolean;
883 begin
884 case CurUninstallStep of
885 usPostUninstall:
886 begin
887 ini[0] := '\TERATERM.INI';
888 ini[1] := '\KEYBOARD.CNF';
889 ini[2] := '\lang\Default.lng';
890 ini[3] := '\ssh_known_hosts';
891 ini[4] := '\cygterm.cfg';
892 ini[5] := '\broadcast.log';
893
894 conf := CustomMessage('msg_del_confirm');
895 app := ExpandConstant('{app}');
896
897 silent := false;
898 for i := 0 to ParamCount() do
899 begin
900 if (CompareText('/SUPPRESSMSGBOXES', ParamStr(i)) = 0) then
901 silent := true;
902 end;
903
904 if not silent then begin
905
906 // delete config files
907 for i := 0 to 5 do
908 begin
909 buf := app + ini[i];
910 if FileExists(buf) then begin
911 confmsg := Format(conf, [buf]);
912 res := MsgBox(confmsg, mbInformation, MB_YESNO or MB_DEFBUTTON2);
913 if res = IDYES then
914 DeleteFile(buf);
915 end;
916 end;
917
918 // delete registory
919 if RegKeyExists(HKEY_CURRENT_USER, 'Software\ShinpeiTools\TTermMenu') then begin
920 confmsg := Format(conf, ['HKEY_CURRENT_USER' + '\Software\ShinpeiTools\TTermMenu']);
921 res := MsgBox(confmsg, mbInformation, MB_YESNO or MB_DEFBUTTON2);
922 if res = IDYES then begin
923 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\ShinpeiTools\TTermMenu');
924 RegDeleteKeyIfEmpty(HKEY_CURRENT_USER, 'Software\ShinpeiTools');
925 end;
926 end;
927
928 end;
929
930 SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0);
931
932 // directory is deleted only if empty
933 RemoveDir(app + '\lang');
934 RemoveDir(app);
935 end;
936 end;
937 end;
938
939 [InstallDelete]
940 Name: {app}\OpenSSH-LICENCE.txt; Type: files
941 Name: {app}\cygterm-README.txt; Type: files
942 Name: {app}\cygterm-README-j.txt; Type: files
943 Name: {app}\keycode.txt; Type: files
944 Name: {app}\keycodej.txt; Type: files
945 Name: {app}\RE.txt; Type: files
946 Name: {app}\RE-ja.txt; Type: files
947 Name: {app}\ssh2_readme.txt; Type: files
948 Name: {app}\ssh2_readme-j.txt; Type: files
949 Name: {app}\utf8_readme.txt; Type: files
950 Name: {app}\utf8_readme-j.txt; Type: files
951 Name: {app}\OpenSSH-LICENSE.txt; Type: files
952 Name: {app}\OpenSSL-LICENSE.txt; Type: files
953 Name: {group}\TeraTerm Document.lnk; Type: files
954 Name: {group}\TeraTerm Document(Japanese).lnk; Type: files
955 Name: {group}\TTSSH Document.lnk; Type: files
956 Name: {group}\TTSSH Document(Japanese).lnk; Type: files
957 Name: {app}\LogMeTT.hlp; Type: files
958 Name: {app}\macro.hlp; Type: files
959 Name: {app}\macroj.hlp; Type: files
960 Name: {app}\ttermp.hlp; Type: files
961 Name: {app}\ttermpj.hlp; Type: files
962 Name: {app}\copyfont.bat; Type: files
963 Name: {app}\copyfont.pif; Type: files
964 Name: {app}\libeay.txt; Type: files
965 Name: {app}\cygterm+-x86_64\cyglaunch.exe; Type: files
966
967 [UninstallDelete]
968 Name: {app}\cygterm.exe; Type: files

Properties

Name Value
svn:executable *

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26