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

Subversion リポジトリの参照

Contents of /trunk/installer/teraterm.iss

Parent Directory Parent Directory | Revision Log Revision Log


Revision 11006 - (show annotations) (download)
Sun Oct 15 13:01:00 2023 UTC (6 months, 2 weeks ago) by nmaya
File size: 42576 byte(s)
unfrozen
1 #define AppName "Tera Term"
2 #ifndef AppVer
3 #define AppVer "5.1-dev"
4 #endif
5 ;#define VerSubStr
6 ;#define OutputSubStr
7
8 [InnoIDE_PreCompile]
9 Name: makechm.bat
10 Name: build.bat
11 ;Name: build.bat; Parameters: rebuild
12
13 [InnoIDE_PostCompile]
14 ;Name: makearchive.bat; Parameters: release
15
16 [PreCompile]
17 Name: makechm.bat
18 Name: build.bat
19 ;Name: build.bat; Parameters: rebuild
20
21 [PostCompile]
22 ;Name: makearchive.bat; Parameters: release
23
24 [_ISToolPreCompile]
25 Name: makechm.bat
26 Name: build.bat
27 ;Name: build.bat; Parameters: rebuild
28
29 [_ISToolPostCompile]
30 ;Name: makearchive.bat; Parameters: release
31
32 [Setup]
33 AppCopyright=(C) 2004-2023 TeraTerm Project
34 AppPublisher=TeraTerm Project
35 AppPublisherURL=https://ttssh2.osdn.jp/
36 AppSupportURL=https://ttssh2.osdn.jp/
37 AppId={{07A7E17A-F6D6-44A7-82E6-6BEE528CCA2A}
38 AppName={#AppName}
39 #ifndef VerSubStr
40 AppVersion={#AppVer}
41 #else
42 AppVersion={#AppVer} {#VerSubStr}
43 #endif
44 LicenseFile=release\license.txt
45 DefaultDirName={commonpf}\teraterm5
46 DefaultGroupName={#AppName} 5
47 ShowLanguageDialog=yes
48 AllowNoIcons=true
49 UninstallDisplayIcon={app}\ttermpro.exe
50 #ifndef OutputSubStr
51 OutputBaseFilename=teraterm-{#AppVer}
52 #else
53 OutputBaseFilename=teraterm-{#AppVer}-{#OutputSubStr}
54 #endif
55 PrivilegesRequired=none
56 SolidCompression=yes
57 Compression=lzma2/ultra64
58
59 [Languages]
60 Name: en; MessagesFile: compiler:Default.isl
61 Name: ja; MessagesFile: compiler:Languages\Japanese.isl
62
63 [Dirs]
64 Name: {app}\theme; Components: TeraTerm
65 Name: {app}\theme\scale; Components: TeraTerm
66 Name: {app}\theme\tile; Components: TeraTerm
67 Name: {app}\plugin; Components: TeraTerm
68 Name: {app}\lang; Components: TeraTerm
69 Name: {app}\lang_utf16le; Components: TeraTerm
70
71 [Files]
72 Source: ..\teraterm\release\ttermpro.exe; DestDir: {app}; Components: TeraTerm; Flags: ignoreversion
73 Source: ..\teraterm\release\ttpcmn.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
76 Source: release\TSPECIAL1.TTF; DestDir: {commonfonts}; 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\IBMKEYB.CNF; DestDir: {app}; Components: TeraTerm
82 Source: release\IBMKEYB.CNF; DestDir: {app}; Components: TeraTerm; DestName: KEYBOARD.CNF
83 Source: release\VT200.CNF; DestDir: {app}; Components: TeraTerm
84 Source: ..\teraterm\release\keycode.exe; DestDir: {app}; Components: TeraTerm; Flags: ignoreversion
85 Source: ..\teraterm\release\ttpmacro.exe; DestDir: {app}; Components: TeraTerm; Flags: ignoreversion
86 Source: release\delpassw.ttl; DestDir: {app}; Components: TeraTerm
87 Source: release\dialup.ttl; DestDir: {app}; Components: TeraTerm
88 Source: release\login.ttl; DestDir: {app}; Components: TeraTerm
89 Source: release\mpause.ttl; DestDir: {app}; Components: TeraTerm
90 Source: release\random.ttl; DestDir: {app}; Components: TeraTerm
91 Source: release\screencapture.ttl; DestDir: {app}; Components: TeraTerm
92 Source: release\ssh2login.ttl; DestDir: {app}; Components: TeraTerm
93 Source: release\wait_regex.ttl; DestDir: {app}; Components: TeraTerm
94 Source: release\lang\Default.lng; DestDir: {app}\lang; Components: TeraTerm; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify
95 Source: release\lang\Japanese.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
96 Source: release\lang\German.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
97 Source: release\lang\French.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
98 Source: release\lang\Russian.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
99 Source: release\lang\Korean.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
100 Source: release\lang\Simplified Chinese.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
101 Source: release\lang\Spanish.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: release\lang_utf16le\Default.lng; DestDir: {app}\lang_utf16le; Components: TeraTerm; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify
104 Source: release\lang_utf16le\Japanese.lng; DestDir: {app}\lang_utf16le; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
105 Source: release\lang_utf16le\German.lng; DestDir: {app}\lang_utf16le; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
106 Source: release\lang_utf16le\French.lng; DestDir: {app}\lang_utf16le; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
107 Source: release\lang_utf16le\Russian.lng; DestDir: {app}\lang_utf16le; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
108 Source: release\lang_utf16le\Korean.lng; DestDir: {app}\lang_utf16le; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
109 Source: release\lang_utf16le\Simplified Chinese.lng; DestDir: {app}\lang_utf16le; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
110 Source: release\lang_utf16le\Spanish.lng; DestDir: {app}\lang_utf16le; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
111 Source: release\lang_utf16le\Traditional Chinese.lng; DestDir: {app}\lang_utf16le; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
112 Source: ..\ttssh2\ttxssh\Release\ttxssh.dll; DestDir: {app}; Components: TTSSH; Flags: ignoreversion
113 Source: release\ssh_known_hosts; DestDir: {app}; Components: TTSSH
114 Source: ..\cygwin\cygterm\cygterm.cfg; DestDir: {app}; Components: cygterm
115 Source: ..\cygwin\cygterm\cygterm+.tar.gz; DestDir: {app}; Components: cygterm
116 Source: ..\cygwin\cygterm\cygterm+-x86_64\cygterm.exe; DestDir: {app}; Components: cygterm
117 Source: ..\cygwin\Release\cyglaunch.exe; DestDir: {app}; Components: cygterm
118 Source: ..\ttpmenu\Release\ttpmenu.exe; DestDir: {app}; Components: TeraTerm_Menu; Flags: ignoreversion
119 Source: release\ttmenu_readme-j.txt; DestDir: {app}; Components: TeraTerm_Menu
120 Source: ..\TTProxy\Release\TTXProxy.dll; DestDir: {app}; Components: TTProxy; Flags: ignoreversion
121 Source: release\theme\Advanced.sample; DestDir: {app}\theme\; Components: TeraTerm
122 Source: release\theme\ImageFile.INI; DestDir: {app}\theme\; Components: TeraTerm
123 Source: release\theme\Scale.INI; DestDir: {app}\theme\; Components: TeraTerm
124 Source: release\theme\Tile.INI; DestDir: {app}\theme\; Components: TeraTerm
125 Source: release\theme\scale\23.jpg; DestDir: {app}\theme\scale; Components: TeraTerm
126 Source: release\theme\scale\43.jpg; DestDir: {app}\theme\scale; Components: TeraTerm
127 Source: release\theme\tile\03.jpg; DestDir: {app}\theme\tile; Components: TeraTerm
128 Source: release\theme\tile\44.jpg; DestDir: {app}\theme\tile; Components: TeraTerm
129 Source: ..\TTXKanjiMenu\release\ttxkanjimenu.dll; DestDir: {app}\; Components: Additional_Plugins/TTXKanjiMenu; Flags: ignoreversion
130 Source: ..\TTXSamples\release\TTXResizeMenu.dll; DestDir: {app}\; Components: Additional_Plugins/TTXResizeMenu; Flags: ignoreversion
131 Source: ..\TTXSamples\release\TTXttyrec.dll; DestDir: {app}\; Components: Additional_Plugins/TTXttyrec; Flags: ignoreversion
132 Source: ..\TTXSamples\release\TTXttyplay.dll; DestDir: {app}\; Components: Additional_Plugins/TTXttyrec; Flags: ignoreversion
133 Source: ..\TTXSamples\release\TTXKcodeChange.dll; DestDir: {app}\; Components: Additional_Plugins/TTXKcodeChange; Flags: ignoreversion
134 Source: ..\TTXSamples\release\TTXViewMode.dll; DestDir: {app}\; Components: Additional_Plugins/TTXViewMode; Flags: ignoreversion
135 Source: ..\TTXSamples\release\TTXAlwaysOnTop.dll; DestDir: {app}\; Components: Additional_Plugins/TTXAlwaysOnTop; Flags: ignoreversion
136 Source: ..\TTXSamples\release\TTXRecurringCommand.dll; DestDir: {app}\; Components: Additional_Plugins/TTXRecurringCommand; Flags: ignoreversion
137
138 [Types]
139 Name: standard; Description: {cm:type_standard}
140 Name: full; Description: {cm:type_full}
141 Name: compact; Description: {cm:type_compact}
142 Name: custom; Description: {cm:type_custom}; Flags: iscustom
143
144 [Components]
145 Name: TeraTerm; Description: Tera Term & Macro; Flags: fixed; Types: custom compact full standard
146 Name: TTSSH; Description: TTSSH; Types: compact full standard
147 Name: cygterm; Description: CygTerm+; Types: full standard; Check: isExecutableCygtermX64
148 Name: TeraTerm_Menu; Description: TeraTerm Menu; Types: full
149 Name: TTProxy; Description: TTProxy; Types: full standard
150 Name: Additional_Plugins; Description: {cm:comp_TTX}
151 Name: Additional_Plugins/TTXResizeMenu; Description: TTXResizeMenu ({cm:comp_TTXResizeMenu}); Types: full standard
152 Name: Additional_Plugins/TTXttyrec; Description: TTXttyrec ({cm:comp_TTXttyrec}); Types: full standard
153 Name: Additional_Plugins/TTXKanjiMenu; Description: TTXKanjiMenu ({cm:comp_TTXKanjiMenu}); Languages: en
154 Name: Additional_Plugins/TTXKanjiMenu; Description: TTXKanjiMenu ({cm:comp_TTXKanjiMenu}); Types: full; Languages: ja
155 Name: Additional_Plugins/TTXKcodeChange; Description: TTXKcodeChange ({cm:comp_TTXKcodeChange}); Languages: en
156 Name: Additional_Plugins/TTXKcodeChange; Description: TTXKcodeChange ({cm:comp_TTXKcodeChange}); Types: full; Languages: ja
157 Name: Additional_Plugins/TTXViewMode; Description: TTXViewMode ({cm:comp_TTXViewMode}); Types: full
158 Name: Additional_Plugins/TTXAlwaysOnTop; Description: TTXAlwaysOnTop ({cm:comp_TTXAlwaysOnTop}); Types: full
159 Name: Additional_Plugins/TTXRecurringCommand; Description: TTXRecurringCommand ({cm:comp_TTXRecurringCommand}); Types: full
160
161 [Icons]
162 Name: {group}\Tera Term; Filename: {app}\ttermpro.exe; WorkingDir: {app}; IconFilename: {app}\ttermpro.exe; IconIndex: 0; Components: TeraTerm; Flags: createonlyiffileexists
163 Name: {group}\{cm:UninstallProgram,{#AppName}}; Filename: {uninstallexe}; Components: TeraTerm; Flags: createonlyiffileexists
164 Name: {group}\cyglaunch; Filename: {app}\cyglaunch.exe; WorkingDir: {app}; IconFilename: {app}\cyglaunch.exe; IconIndex: 0; Components: cygterm; Flags: createonlyiffileexists
165 Name: {group}\TeraTerm Menu; Filename: {app}\ttpmenu.exe; WorkingDir: {app}; IconFilename: {app}\ttpmenu.exe; IconIndex: 0; Components: TeraTerm_Menu; Flags: createonlyiffileexists
166 Name: {userdesktop}\Tera Term 5; Filename: {app}\ttermpro.exe; WorkingDir: {app}; IconFilename: {app}\ttermpro.exe; Components: TeraTerm; Tasks: desktopicon; IconIndex: 0; Flags: createonlyiffileexists
167 Name: {userstartup}\TeraTerm Menu; Filename: {app}\ttpmenu.exe; WorkingDir: {app}; IconFilename: {app}\ttpmenu.exe; Components: TeraTerm_Menu; IconIndex: 0; Tasks: startupttmenuicon; Flags: createonlyiffileexists
168
169 [Registry]
170 ; Cygterm Here
171 Root: HKCU; Subkey: Software\Classes\Folder\shell\cygterm; ValueType: string; ValueData: Cy&gterm Here; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere
172 Root: HKCU; Subkey: Software\Classes\Folder\shell\cygterm; ValueType: string; ValueName: Icon; ValueData: """{app}\cyglaunch.exe"""; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere
173 Root: HKCU; Subkey: Software\Classes\Folder\shell\cygterm\command; ValueType: string; ValueData: """{app}\cyglaunch.exe"" -nocd -v CHERE_INVOKING=y -d ""\""%L\"""""; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere
174 ; Cygterm Here from folder Background
175 Root: HKCU; Subkey: Software\Classes\Directory\Background\shell\cygterm; ValueType: string; ValueData: Cy&gterm Here; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere
176 Root: HKCU; Subkey: Software\Classes\Directory\Background\shell\cygterm; ValueType: string; ValueName: Icon; ValueData: """{app}\cyglaunch.exe"""; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere
177 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
178 Root: HKCU; Subkey: Software\Classes\LibraryFolder\Background\shell\cygterm; ValueType: string; ValueData: Cy&gterm Here; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere
179 Root: HKCU; Subkey: Software\Classes\LibraryFolder\Background\shell\cygterm; ValueType: string; ValueName: Icon; ValueData: """{app}\cyglaunch.exe"""; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere
180 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
181 ; Associate with .TTL
182 Root: HKCU; Subkey: Software\Classes\.ttl; ValueType: string; ValueData: TeraTerm.MacroFile; Flags: uninsdeletekey; Components: TeraTerm; Tasks: macroassoc
183 Root: HKCU; Subkey: Software\Classes\TeraTerm.MacroFile; ValueType: string; ValueData: Tera Term Macro File; Flags: uninsdeletekey; Components: TeraTerm; Tasks: macroassoc
184 Root: HKCU; Subkey: Software\Classes\TeraTerm.MacroFile\DefaultIcon; ValueType: string; ValueData: {app}\ttpmacro.exe,3; Flags: uninsdeletekey; Components: TeraTerm; Tasks: macroassoc
185 Root: HKCU; Subkey: Software\Classes\TeraTerm.MacroFile\shell\open\command; ValueType: string; ValueData: """{app}\ttpmacro.exe"" ""%1"""; Flags: uninsdeletekey; Components: TeraTerm; Tasks: macroassoc
186 ; Associate with telnet://
187 Root: HKCU; Subkey: Software\Classes\telnet\shell; ValueType: string; ValueData: Open with Tera Term; Flags: uninsclearvalue; Components: TeraTerm; Tasks: telnetassoc
188 Root: HKCU; Subkey: Software\Classes\telnet\shell\Open with Tera Term\command; ValueType: string; ValueData: """{app}\ttermpro.exe"" /T=1 /nossh %1"; Flags: uninsdeletekey; Components: TeraTerm; Tasks: telnetassoc
189 ; Associate with ssh://
190 Root: HKCU; Subkey: Software\Classes\ssh; ValueType: string; ValueData: URL: SSH Protocol; Flags: uninsdeletekey; Components: TTSSH; Tasks: sshassoc
191 Root: HKCU; Subkey: Software\Classes\ssh; ValueName: URL Protocol; ValueType: string; Flags: uninsdeletekey; Components: TTSSH; Tasks: sshassoc
192 Root: HKCU; Subkey: Software\Classes\ssh; ValueName: EditFlags; ValueType: dword; ValueData: 2; Flags: uninsdeletekey; Components: TTSSH; Tasks: sshassoc
193 Root: HKCU; Subkey: Software\Classes\ssh\DefaultIcon; ValueType: string; ValueData: """{app}\ttxssh.dll"",0"; Flags: uninsdeletekey; Components: TTSSH; Tasks: sshassoc
194 Root: HKCU; Subkey: Software\Classes\ssh\shell\open\command; ValueType: string; ValueData: """{app}\ttermpro.exe"" %1"; Flags: uninsdeletekey; Components: TTSSH; Tasks: sshassoc
195 ; Associate with slogin://
196 Root: HKCU; Subkey: Software\Classes\slogin; ValueType: string; ValueData: URL: slogin Protocol; Flags: uninsdeletekey; Components: TTSSH; Tasks: sshassoc
197 Root: HKCU; Subkey: Software\Classes\slogin; ValueName: URL Protocol; ValueType: string; Flags: uninsdeletekey; Components: TTSSH; Tasks: sshassoc
198 Root: HKCU; Subkey: Software\Classes\slogin; ValueName: EditFlags; ValueType: dword; ValueData: 2; Flags: uninsdeletekey; Components: TTSSH; Tasks: sshassoc
199 Root: HKCU; Subkey: Software\Classes\slogin\DefaultIcon; ValueType: string; ValueData: """{app}\ttxssh.dll"",0"; Flags: uninsdeletekey; Components: TTSSH; Tasks: sshassoc
200 Root: HKCU; Subkey: Software\Classes\slogin\shell\open\command; ValueType: string; ValueData: """{app}\ttermpro.exe"" %1"; Flags: uninsdeletekey; Components: TTSSH; Tasks: sshassoc
201 ; Associate with .TTY
202 Root: HKCU; Subkey: Software\Classes\.tty; ValueType: string; ValueData: TTYRecordFile; Flags: uninsdeletekey; Components: Additional_Plugins/TTXttyrec; Tasks: ttyplayassoc
203 Root: HKCU; Subkey: Software\Classes\TTYRecordFile; ValueType: string; ValueData: TTY Record File; Flags: uninsdeletekey; Components: Additional_Plugins/TTXttyrec; Tasks: ttyplayassoc
204 Root: HKCU; Subkey: Software\Classes\TTYRecordFile\DefaultIcon; ValueType: string; ValueData: {app}\ttermpro.exe,0; Flags: uninsdeletekey; Components: Additional_Plugins/TTXttyrec; Tasks: ttyplayassoc
205 Root: HKCU; Subkey: Software\Classes\TTYRecordFile\shell\open\command; ValueType: string; ValueData: """{app}\ttermpro.exe"" /R=""%1"" /TTYPLAY"; Flags: uninsdeletekey; Components: Additional_Plugins/TTXttyrec; Tasks: ttyplayassoc
206
207 [Tasks]
208 Name: desktopicon; Description: {cm:task_desktopicon}; Components: TeraTerm
209 Name: startupttmenuicon; Description: {cm:task_startupttmenuicon}; Components: TeraTerm_Menu
210 Name: cygtermhere; Description: {cm:task_cygtermhere}; Components: cygterm; Flags: unchecked
211 Name: macroassoc; Description: {cm:task_macroassoc}; Components: TeraTerm; Flags: unchecked
212 Name: telnetassoc; Description: {cm:task_telnetassoc}; Components: TeraTerm; Flags: unchecked
213 Name: sshassoc; Description: {cm:task_sshassoc}; Components: TTSSH; Flags: unchecked
214 Name: ttyplayassoc; Description: {cm:task_ttyplayassoc}; Components: Additional_Plugins/TTXttyrec; Flags: unchecked
215
216 [Run]
217 Filename: {app}\ttermpro.exe; Flags: nowait postinstall skipifsilent unchecked; Description: {cm:launch_teraterm}; Components: TeraTerm
218 Filename: {app}\ttpmenu.exe; Flags: nowait postinstall skipifsilent unchecked; Description: {cm:launch_ttmenu}; Components: TeraTerm_Menu
219
220 [CustomMessages]
221 en.task_desktopicon=Create Tera Term shortcut to &Desktop
222 en.task_startupttmenuicon=Create TeraTerm &Menu shortcut to Startup
223 en.task_cygtermhere=Add "Cy&gterm Here" to Context menu
224 en.task_macroassoc=Associate .&ttl file to ttpmacro.exe
225 en.task_telnetassoc=Associate t&elnet protocol to ttermpro.exe
226 en.task_sshassoc=Associate &ssh protocol to ttermpro.exe
227 en.task_ttyplayassoc=Associate .tty file to tterm&pro.exe
228 ja.task_desktopicon=デスクトップに Tera Term のショートカットを作る(&D)
229 ja.task_startupttmenuicon=スタートアップに TeraTerm &Menu のショートカットを作る
230 ja.task_cygtermhere=コンテキストメニューに "Cy&gterm Here" を追加する
231 ja.task_macroassoc=.&ttl ファイルを ttpmacro.exe に関連付ける
232 ja.task_telnetassoc=t&elnet プロトコルを ttermpro.exe に関連付ける
233 ja.task_sshassoc=&ssh プロトコルを ttermpro.exe に関連付ける
234 ja.task_ttyplayassoc=.tty ファイルを tterm&pro.exe に関連付ける
235 en.type_standard=Standard installation
236 en.type_full=Full installation
237 en.type_compact=Compact installation
238 en.type_custom=Custom installation
239 ja.type_standard=標準インストール
240 ja.type_full=フルインストール
241 ja.type_compact=コンパクトインストール
242 ja.type_custom=カスタムインストール
243 en.launch_teraterm=Launch &Tera Term
244 en.launch_ttmenu=Launch TeraTerm &Menu
245 ja.launch_teraterm=今すぐ &Tera Term を実行する
246 ja.launch_ttmenu=今すぐ TeraTerm &Menu を実行する
247 en.msg_language_caption=Select Language
248 en.msg_language_description=Which language shoud be used?
249 en.msg_language_subcaption=Select the language of application's menu and dialog, then click Next.
250 en.msg_language_none=&English
251 en.msg_language_japanese=&Japanese
252 en.msg_language_german=&German
253 en.msg_language_french=&French
254 en.msg_language_russian=&Russian
255 en.msg_language_korean=&Korean
256 en.msg_language_chinese=&Chinese(Simplified)
257 en.msg_language_tchinese=Chinese(&Traditional)
258 en.msg_language_spanish=&Spanish:
259 ja.msg_language_caption=言語の選択
260 ja.msg_language_description=ユーザーインターフェースの言語を選択してください。
261 ja.msg_language_subcaption=アプリケーションのメニューやダイアログ等の表示言語を選択して、「次へ」をクリックしてください。
262 ja.msg_language_none=英語(&E)
263 ja.msg_language_japanese=日本語(&J)
264 ja.msg_language_german=ドイツ語(&G)
265 ja.msg_language_french=フランス語(&F)
266 ja.msg_language_russian=ロシア語(&R)
267 ja.msg_language_korean=韓国語(&K)
268 ja.msg_language_chinese=簡体字中国語(&C)
269 ja.msg_language_tchinese=繁体字中国語(&T)
270 ja.msg_language_spanish=スペイン語(&S):
271 en.msg_del_confirm=Are you sure that you want to delete %s ?
272 ja.msg_del_confirm=%s を削除しますか?
273 en.msg_uninstall_confirm=It seems a former version is installed. You are recommended to uninstall it previously. Do you uninstall former version ?
274 ja.msg_uninstall_confirm=以前のバージョンがインストールされているようです。先にアンインストールすることをお勧めします。アンインストールしますか?
275 en.comp_TTX=Additional Plugins
276 ja.comp_TTX=追加プラグイン
277 en.comp_TTXResizeMenu=VT-Window size can be changed from preset
278 ja.comp_TTXResizeMenu=VTウィンドウのサイズをプリセット値の中から変更できるようにする
279 en.comp_TTXttyrec=ttyrec format record data can be recorded or playback
280 ja.comp_TTXttyrec=ttyrec形式の録画データを記録/再生できるようにする
281 en.comp_TTXKanjiMenu=Changes Japanese Kanji Code from VT-Window menu
282 ja.comp_TTXKanjiMenu=日本語の漢字コードをVTウィンドウのメニューから設定できるようにする
283 en.comp_TTXKcodeChange=Change Japanese Kanji code by remote sequence
284 ja.comp_TTXKcodeChange=リモートからのシーケンスで日本語の漢字コードを変更する
285 en.comp_TTXViewMode=View-only mode can be used
286 ja.comp_TTXViewMode=表示専用モードにすることができる
287 en.comp_TTXAlwaysOnTop=Always On Top can be used
288 ja.comp_TTXAlwaysOnTop=常に最前面に表示できるようにする
289 en.comp_TTXRecurringCommand=Recurring Command can be used
290 ja.comp_TTXRecurringCommand=定期的に文字列を送信する
291 en.comp_installer=Other installer is started
292 ja.comp_installer=インストーラが起動します
293 en.msg_AppRunningError=Setup has detected that %s is currently running.%n%nPlease close all instances of it now, then click Next to continue.
294 ja.msg_AppRunningError=セットアップは実行中の %s を検出しました。%n%n開いているアプリケーションをすべて閉じてから「次へ」をクリックしてください。
295
296 [Code]
297 const
298 SHCNF_IDLIST = $0000;
299 SHCNE_ASSOCCHANGED = $08000000;
300 IMAGE_FILE_MACHINE_UNKNOWN = $0000;
301 IMAGE_FILE_MACHINE_I386 = $014c;
302 IMAGE_FILE_MACHINE_AMD64 = $8664;
303
304 procedure SHChangeNotify(wEventId, uFlags, dwItem1, dwItem2: Integer);
305 external 'SHChangeNotify@shell32.dll stdcall';
306
307 var
308 UILangFilePage: TInputOptionWizardPage;
309
310
311 // Windows 11 or later
312 function isWin11OrLater : Boolean;
313 var
314 Version: TWindowsVersion;
315 begin;
316 GetWindowsVersionEx(Version);
317 if (Version.Major >= 10) and (Version.Build >= 22000) then
318 Result := True
319 else
320 Result := False;
321 end;
322
323 // Cygterm x86_64 is executable
324 function isExecutableCygtermX64 : Boolean;
325 begin
326 if ProcessorArchitecture = paX64 then
327 Result := True
328 else if ProcessorArchitecture = paARM64 then
329 // x86_64 binary is executable on ARM64 by WoW64
330 if isWin11OrLater then
331 Result := True
332 else
333 Result := False
334 else
335 Result := False;
336 end;
337
338 // Admins or PowerUsers
339 function isAbleToInstallFont : Boolean;
340 begin;
341 if IsAdmin() then begin
342 Result := True;
343 end else begin
344 Result := False
345 end;
346 end;
347
348 {
349 // If value is not found in INI, returns ""
350 function GetIniString2(Section:String; Key:String; Filename:String) : String;
351 var
352 Default1: String;
353 Default2: String;
354 Value1: String;
355 Value2: String;
356 begin
357 Default1 := 'on';
358 Default2 := 'off';
359 Value1 := GetIniString(Section, Key, Default1, Filename);
360 Value2 := GetIniString(Section, Key, Default2, Filename);
361
362 if Value1 <> Value2 then
363 // no value in INI
364 Result := ''
365 else
366 // value in INI
367 Result := Value1
368 end;
369 }
370
371 function CheckFileUsing(Filename:String) : integer;
372 var
373 TmpFileName : String;
374 begin
375 if FileExists(FileName) then
376 begin
377 TmpFileName := FileName + '.' + GetDateTimeString('yyyymmddhhnnss', #0, #0); // Tmp file ends with timestamp
378 if FileCopy(FileName, TmpFileName, True) then
379 if DeleteFile(FileName) then
380 if RenameFile(TmpFileName, FileName) then
381 Result := 0
382 else
383 Result := -1 // permission?
384 else
385 begin
386 Result := 1; // failed to delete
387 DeleteFile(TmpFileName);
388 end
389 else
390 Result := -1 // permission?
391 end
392 else
393 Result := 0;
394 end;
395
396 function CheckAppsUsing() : string;
397 var
398 FileDir : String;
399 FileName : array[0..6] of String;
400 FileDesc : array[0..6] of String;
401 i : integer;
402 begin
403 FileDir := ExpandConstant('{app}');
404 FileName[0] := FileDir + '\ttermpro.exe';
405 FileName[1] := FileDir + '\ttpmacro.exe';
406 FileName[2] := FileDir + '\keycode.exe';
407 FileName[3] := FileDir + '\ttpmenu.exe';
408 FileName[4] := FileDir + '\cygterm.exe';
409 FileDesc[0] := 'Tera Term';
410 FileDesc[1] := 'Tera Term Macro';
411 FileDesc[2] := 'Keycode';
412 FileDesc[3] := 'TeraTerm Menu';
413 FileDesc[4] := 'CygTerm+';
414
415 for i := 0 to 4 do
416 begin
417 case CheckFileUsing(FileName[i]) of
418 1:
419 // Failed to delete. In use.
420 begin
421 if Length(Result) > 0 then
422 Result := Result + ', ' + FileDesc[i]
423 else
424 Result := FileDesc[i]
425 end;
426 else
427 // -1: Failed to copy/rename
428 // 0: OK
429 // NOP
430 end;
431 end;
432
433 end;
434
435 function GetDefaultIniFilename : String;
436 begin
437 Result := ExpandConstant('{app}') + '\TERATERM.INI';
438 end;
439
440 procedure SetIniFile(iniFile: String);
441 var
442 Language : String;
443 VTFont : String;
444 TEKFont : String;
445 TCPPort : integer;
446 ViewlogEditor : String;
447 CipherOrder : String;
448
449 begin
450 Language := GetIniString('Tera Term', 'Language', '', iniFile);
451 VTFont := GetIniString('Tera Term', 'VTFont', '', iniFile);
452 TEKFont := GetIniString('Tera Term', 'TEKFont', '', iniFile);
453 TCPPort := GetIniInt('Tera Term', 'TCPPort', 0, 0, 65535, iniFile)
454 ViewlogEditor := GetIniString('Tera Term', 'ViewlogEditor', '', iniFile);
455 CipherOrder := GetIniString('TTSSH', 'CipherOrder', '', iniFile);
456
457 case GetUILanguage and $3FF of
458 $04: // Chinese
459 begin
460 if Length(Language) = 0 then
461 SetIniString('Tera Term', 'Language', 'UTF-8', iniFile);
462 if Length(VTFont) = 0 then
463 SetIniString('Tera Term', 'VTFont', 'Terminal,0,-12,255', iniFile);
464 if Length(TEKFont) = 0 then
465 SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,255', iniFile);
466 SetIniString('Tera Term', 'UnicodeAmbiguousWidth', '2', iniFile);
467 SetIniString('Tera Term', 'UnicodeEmojiOverride', 'on', iniFile);
468 SetIniString('Tera Term', 'UnicodeEmojiWidth', '2', iniFile);
469 end;
470 $11: // Japanese
471 begin
472 if Length(Language) = 0 then
473 SetIniString('Tera Term', 'Language', 'Japanese', iniFile);
474 if Length(VTFont) = 0 then
475 SetIniString('Tera Term', 'VTFont', 'MS ゴシック,0,-16,128', iniFile);
476 if Length(TEKFont) = 0 then
477 SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,128', iniFile);
478 SetIniString('Tera Term', 'UnicodeAmbiguousWidth', '2', iniFile);
479 SetIniString('Tera Term', 'UnicodeEmojiOverride', 'on', iniFile);
480 SetIniString('Tera Term', 'UnicodeEmojiWidth', '2', iniFile);
481 end;
482 $12: // Korean
483 begin
484 if Length(Language) = 0 then
485 SetIniString('Tera Term', 'Language', 'Korean', iniFile);
486 if Length(VTFont) = 0 then
487 SetIniString('Tera Term', 'VTFont', 'Terminal,0,-12,255', iniFile);
488 if Length(TEKFont) = 0 then
489 SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,255', iniFile);
490 SetIniString('Tera Term', 'UnicodeAmbiguousWidth', '2', iniFile);
491 SetIniString('Tera Term', 'UnicodeEmojiOverride', 'on', iniFile);
492 SetIniString('Tera Term', 'UnicodeEmojiWidth', '2', iniFile);
493 end;
494 $19: // Russian
495 begin
496 if Length(Language) = 0 then
497 SetIniString('Tera Term', 'Language', 'Russian', iniFile);
498 if Length(VTFont) = 0 then
499 SetIniString('Tera Term', 'VTFont', 'Terminal,0,-12,255', iniFile);
500 if Length(TEKFont) = 0 then
501 SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,255', iniFile);
502 SetIniString('Tera Term', 'UnicodeAmbiguousWidth', '1', iniFile);
503 SetIniString('Tera Term', 'UnicodeEmojiOverride', 'off', iniFile);
504 SetIniString('Tera Term', 'UnicodeEmojiWidth', '1', iniFile);
505 end;
506 else // Other
507 begin
508
509 if GetUILanguage = $409 then begin // en-US
510
511 if Length(Language) = 0 then
512 SetIniString('Tera Term', 'Language', 'UTF-8', iniFile);
513
514 end else begin // Other
515
516 if Length(Language) = 0 then
517 SetIniString('Tera Term', 'Language', 'English', iniFile);
518
519 end;
520
521 if Length(VTFont) = 0 then
522 SetIniString('Tera Term', 'VTFont', 'Terminal,0,-12,255', iniFile);
523 if Length(TEKFont) = 0 then
524 SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,255', iniFile);
525 SetIniString('Tera Term', 'UnicodeAmbiguousWidth', '1', iniFile);
526 SetIniString('Tera Term', 'UnicodeEmojiOverride', 'off', iniFile);
527 SetIniString('Tera Term', 'UnicodeEmojiWidth', '1', iniFile);
528 end;
529 end;
530
531 case UILangFilePage.SelectedValueIndex of
532 1:
533 SetIniString('Tera Term', 'UILanguageFile', 'lang_utf16le\Japanese.lng', iniFile);
534 2:
535 SetIniString('Tera Term', 'UILanguageFile', 'lang_utf16le\German.lng', iniFile);
536 3:
537 SetIniString('Tera Term', 'UILanguageFile', 'lang_utf16le\French.lng', iniFile);
538 4:
539 SetIniString('Tera Term', 'UILanguageFile', 'lang_utf16le\Russian.lng', iniFile);
540 5:
541 SetIniString('Tera Term', 'UILanguageFile', 'lang_utf16le\Korean.lng', iniFile);
542 6:
543 SetIniString('Tera Term', 'UILanguageFile', 'lang_utf16le\Simplified Chinese.lng', iniFile);
544 7:
545 SetIniString('Tera Term', 'UILanguageFile', 'lang_utf16le\Traditional Chinese.lng', iniFile);
546 8:
547 SetIniString('Tera Term', 'UILanguageFile', 'lang_utf16le\Spanish.lng', iniFile);
548 else
549 SetIniString('Tera Term', 'UILanguageFile', 'lang_utf16le\Default.lng', iniFile);
550 end;
551
552 if TCPPort = 0 then begin
553 if WizardIsComponentSelected('TTSSH') then
554 SetIniInt('Tera Term', 'TCPPort', 22, iniFile)
555 else
556 SetIniInt('Tera Term', 'TCPPort', 23, iniFile);
557 end;
558
559 if ViewlogEditor = 'notepad.exe' then begin
560 ViewlogEditor := ExpandConstant('{win}') + '\' + 'notepad.exe';
561 SetIniString('Tera Term', 'ViewlogEditor', ViewlogEditor, iniFile);
562 end;
563
564 if WizardIsComponentSelected('TTSSH') then
565 begin
566 // これまでの TERATERM.INI のデフォルト値と同じ値なら、最新のデフォルト値で上書きする
567 // 新しく追加した方式が disable line より後ろに行ってしまう現象への対処
568 CipherOrder := GetIniString('TTSSH', 'CipherOrder', '', iniFile);
569 if (CompareStr(CipherOrder, 'MLK>H:J=G9I<F8C7D;EB30A@?62') = 0) or
570 (CompareStr(CipherOrder, 'K>H:J=G9I<F8C7D;EB30A@?62') = 0) or
571 (CompareStr(CipherOrder, 'K>H:J=G9I<F8C7D;A@?EB3062') = 0) or
572 (CompareStr(CipherOrder, '>:=9<8C7D;A@?EB3062') = 0) or
573 (CompareStr(CipherOrder, '>:=9<87;A@?B3026') = 0) or
574 (CompareStr(CipherOrder, '>:=9<87;A@?3026') = 0) or
575 (CompareStr(CipherOrder, '>:=9<87;?3026') = 0) or
576 (CompareStr(CipherOrder, '<8=9>:7;3026') = 0) or
577 (CompareStr(CipherOrder, '87;9:<=>3026') = 0) or
578 (CompareStr(CipherOrder, '87;9:3026') = 0) or
579 (CompareStr(CipherOrder, '873026') = 0) then
580 SetIniString('TTSSH', 'CipherOrder', 'MKN>H:J=G9LI<F8C7D;EB30A@?62', iniFile)
581 end;
582
583 end;
584
585 procedure InitializeWizard;
586 var
587 UILangFilePageCaption : String;
588 UILangFilePageDescription : String;
589 UILangFilePageSubCaption : String;
590 UILangFilePageNone : String;
591 UILangFilePageJapanese : String;
592 UILangFilePageGerman : String;
593 UILangFilePageFrench : String;
594 UILangFilePageRussian : String;
595 UILangFilePageKorean : String;
596 UILangFilePageChinese : String;
597 UILangFilePageTChinese : String;
598 UILangFilePageSpanish : String;
599 begin
600 UILangFilePageCaption := CustomMessage('msg_language_caption');
601 UILangFilePageDescription := CustomMessage('msg_language_description');
602 UILangFilePageSubCaption := CustomMessage('msg_language_subcaption');
603 UILangFilePageNone := CustomMessage('msg_language_none');
604 UILangFilePageJapanese := CustomMessage('msg_language_japanese');
605 UILangFilePageGerman := CustomMessage('msg_language_german');
606 UILangFilePageFrench := CustomMessage('msg_language_french');
607 UILangFilePageRussian := CustomMessage('msg_language_russian');
608 UILangFilePageKorean := CustomMessage('msg_language_korean');
609 UILangFilePageChinese := CustomMessage('msg_language_chinese');
610 UILangFilePageTChinese := CustomMessage('msg_language_tchinese');
611 UILangFilePageSpanish := CustomMessage('msg_language_spanish');
612
613 UILangFilePage := CreateInputOptionPage(wpSelectComponents,
614 UILangFilePageCaption, UILangFilePageDescription,
615 UILangFilePageSubCaption, True, False);
616 UILangFilePage.Add(UILangFilePageNone);
617 UILangFilePage.Add(UILangFilePageJapanese);
618 UILangFilePage.Add(UILangFilePageGerman);
619 UILangFilePage.Add(UILangFilePageFrench);
620 UILangFilePage.Add(UILangFilePageRussian);
621 UILangFilePage.Add(UILangFilePageKorean);
622 UILangFilePage.Add(UILangFilePageChinese);
623 UILangFilePage.Add(UILangFilePageTChinese);
624 UILangFilePage.Add(UILangFilePageSpanish);
625 case ActiveLanguage of
626 'ja':
627 UILangFilePage.SelectedValueIndex := 1;
628 // 他の言語は最新版に追従していないので、日本語だけ特別扱い
629 else
630 UILangFilePage.SelectedValueIndex := 0;
631 end;
632 end;
633
634 function NextButtonClick(CurPageID: Integer): Boolean;
635 var
636 iniFile : String;
637 ErrMsg : String;
638 begin
639 Result := True;
640
641 case CurPageID of
642
643 wpSelectDir:
644 begin
645
646 ErrMsg := CheckAppsUsing();
647 if Length(ErrMsg) > 0 then
648 begin
649 MsgBox(Format(CustomMessage('msg_AppRunningError'), [ErrMsg]), mbError, MB_OK);
650 Result := False;
651 end
652 else
653 // -1: goto next. Turn over to Inno Setup.
654 // 0: goto next. No problem.
655 // NOP
656 end;
657
658 wpSelectComponents:
659 begin
660
661 if FileExists(GetDefaultIniFileName()) then
662 begin
663 iniFile := Lowercase(GetIniString('Tera Term', 'UILanguageFile', '', GetDefaultIniFilename()));
664 if iniFile = 'lang_utf16le\japanese.lng' then
665 UILangFilePage.SelectedValueIndex := 1
666 else if iniFile = 'lang_utf16le\german.lng' then
667 UILangFilePage.SelectedValueIndex := 2
668 else if iniFile = 'lang_utf16le\french.lng' then
669 UILangFilePage.SelectedValueIndex := 3
670 else if iniFile = 'lang_utf16le\russian.lng' then
671 UILangFilePage.SelectedValueIndex := 4
672 else if iniFile = 'lang_utf16le\korean.lng' then
673 UILangFilePage.SelectedValueIndex := 5
674 else if iniFile = 'lang_utf16le\simplified chinese.lng' then
675 UILangFilePage.SelectedValueIndex := 6
676 else if iniFile = 'lang_utf16le\traditional chinese.lng' then
677 UILangFilePage.SelectedValueIndex := 7
678 else if iniFile = 'lang_utf16le\Spanish.lng' then
679 UILangFilePage.SelectedValueIndex := 8
680 else
681 UILangFilePage.SelectedValueIndex := 0;
682 end;
683
684 end;
685 end;
686 end;
687
688 procedure CurStepChanged(CurStep: TSetupStep);
689 var
690 iniFile : String;
691 begin
692 case CurStep of
693 ssPostInstall:
694 begin
695 iniFile := GetDefaultIniFilename();
696 SetIniFile(iniFile);
697
698 if not WizardIsTaskSelected('cygtermhere') then
699 begin;
700 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\Folder\shell\cygterm');
701 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\Directory\Background\shell\cygterm');
702 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\LibraryFolder\Background\shell\cygterm');
703 end;
704
705 if not WizardIsTaskSelected('macroassoc') then
706 begin;
707 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\.ttl');
708 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\TeraTerm.MacroFile');
709 end;
710
711 if not WizardIsTaskSelected('telnetassoc') then
712 begin;
713 // デフォルトで telnet プロトコルに関連付けがある Windows バージョンがあるため、Tera Term への関連付けだけを削除する
714 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\telnet\shell\Open with Tera Term');
715 RegDeleteValue(HKEY_CURRENT_USER, 'Software\Classes\telnet\shell', '');
716 end;
717
718 if not WizardIsTaskSelected('sshassoc') then
719 begin;
720 // デフォルトの関連付けがないので、プロトコルごと削除
721 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\ssh');
722 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\slogin');
723 end;
724
725 if not WizardIsTaskSelected('ttyplayassoc') then
726 begin;
727 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\.tty');
728 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\TTYRecordFile');
729 end;
730
731 SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0);
732
733 end; // ssPostInstall
734 end; // case CurStep of
735 end; // CurStepChanged
736
737 procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
738 var
739 ini : array[0..1] of String;
740 buf : String;
741 conf : String;
742 confmsg : String;
743 app : String;
744 i, res : Integer;
745 silent : Boolean;
746 begin
747 case CurUninstallStep of
748 usPostUninstall:
749 begin
750 ini[0] := '\lang\Default.lng';
751 ini[1] := '\lang_utf16le\Default.lng';
752
753 conf := CustomMessage('msg_del_confirm');
754 app := ExpandConstant('{app}');
755
756 silent := false;
757 for i := 0 to ParamCount() do
758 begin
759 if (CompareText('/SUPPRESSMSGBOXES', ParamStr(i)) = 0) then
760 silent := true;
761 end;
762
763 if not silent then begin
764
765 // delete config files
766 for i := 0 to 1 do
767 begin
768 buf := app + ini[i];
769 if FileExists(buf) then begin
770 confmsg := Format(conf, [buf]);
771 res := MsgBox(confmsg, mbInformation, MB_YESNO or MB_DEFBUTTON2);
772 if res = IDYES then
773 DeleteFile(buf);
774 end;
775 end;
776
777 // delete registory
778 if RegKeyExists(HKEY_CURRENT_USER, 'Software\ShinpeiTools\TTermMenu') then begin
779 confmsg := Format(conf, ['HKEY_CURRENT_USER' + '\Software\ShinpeiTools\TTermMenu']);
780 res := MsgBox(confmsg, mbInformation, MB_YESNO or MB_DEFBUTTON2);
781 if res = IDYES then begin
782 RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\ShinpeiTools\TTermMenu');
783 RegDeleteKeyIfEmpty(HKEY_CURRENT_USER, 'Software\ShinpeiTools');
784 end;
785 end;
786
787 end;
788
789 SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0);
790
791 // directory is deleted only if empty
792 RemoveDir(app + '\lang');
793 RemoveDir(app + '\lang_utf16le');
794 RemoveDir(app);
795 end;
796 end;
797 end;
798
799 [InstallDelete]
800 ; インストーラに含めたことがあり、のちに含めなくなったファイルを指定する。
801 ; 新しいインストーラで上書きインストールしたあとのアンインストーラでは削除されないため。
802 Name: {app}\OpenSSH-LICENCE.txt; Type: files
803 Name: {app}\cygterm-README.txt; Type: files
804 Name: {app}\cygterm-README-j.txt; Type: files
805 Name: {app}\keycode.txt; Type: files
806 Name: {app}\keycodej.txt; Type: files
807 Name: {app}\RE.txt; Type: files
808 Name: {app}\RE-ja.txt; Type: files
809 Name: {app}\ssh2_readme.txt; Type: files
810 Name: {app}\ssh2_readme-j.txt; Type: files
811 Name: {app}\utf8_readme.txt; Type: files
812 Name: {app}\utf8_readme-j.txt; Type: files
813 Name: {app}\OpenSSH-LICENSE.txt; Type: files
814 Name: {app}\OpenSSL-LICENSE.txt; Type: files
815 Name: {group}\TeraTerm Document.lnk; Type: files
816 Name: {group}\TeraTerm Document(Japanese).lnk; Type: files
817 Name: {group}\TTSSH Document.lnk; Type: files
818 Name: {group}\TTSSH Document(Japanese).lnk; Type: files
819 Name: {app}\LogMeTT.hlp; Type: files
820 Name: {app}\macro.hlp; Type: files
821 Name: {app}\macroj.hlp; Type: files
822 Name: {app}\ttermp.hlp; Type: files
823 Name: {app}\ttermpj.hlp; Type: files
824 Name: {app}\copyfont.bat; Type: files
825 Name: {app}\copyfont.pif; Type: files
826 Name: {app}\libeay.txt; Type: files
827 Name: {app}\cygterm+-x86_64\cyglaunch.exe; Type: files
828 Name: {app}\ttpdlg.dll; Type: files
829 Name: {app}\ttpset.dll; Type: files
830
831 [UninstallDelete]
832 ; cygterm.exe は cygterm+-x86_64\cygterm.exe か cygterm+-i686\cygterm.exe を
833 ; スクリプトでコピーしたもので、自動でアンインストールされないため。
834 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