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

Subversion リポジトリの参照

Annotation of /trunk/installer/teraterm.iss

Parent Directory Parent Directory | Revision Log Revision Log


Revision 10515 - (hide annotations) (download)
Wed Jan 18 13:30:13 2023 UTC (16 months, 1 week ago) by nmaya
File size: 44255 byte(s)
インストーラで選択しなかった関連付けを削除するコードを追加

- ssh://
- slogin://
- .tty ファイル

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