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

Subversion リポジトリの参照

Diff of /trunk/installer/teraterm.iss

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4150 by maya, Sat Nov 6 20:43:44 2010 UTC revision 4833 by maya, Tue Feb 7 07:37:20 2012 UTC
# Line 1  Line 1 
1  #define AppName "Tera Term"  #define AppName "Tera Term"
2  #define AppVer "4.67"  #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
31  AppName={#AppName}  AppName={#AppName}
# Line 16  DefaultGroupName={#AppName} Line 40  DefaultGroupName={#AppName}
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
# Line 74  Source: ..\cygterm\cygterm.exe; DestDir: Line 97  Source: ..\cygterm\cygterm.exe; DestDir:
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_7.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
# Line 114  Name: custom; Description: {cm:type_cust Line 137  Name: custom; Description: {cm:type_cust
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
# Line 145  Name: {userappdata}\Microsoft\Internet E Line 168  Name: {userappdata}\Microsoft\Internet E
168  [Registry]  [Registry]
169  ; Cygterm Here  ; Cygterm Here
170  Root: HKCU; Subkey: Software\Classes\Folder\shell\cygterm; ValueType: string; ValueData: Cy&gterm Here; Flags: uninsdeletekey; Check: isWin2kOrLater; Components: cygterm; Tasks: cygtermhere  Root: HKCU; Subkey: Software\Classes\Folder\shell\cygterm; ValueType: string; ValueData: Cy&gterm 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&gterm Here; Flags: uninsdeletekey; Check: not isWin2kOrLater; Components: cygterm; Tasks: cygtermhere  Root: HKCR; Subkey: Folder\shell\cygterm; ValueType: string; ValueData: Cy&gterm 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&gterm 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&gterm 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
# Line 207  Name: sshassoc; Description: {cm:task_ss Line 236  Name: sshassoc; Description: {cm:task_ss
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
# Line 282  en.comp_TTXAlwaysOnTop=Always On Top can Line 313  en.comp_TTXAlwaysOnTop=Always On Top can
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
# Line 357  begin Line 392  begin
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';
# Line 380  begin Line 483  begin
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
# Line 406  begin Line 509  begin
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;
# Line 524  begin Line 627  begin
627    case ActiveLanguage of    case ActiveLanguage of
628      'ja':      'ja':
629        UILangFilePage.SelectedValueIndex := 1;        UILangFilePage.SelectedValueIndex := 1;
630        // 他の言語は最新版に追従していないので、日本語だけ特別扱い
631      else      else
632        UILangFilePage.SelectedValueIndex := 0;        UILangFilePage.SelectedValueIndex := 0;
633    end;    end;
# Line 533  function NextButtonClick(CurPageID: Inte Line 637  function NextButtonClick(CurPageID: Inte
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:
# Line 569  begin Line 676  begin
676    
677        end;        end;
678    
679      wpSelectComponents:      wpSelectDir:
680        begin        begin
681    
682          iniFile := GetIniString('Tera Term', 'UILanguageFile', '', GetDefaultIniFilename());          ErrMsg := CheckAppsUsing();
683          if iniFile = 'lang\Japanese.lng' then          if Length(ErrMsg) > 0 then
684            UILangFilePage.SelectedValueIndex := 1            begin
685          else if iniFile = 'lang\German.lng' then              MsgBox(Format(CustomMessage('msg_AppRunningError'), [ErrMsg]), mbError, MB_OK);
686            UILangFilePage.SelectedValueIndex := 2              Result := False;
687          else if iniFile = 'lang\French.lng' then            end
           UILangFilePage.SelectedValueIndex := 3  
688          else          else
689            UILangFilePage.SelectedValueIndex := 0;          // -1: goto next. Turn over to Inno Setup.
690            //  0: goto next. No problem.
691            // NOP
692          end;
693    
694        wpSelectComponents:
695          begin
696    
697            if FileExists(GetDefaultIniFileName()) then
698            begin
699              iniFile := Lowercase(GetIniString('Tera Term', 'UILanguageFile', '', GetDefaultIniFilename()));
700              if iniFile = 'lang\japanese.lng' then
701                UILangFilePage.SelectedValueIndex := 1
702              else if iniFile = 'lang\german.lng' then
703                UILangFilePage.SelectedValueIndex := 2
704              else if iniFile = 'lang\french.lng' then
705                UILangFilePage.SelectedValueIndex := 3
706              else
707                UILangFilePage.SelectedValueIndex := 0;
708            end;
709    
710        end;        end;
711    end;    end;
   Result := True;  
712  end;  end;
713    
714  procedure CurStepChanged(CurStep: TSetupStep);  procedure CurStepChanged(CurStep: TSetupStep);
# Line 601  begin Line 725  begin
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
# Line 619  begin Line 745  begin
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
# Line 702  Name: {app}\ttermpj.hlp; Type: files Line 828  Name: {app}\ttermpj.hlp; Type: files
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  

Legend:
Removed from v.4150  
changed lines
  Added in v.4833

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