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

Subversion リポジトリの参照

Contents of /trunk/installer/teraterm.iss

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9516 - (show annotations) (download)
Wed Nov 10 13:01:23 2021 UTC (2 years, 6 months ago) by zmatsuo
File size: 52874 byte(s)
cygwin/ を作成、cygterm/, cygtool/ を移動, cyglaunch/ 追加

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