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

Subversion リポジトリの参照

Contents of /trunk/installer/teraterm.iss

Parent Directory Parent Directory | Revision Log Revision Log


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

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