1 |
#define AppName "Tera Term" |
#define AppName "Tera Term" |
2 |
#define AppVer "4.69-RC1" |
#define AppVer "4.72" |
3 |
;#define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', ''); |
#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] |
[Setup] |
30 |
AppCopyright=TeraTerm Project |
AppCopyright=TeraTerm Project |
40 |
ShowLanguageDialog=yes |
ShowLanguageDialog=yes |
41 |
AllowNoIcons=true |
AllowNoIcons=true |
42 |
UninstallDisplayIcon={app}\ttermpro.exe |
UninstallDisplayIcon={app}\ttermpro.exe |
|
AppMutex=TeraTermProAppMutex, TeraTermProMacroAppMutex, TeraTermProKeycodeAppMutex, TeraTermMenuAppMutex, CygTermAppMutex |
|
43 |
#ifndef snapshot |
#ifndef snapshot |
44 |
OutputBaseFilename=teraterm-{#AppVer} |
OutputBaseFilename=teraterm-{#AppVer} |
45 |
#else |
#else |
97 |
Source: ..\cygterm\cygterm.cfg; DestDir: {app}; Components: cygterm; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify |
Source: ..\cygterm\cygterm.cfg; DestDir: {app}; Components: cygterm; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify |
98 |
Source: ..\cygterm\cyglaunch.exe; DestDir: {app}; Components: cygterm |
Source: ..\cygterm\cyglaunch.exe; DestDir: {app}; Components: cygterm |
99 |
Source: ..\cygterm\cygterm+.tar.gz; DestDir: {app}; Components: cygterm |
Source: ..\cygterm\cygterm+.tar.gz; DestDir: {app}; Components: cygterm |
100 |
Source: ..\libs\logmett\Setup_LogMeTT_2_9_8_1.exe; DestDir: {tmp}; Components: LogMeTT; Flags: deleteafterinstall |
Source: ..\libs\logmett\Setup_LogMeTT_2_9_9_2.exe; DestDir: {tmp}; Components: LogMeTT; Flags: deleteafterinstall |
101 |
Source: ..\libs\logmett\Setup_TTLEditor_1_2_1.exe; DestDir: {tmp}; Components: TTLEdit; Flags: deleteafterinstall |
Source: ..\libs\logmett\Setup_TTLEditor_1_4_41.exe; DestDir: {tmp}; Components: TTLEdit; Flags: deleteafterinstall |
102 |
Source: ..\ttpmenu\Release\ttpmenu.exe; DestDir: {app}; Components: TeraTerm_Menu; Flags: ignoreversion |
Source: ..\ttpmenu\Release\ttpmenu.exe; DestDir: {app}; Components: TeraTerm_Menu; Flags: ignoreversion |
103 |
Source: release\ttmenu_readme-j.txt; DestDir: {app}; Components: TeraTerm_Menu |
Source: release\ttmenu_readme-j.txt; DestDir: {app}; Components: TeraTerm_Menu |
104 |
Source: ..\TTProxy\Release\TTXProxy.dll; DestDir: {app}; Components: TTProxy; Flags: ignoreversion |
Source: ..\TTProxy\Release\TTXProxy.dll; DestDir: {app}; Components: TTProxy; Flags: ignoreversion |
137 |
Name: TeraTerm; Description: Tera Term & Macro; Flags: fixed; Types: custom compact full standard |
Name: TeraTerm; Description: Tera Term & Macro; Flags: fixed; Types: custom compact full standard |
138 |
Name: TTSSH; Description: TTSSH; Types: compact full standard |
Name: TTSSH; Description: TTSSH; Types: compact full standard |
139 |
Name: cygterm; Description: CygTerm+; Types: full standard; Check: not isIA64 |
Name: cygterm; Description: CygTerm+; Types: full standard; Check: not isIA64 |
140 |
Name: LogMeTT; Description: LogMeTT; Types: full standard; MinVersion: 4.1.1998,4.0.1381sp6 |
Name: LogMeTT; Description: LogMeTT ({cm:comp_installer}); Types: full; MinVersion: 4.1.1998,4.0.1381sp6 |
141 |
Name: TTLEdit; Description: TTLEdit; Types: full standard; MinVersion: 4.1.1998,4.0.1381sp6 |
Name: TTLEdit; Description: TTLEdit ({cm:comp_installer}); Types: full; MinVersion: 4.1.1998,4.0.1381sp6 |
142 |
Name: TeraTerm_Menu; Description: TeraTerm Menu; Types: full |
Name: TeraTerm_Menu; Description: TeraTerm Menu; Types: full |
143 |
Name: TTProxy; Description: TTProxy; Types: full standard |
Name: TTProxy; Description: TTProxy; Types: full standard |
144 |
Name: Collector; Description: Collector; Types: full |
Name: Collector; Description: Collector; Types: full |
168 |
[Registry] |
[Registry] |
169 |
; Cygterm Here |
; Cygterm Here |
170 |
Root: HKCU; Subkey: Software\Classes\Folder\shell\cygterm; ValueType: string; ValueData: Cy>erm Here; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: cygterm; Tasks: cygtermhere |
Root: HKCU; Subkey: Software\Classes\Folder\shell\cygterm; ValueType: string; ValueData: Cy>erm Here; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: cygterm; Tasks: cygtermhere |
171 |
Root: HKCU; Subkey: Software\Classes\Folder\shell\cygterm\command; ValueType: string; ValueData: """{app}\cyglaunch.exe"" -nocd -nols -d \""%L\"""; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: cygterm; Tasks: cygtermhere |
Root: HKCU; Subkey: Software\Classes\Folder\shell\cygterm\command; ValueType: string; ValueData: """{app}\cyglaunch.exe"" -nocd -nols -d ""\""%L\"""""; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: cygterm; Tasks: cygtermhere |
172 |
Root: HKCR; Subkey: Folder\shell\cygterm; ValueType: string; ValueData: Cy>erm Here; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: cygterm; Tasks: cygtermhere |
Root: HKCR; Subkey: Folder\shell\cygterm; ValueType: string; ValueData: Cy>erm Here; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: cygterm; Tasks: cygtermhere |
173 |
Root: HKCR; Subkey: Folder\shell\cygterm\command; ValueType: string; ValueData: """{app}\cyglaunch.exe"" -nocd -nols -d \""%L\"""; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: cygterm; Tasks: cygtermhere |
Root: HKCR; Subkey: Folder\shell\cygterm\command; ValueType: string; ValueData: """{app}\cyglaunch.exe"" -nocd -nols -d ""\""%L\"""""; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: cygterm; Tasks: cygtermhere |
174 |
|
; Cygterm Here from folder Background |
175 |
|
; MinVersion 5.00.0000 = not Win9x, 6.0.6000 = Vista or later |
176 |
|
Root: HKCU; Subkey: Software\Classes\Directory\Background\shell\cygterm; ValueType: string; ValueData: Cy>erm Here; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere; MinVersion: 5.00.0000,6.0.6000 |
177 |
|
Root: HKCU; Subkey: Software\Classes\Directory\Background\shell\cygterm\command; ValueType: string; ValueData: """{app}\cyglaunch.exe"" -nocd -nols -d ""\""%V\"""""; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere; MinVersion: 5.00.0000,6.0.6000 |
178 |
|
Root: HKCU; Subkey: Software\Classes\LibraryFolder\Background\shell\cygterm; ValueType: string; ValueData: Cy>erm Here; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere; MinVersion: 5.00.0000,6.0.6000 |
179 |
|
Root: HKCU; Subkey: Software\Classes\LibraryFolder\Background\shell\cygterm\command; ValueType: string; ValueData: """{app}\cyglaunch.exe"" -nocd -nols -d ""\""%V\"""""; Flags: uninsdeletekey; Components: cygterm; Tasks: cygtermhere; MinVersion: 5.00.0000,6.0.6000 |
180 |
; Associate with .TTL |
; Associate with .TTL |
181 |
Root: HKCU; Subkey: Software\Classes\.ttl; ValueType: string; ValueData: TeraTerm.MacroFile; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TeraTerm; Tasks: macroassoc |
Root: HKCU; Subkey: Software\Classes\.ttl; ValueType: string; ValueData: TeraTerm.MacroFile; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TeraTerm; Tasks: macroassoc |
182 |
Root: HKCU; Subkey: Software\Classes\TeraTerm.MacroFile; ValueType: string; ValueData: Tera Term Macro File; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TeraTerm; Tasks: macroassoc |
Root: HKCU; Subkey: Software\Classes\TeraTerm.MacroFile; ValueType: string; ValueData: Tera Term Macro File; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: TeraTerm; Tasks: macroassoc |
236 |
Name: ttyplayassoc; Description: {cm:task_ttyplayassoc}; Components: Additional_Plugins/TTXttyrec; Flags: unchecked |
Name: ttyplayassoc; Description: {cm:task_ttyplayassoc}; Components: Additional_Plugins/TTXttyrec; Flags: unchecked |
237 |
|
|
238 |
[Run] |
[Run] |
239 |
Filename: {app}\ttermpro.exe; Flags: nowait postinstall skipifsilent unchecked; Description: {cm:launch_teraterm}; Components: TeraTerm |
Filename: "{app}\ttermpro.exe"; Flags: nowait postinstall skipifsilent unchecked; Description: "{cm:launch_teraterm}"; Components: TeraTerm |
240 |
Filename: {tmp}\Setup_LogMeTT_2_9_7.exe; Components: LogMeTT |
Filename: "{tmp}\Setup_LogMeTT_2_9_9_2.exe"; Flags: skipifsilent; Components: LogMeTT |
241 |
Filename: {tmp}\Setup_TTLEditor_1_2_1.exe; Components: TTLEdit |
Filename: "{tmp}\Setup_LogMeTT_2_9_9_2.exe"; Parameters: "/SILENT"; Flags: skipifnotsilent; Components: LogMeTT |
242 |
Filename: {app}\ttpmenu.exe; Flags: nowait postinstall skipifsilent unchecked; Description: {cm:launch_ttmenu}; Components: TeraTerm_Menu |
Filename: "{tmp}\Setup_TTLEditor_1_4_41.exe"; Flags: skipifsilent; Components: TTLEdit |
243 |
Filename: {app}\Collector\Collector.exe; Flags: nowait postinstall skipifsilent unchecked; Description: {cm:launch_collector}; Components: Collector |
Filename: "{tmp}\Setup_TTLEditor_1_4_41.exe"; Parameters: "/SILENT"; Flags: skipifnotsilent; Components: TTLEdit |
244 |
|
Filename: "{app}\ttpmenu.exe"; Flags: nowait postinstall skipifsilent unchecked; Description: "{cm:launch_ttmenu}"; Components: TeraTerm_Menu |
245 |
|
Filename: "{app}\Collector\Collector.exe"; Flags: nowait postinstall skipifsilent unchecked; Description: "{cm:launch_collector}"; Components: Collector |
246 |
|
|
247 |
[CustomMessages] |
[CustomMessages] |
248 |
en.task_desktopicon=Create Tera Term shortcut to &Desktop |
en.task_desktopicon=Create Tera Term shortcut to &Desktop |
313 |
ja.comp_TTXAlwaysOnTop=常に最前面に表示できるようにする |
ja.comp_TTXAlwaysOnTop=常に最前面に表示できるようにする |
314 |
en.comp_TTXRecurringCommand=Recurring Command can be used |
en.comp_TTXRecurringCommand=Recurring Command can be used |
315 |
ja.comp_TTXRecurringCommand=定期的に文字列を送信する |
ja.comp_TTXRecurringCommand=定期的に文字列を送信する |
316 |
|
en.comp_installer=Other installer is started |
317 |
|
ja.comp_installer=インストーラが起動します |
318 |
|
en.msg_AppRunningError=Setup has detected that %s is currently running.%n%nPlease close all instances of it now, then click Next to continue. |
319 |
|
ja.msg_AppRunningError=セットアップは実行中の %s を検出しました。%n%n開いているアプリケーションをすべて閉じてから「次へ」をクリックしてください。 |
320 |
|
|
321 |
[Code] |
[Code] |
322 |
const |
const |
392 |
end; |
end; |
393 |
} |
} |
394 |
|
|
395 |
|
function CheckFileUsing(Filename:String) : integer; |
396 |
|
var |
397 |
|
TmpFileName : String; |
398 |
|
begin |
399 |
|
if FileExists(FileName) then |
400 |
|
begin |
401 |
|
TmpFileName := FileName + '.' + GetDateTimeString('yyyymmddhhnnss', #0, #0); // Tmp file ends with timestamp |
402 |
|
if FileCopy(FileName, TmpFileName, True) then |
403 |
|
if DeleteFile(FileName) then |
404 |
|
if RenameFile(TmpFileName, FileName) then |
405 |
|
Result := 0 |
406 |
|
else |
407 |
|
Result := -1 // permission? |
408 |
|
else |
409 |
|
begin |
410 |
|
Result := 1; // failed to delete |
411 |
|
DeleteFile(TmpFileName); |
412 |
|
end |
413 |
|
else |
414 |
|
Result := -1 // permission? |
415 |
|
end |
416 |
|
else |
417 |
|
Result := 0; |
418 |
|
end; |
419 |
|
|
420 |
|
function CheckAppsUsing() : string; |
421 |
|
var |
422 |
|
FileDir : String; |
423 |
|
FileName : array[0..6] of String; |
424 |
|
FileDesc : array[0..6] of String; |
425 |
|
i : integer; |
426 |
|
begin |
427 |
|
FileDir := ExpandConstant('{app}'); |
428 |
|
FileName[0] := FileDir + '\ttermpro.exe'; |
429 |
|
FileName[1] := FileDir + '\ttpmacro.exe'; |
430 |
|
FileName[2] := FileDir + '\keycode.exe'; |
431 |
|
FileName[3] := FileDir + '\ttpmenu.exe'; |
432 |
|
FileName[4] := FileDir + '\cygterm.exe'; |
433 |
|
FileName[5] := FileDir + '\Collector.exe'; |
434 |
|
FileName[6] := FileDir + '\Collector_org.exe'; |
435 |
|
FileDesc[0] := 'Tera Term'; |
436 |
|
FileDesc[1] := 'Tera Term Macro'; |
437 |
|
FileDesc[2] := 'Keycode'; |
438 |
|
FileDesc[3] := 'TeraTerm Menu'; |
439 |
|
FileDesc[4] := 'CygTerm+'; |
440 |
|
FileDesc[5] := 'Collector'; |
441 |
|
FileDesc[6] := 'Collector'; |
442 |
|
|
443 |
|
for i := 0 to 6 do |
444 |
|
begin |
445 |
|
case CheckFileUsing(FileName[i]) of |
446 |
|
1: |
447 |
|
// Failed to delete. In use. |
448 |
|
begin |
449 |
|
if Length(Result) > 0 then |
450 |
|
Result := Result + ', ' + FileDesc[i] |
451 |
|
else |
452 |
|
Result := FileDesc[i] |
453 |
|
end; |
454 |
|
else |
455 |
|
// -1: Failed to copy/rename |
456 |
|
// 0: OK |
457 |
|
// NOP |
458 |
|
end; |
459 |
|
end; |
460 |
|
|
461 |
|
end; |
462 |
|
|
463 |
function GetDefaultIniFilename : String; |
function GetDefaultIniFilename : String; |
464 |
begin |
begin |
465 |
Result := ExpandConstant('{app}') + '\TERATERM.INI'; |
Result := ExpandConstant('{app}') + '\TERATERM.INI'; |
483 |
VTFont := GetIniString('Tera Term', 'VTFont', '', iniFile); |
VTFont := GetIniString('Tera Term', 'VTFont', '', iniFile); |
484 |
TEKFont := GetIniString('Tera Term', 'TEKFont', '', iniFile); |
TEKFont := GetIniString('Tera Term', 'TEKFont', '', iniFile); |
485 |
FileDir := GetIniString('Tera Term', 'FileDir', '', iniFile); |
FileDir := GetIniString('Tera Term', 'FileDir', '', iniFile); |
486 |
FileDir := GetIniString('Tera Term', 'FileDir', '', iniFile); |
TCPPort := GetIniInt('Tera Term', 'TCPPort', 0, 0, 65535, iniFile) |
487 |
ViewlogEditor := GetIniString('Tera Term', 'ViewlogEditor', '', iniFile); |
ViewlogEditor := GetIniString('Tera Term', 'ViewlogEditor', '', iniFile); |
488 |
|
|
489 |
case GetUILanguage and $3FF of |
case GetUILanguage and $3FF of |
509 |
if CodePage = 0 then |
if CodePage = 0 then |
510 |
SetIniInt('Tera Term', 'CodePage', 932, iniFile); |
SetIniInt('Tera Term', 'CodePage', 932, iniFile); |
511 |
if Length(VTFont) = 0 then |
if Length(VTFont) = 0 then |
512 |
SetIniString('Tera Term', 'VTFont', 'MS 明朝,0,-16,128', iniFile); |
SetIniString('Tera Term', 'VTFont', 'Terminal,0,-19,128', iniFile); |
513 |
if Length(TEKFont) = 0 then |
if Length(TEKFont) = 0 then |
514 |
SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,128', iniFile); |
SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,128', iniFile); |
515 |
end; |
end; |
637 |
var |
var |
638 |
uninstaller : String; |
uninstaller : String; |
639 |
uninstaller2 : String; |
uninstaller2 : String; |
640 |
ResultCode: Integer; |
ResultCode : Integer; |
641 |
iniFile : String; |
iniFile : String; |
642 |
|
ErrMsg : String; |
643 |
begin |
begin |
644 |
|
Result := True; |
645 |
|
|
646 |
case CurPageID of |
case CurPageID of |
647 |
|
|
648 |
wpWelcome: |
wpWelcome: |
676 |
|
|
677 |
end; |
end; |
678 |
|
|
679 |
|
wpSelectDir: |
680 |
|
begin |
681 |
|
|
682 |
|
ErrMsg := CheckAppsUsing(); |
683 |
|
if Length(ErrMsg) > 0 then |
684 |
|
begin |
685 |
|
MsgBox(Format(CustomMessage('msg_AppRunningError'), [ErrMsg]), mbError, MB_OK); |
686 |
|
Result := False; |
687 |
|
end |
688 |
|
else |
689 |
|
// -1: goto next. Turn over to Inno Setup. |
690 |
|
// 0: goto next. No problem. |
691 |
|
// NOP |
692 |
|
end; |
693 |
|
|
694 |
wpSelectComponents: |
wpSelectComponents: |
695 |
begin |
begin |
696 |
|
|
709 |
|
|
710 |
end; |
end; |
711 |
end; |
end; |
|
Result := True; |
|
712 |
end; |
end; |
713 |
|
|
714 |
procedure CurStepChanged(CurStep: TSetupStep); |
procedure CurStepChanged(CurStep: TSetupStep); |
725 |
begin; |
begin; |
726 |
RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\Folder\shell\cygterm'); |
RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\Folder\shell\cygterm'); |
727 |
RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, 'Folder\shell\cygterm'); |
RegDeleteKeyIncludingSubkeys(HKEY_CLASSES_ROOT, 'Folder\shell\cygterm'); |
728 |
|
RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\Directory\Background\shell\cygterm'); |
729 |
|
RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER, 'Software\Classes\LibraryFolder\Background\shell\cygterm'); |
730 |
end; |
end; |
731 |
|
|
732 |
if not IsTaskSelected('macroassoc') then |
if not IsTaskSelected('macroassoc') then |
745 |
RegDeleteValue(HKEY_CLASSES_ROOT, 'telnet\shell', ''); |
RegDeleteValue(HKEY_CLASSES_ROOT, 'telnet\shell', ''); |
746 |
end; |
end; |
747 |
|
|
748 |
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0); |
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0); |
749 |
|
|
750 |
end; // ssDone |
end; // ssDone |
751 |
end; // case CurStep of |
end; // case CurStep of |
828 |
Name: {app}\copyfont.bat; Type: files |
Name: {app}\copyfont.bat; Type: files |
829 |
Name: {app}\copyfont.pif; Type: files |
Name: {app}\copyfont.pif; Type: files |
830 |
Name: {app}\libeay.txt; Type: files |
Name: {app}\libeay.txt; Type: files |
|
|
|
|
[InnoIDE_PreCompile] |
|
|
Name: makechm.bat |
|
|
Name: build.bat; Parameters: rebuild |
|
|
;Name: build.bat |
|