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

Subversion リポジトリの参照

Diff of /trunk/installer/teraterm.iss

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

revision 4067 by maya, Tue Aug 31 05:08:41 2010 UTC revision 4735 by maya, Sun Nov 20 14:29:34 2011 UTC
# Line 1  Line 1 
1  #define AppName "Tera Term"  #define AppName "Tera Term"
2  #define AppVer "4.67"  #define AppVer "4.71"
3  ;#define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', '');  #define snapshot GetDateTimeString('yyyymmdd_hhnnss', '', '');
4    
5  [Setup]  [Setup]
6  AppCopyright=TeraTerm Project  AppCopyright=TeraTerm Project
# Line 16  DefaultGroupName={#AppName} Line 16  DefaultGroupName={#AppName}
16  ShowLanguageDialog=yes  ShowLanguageDialog=yes
17  AllowNoIcons=true  AllowNoIcons=true
18  UninstallDisplayIcon={app}\ttermpro.exe  UninstallDisplayIcon={app}\ttermpro.exe
 AppMutex=TeraTermProAppMutex, TeraTermProMacroAppMutex, TeraTermProKeycodeAppMutex, TeraTermMenuAppMutex, CygTermAppMutex  
19  #ifndef snapshot  #ifndef snapshot
20  OutputBaseFilename=teraterm-{#AppVer}  OutputBaseFilename=teraterm-{#AppVer}
21  #else  #else
# Line 64  Source: release\random.ttl; DestDir: {ap Line 63  Source: release\random.ttl; DestDir: {ap
63  Source: release\screencapture.ttl; DestDir: {app}; Components: TeraTerm  Source: release\screencapture.ttl; DestDir: {app}; Components: TeraTerm
64  Source: release\ssh2login.ttl; DestDir: {app}; Components: TeraTerm  Source: release\ssh2login.ttl; DestDir: {app}; Components: TeraTerm
65  Source: release\wait_regex.ttl; DestDir: {app}; Components: TeraTerm  Source: release\wait_regex.ttl; DestDir: {app}; Components: TeraTerm
66    Source: release\lang\Default.lng; DestDir: {app}\lang; Components: TeraTerm; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify
67  Source: release\lang\Japanese.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly  Source: release\lang\Japanese.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
68  Source: release\lang\German.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly  Source: release\lang\German.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
69  Source: release\lang\French.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly  Source: release\lang\French.lng; DestDir: {app}\lang; Components: TeraTerm; Attribs: readonly; Flags: uninsremovereadonly overwritereadonly
# Line 73  Source: ..\cygterm\cygterm.exe; DestDir: Line 73  Source: ..\cygterm\cygterm.exe; DestDir:
73  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
74  Source: ..\cygterm\cyglaunch.exe; DestDir: {app}; Components: cygterm  Source: ..\cygterm\cyglaunch.exe; DestDir: {app}; Components: cygterm
75  Source: ..\cygterm\cygterm+.tar.gz; DestDir: {app}; Components: cygterm  Source: ..\cygterm\cygterm+.tar.gz; DestDir: {app}; Components: cygterm
76  Source: ..\libs\logmett\Setup_LogMeTT_2_9_7.exe; DestDir: {tmp}; Components: LogMeTT; Flags: deleteafterinstall  Source: ..\libs\logmett\Setup_LogMeTT_2_9_9_1.exe; DestDir: {tmp}; Components: LogMeTT; Flags: deleteafterinstall
77  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
78  Source: ..\ttpmenu\Release\ttpmenu.exe; DestDir: {app}; Components: TeraTerm_Menu; Flags: ignoreversion  Source: ..\ttpmenu\Release\ttpmenu.exe; DestDir: {app}; Components: TeraTerm_Menu; Flags: ignoreversion
79  Source: release\ttmenu_readme-j.txt; DestDir: {app}; Components: TeraTerm_Menu  Source: release\ttmenu_readme-j.txt; DestDir: {app}; Components: TeraTerm_Menu
80  Source: ..\TTProxy\Release\TTXProxy.dll; DestDir: {app}; Components: TTProxy; Flags: ignoreversion  Source: ..\TTProxy\Release\TTXProxy.dll; DestDir: {app}; Components: TTProxy; Flags: ignoreversion
# Line 113  Name: custom; Description: {cm:type_cust Line 113  Name: custom; Description: {cm:type_cust
113  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
114  Name: TTSSH; Description: TTSSH; Types: compact full standard  Name: TTSSH; Description: TTSSH; Types: compact full standard
115  Name: cygterm; Description: CygTerm+; Types: full standard; Check: not isIA64  Name: cygterm; Description: CygTerm+; Types: full standard; Check: not isIA64
116  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
117  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
118  Name: TeraTerm_Menu; Description: TeraTerm Menu; Types: full  Name: TeraTerm_Menu; Description: TeraTerm Menu; Types: full
119  Name: TTProxy; Description: TTProxy; Types: full standard  Name: TTProxy; Description: TTProxy; Types: full standard
120  Name: Collector; Description: Collector; Types: full  Name: Collector; Description: Collector; Types: full
# Line 144  Name: {userappdata}\Microsoft\Internet E Line 144  Name: {userappdata}\Microsoft\Internet E
144  [Registry]  [Registry]
145  ; Cygterm Here  ; Cygterm Here
146  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
147  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
148  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
149  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
150  ; Associate with .TTL  ; Associate with .TTL
151  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
152  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: ttyplayassoc; Description: {cm:tas Line 207  Name: ttyplayassoc; Description: {cm:tas
207    
208  [Run]  [Run]
209  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
210  Filename: {tmp}\Setup_LogMeTT_2_9_7.exe; Components: LogMeTT  Filename: {tmp}\Setup_LogMeTT_2_9_9_1.exe; Components: LogMeTT
211  Filename: {tmp}\Setup_TTLEditor_1_2_1.exe; Components: TTLEdit  Filename: {tmp}\Setup_TTLEditor_1_4_41.exe; Components: TTLEdit
212  Filename: {app}\ttpmenu.exe; Flags: nowait postinstall skipifsilent unchecked; Description: {cm:launch_ttmenu}; Components: TeraTerm_Menu  Filename: {app}\ttpmenu.exe; Flags: nowait postinstall skipifsilent unchecked; Description: {cm:launch_ttmenu}; Components: TeraTerm_Menu
213  Filename: {app}\Collector\Collector.exe; Flags: nowait postinstall skipifsilent unchecked; Description: {cm:launch_collector}; Components: Collector  Filename: {app}\Collector\Collector.exe; Flags: nowait postinstall skipifsilent unchecked; Description: {cm:launch_collector}; Components: Collector
214    
# Line 281  en.comp_TTXAlwaysOnTop=Always On Top can Line 281  en.comp_TTXAlwaysOnTop=Always On Top can
281  ja.comp_TTXAlwaysOnTop=常に最前面に表示できるようにする  ja.comp_TTXAlwaysOnTop=常に最前面に表示できるようにする
282  en.comp_TTXRecurringCommand=Recurring Command can be used  en.comp_TTXRecurringCommand=Recurring Command can be used
283  ja.comp_TTXRecurringCommand=定期的に文字列を送信する  ja.comp_TTXRecurringCommand=定期的に文字列を送信する
284    en.comp_installer=Other installer is started
285    ja.comp_installer=インストーラが起動します
286    en.msg_AppRunningError=Setup has detected that %s is currently running.%n%nPlease close all instances of it now, then click Next to continue.
287    ja.msg_AppRunningError=セットアップは実行中の %s を検出しました。%n%n開いているアプリケーションをすべて閉じてから「次へ」をクリックしてください。
288    
289  [Code]  [Code]
290  const  const
# Line 356  begin Line 360  begin
360  end;  end;
361  }  }
362    
363    function CheckFileUsing(Filename:String) : integer;
364    var
365      TmpFileName : String;
366    begin
367      if FileExists(FileName) then
368        begin
369          TmpFileName := FileName + '.' + GetDateTimeString('yyyymmddhhnnss', #0, #0); // Tmp file ends with timestamp
370          if FileCopy(FileName, TmpFileName, True) then
371            if DeleteFile(FileName) then
372              if RenameFile(TmpFileName, FileName) then
373                Result := 0
374              else
375                Result := -1 // permission?
376            else
377              begin
378                Result := 1; // failed to delete
379                DeleteFile(TmpFileName);
380              end
381          else
382            Result := -1 // permission?
383        end
384      else
385        Result := 0;
386    end;
387    
388    function CheckAppsUsing() : string;
389    var
390      FileDir  : String;
391      FileName : array[0..6] of String;
392      FileDesc : array[0..6] of String;
393      i        : integer;
394    begin
395      FileDir := ExpandConstant('{app}');
396      FileName[0] := FileDir + '\ttermpro.exe';
397      FileName[1] := FileDir + '\ttpmacro.exe';
398      FileName[2] := FileDir + '\keycode.exe';
399      FileName[3] := FileDir + '\ttpmenu.exe';
400      FileName[4] := FileDir + '\cygterm.exe';
401      FileName[5] := FileDir + '\Collector.exe';
402      FileName[6] := FileDir + '\Collector_org.exe';
403      FileDesc[0] := 'Tera Term';
404      FileDesc[1] := 'Tera Term Macro';
405      FileDesc[2] := 'Keycode';
406      FileDesc[3] := 'TeraTerm Menu';
407      FileDesc[4] := 'CygTerm+';
408      FileDesc[5] := 'Collector';
409      FileDesc[6] := 'Collector';
410      
411      for i := 0 to 6 do
412      begin
413        case CheckFileUsing(FileName[i]) of
414          1:
415            // Failed to delete. In use.
416            begin
417              if Length(Result) > 0 then
418                Result := Result + ', ' + FileDesc[i]
419              else
420                Result := FileDesc[i]
421            end;
422          else
423            // -1: Failed to copy/rename
424            //  0: OK
425            // NOP
426        end;
427      end;
428    
429    end;
430    
431  function GetDefaultIniFilename : String;  function GetDefaultIniFilename : String;
432  begin  begin
433    Result := ExpandConstant('{app}') + '\TERATERM.INI';    Result := ExpandConstant('{app}') + '\TERATERM.INI';
# Line 363  end; Line 435  end;
435    
436  procedure SetIniFile(iniFile: String);  procedure SetIniFile(iniFile: String);
437  var  var
438    Language : String;    Language      : String;
439    Locale   : String;    Locale        : String;
440    CodePage : integer;    CodePage      : integer;
441    VTFont   : String;    VTFont        : String;
442    TEKFont  : String;    TEKFont       : String;
443    FileDir  : String;    FileDir       : String;
444    TCPPort  : integer;    TCPPort       : integer;
445      ViewlogEditor : String;
446    
447  begin  begin
448    Language := GetIniString('Tera Term', 'Language', '', iniFile);    Language       := GetIniString('Tera Term', 'Language', '', iniFile);
449    Locale   := GetIniString('Tera Term', 'Locale', '', iniFile);    Locale         := GetIniString('Tera Term', 'Locale', '', iniFile);
450    CodePage := GetIniInt('Tera Term', 'CodePage', 0, 0, 0, iniFile);    CodePage       := GetIniInt('Tera Term', 'CodePage', 0, 0, 0, iniFile);
451    VTFont   := GetIniString('Tera Term', 'VTFont', '', iniFile);    VTFont         := GetIniString('Tera Term', 'VTFont', '', iniFile);
452    TEKFont  := GetIniString('Tera Term', 'TEKFont', '', iniFile);    TEKFont        := GetIniString('Tera Term', 'TEKFont', '', iniFile);
453    FileDir  := GetIniString('Tera Term', 'FileDir', '', iniFile);    FileDir        := GetIniString('Tera Term', 'FileDir', '', iniFile);
454      TCPPort        := GetIniInt('Tera Term', 'TCPPort', 0, 0, 65535, iniFile)
455      ViewlogEditor  := GetIniString('Tera Term', 'ViewlogEditor', '', iniFile);
456    
457    case GetUILanguage and $3FF of    case GetUILanguage and $3FF of
458    $04: // Chinese    $04: // Chinese
# Line 402  begin Line 477  begin
477        if CodePage = 0 then        if CodePage = 0 then
478          SetIniInt('Tera Term', 'CodePage', 932, iniFile);          SetIniInt('Tera Term', 'CodePage', 932, iniFile);
479        if Length(VTFont) = 0 then        if Length(VTFont) = 0 then
480          SetIniString('Tera Term', 'VTFont', 'MS 明朝,0,-16,128', iniFile);          SetIniString('Tera Term', 'VTFont', 'Terminal,0,-19,128', iniFile);
481        if Length(TEKFont) = 0 then        if Length(TEKFont) = 0 then
482          SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,128', iniFile);          SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,128', iniFile);
483      end;      end;
# Line 470  begin Line 545  begin
545      3:      3:
546        SetIniString('Tera Term', 'UILanguageFile', 'lang\French.lng', iniFile);        SetIniString('Tera Term', 'UILanguageFile', 'lang\French.lng', iniFile);
547      else      else
548        SetIniString('Tera Term', 'UILanguageFile', 'lang\English.lng', iniFile);        SetIniString('Tera Term', 'UILanguageFile', 'lang\Default.lng', iniFile);
549    end;    end;
550    
551    if Length(FileDir) = 0 then begin    if Length(FileDir) = 0 then begin
# Line 485  begin Line 560  begin
560        SetIniInt('Tera Term', 'TCPPort', 23, iniFile);        SetIniInt('Tera Term', 'TCPPort', 23, iniFile);
561    end;    end;
562    
563      if ViewlogEditor = 'notepad.exe' then begin
564        ViewlogEditor := ExpandConstant('{win}') + '\' + 'notepad.exe';
565        SetIniString('Tera Term', 'ViewlogEditor', ViewlogEditor, iniFile);
566      end;
567    
568  end;  end;
569    
570  procedure InitializeWizard;  procedure InitializeWizard;
# Line 515  begin Line 595  begin
595    case ActiveLanguage of    case ActiveLanguage of
596      'ja':      'ja':
597        UILangFilePage.SelectedValueIndex := 1;        UILangFilePage.SelectedValueIndex := 1;
598        // 他の言語は最新版に追従していないので、日本語だけ特別扱い
599      else      else
600        UILangFilePage.SelectedValueIndex := 0;        UILangFilePage.SelectedValueIndex := 0;
601    end;    end;
# Line 524  function NextButtonClick(CurPageID: Inte Line 605  function NextButtonClick(CurPageID: Inte
605  var  var
606    uninstaller  : String;    uninstaller  : String;
607    uninstaller2 : String;    uninstaller2 : String;
608    ResultCode: Integer;    ResultCode   : Integer;
609    iniFile : String;    iniFile      : String;
610      ErrMsg       : String;
611  begin  begin
612      Result := True;
613    
614    case CurPageID of    case CurPageID of
615    
616      wpWelcome:      wpWelcome:
# Line 560  begin Line 644  begin
644    
645        end;        end;
646    
647      wpSelectComponents:      wpSelectDir:
648        begin        begin
649    
650          iniFile := GetIniString('Tera Term', 'UILanguageFile', '', GetDefaultIniFilename());          ErrMsg := CheckAppsUsing();
651          if iniFile = 'lang\Japanese.lng' then          if Length(ErrMsg) > 0 then
652            UILangFilePage.SelectedValueIndex := 1            begin
653          else if iniFile = 'lang\German.lng' then              MsgBox(Format(CustomMessage('msg_AppRunningError'), [ErrMsg]), mbError, MB_OK);
654            UILangFilePage.SelectedValueIndex := 2              Result := False;
655          else if iniFile = 'lang\French.lng' then            end
           UILangFilePage.SelectedValueIndex := 3  
656          else          else
657            UILangFilePage.SelectedValueIndex := 0;          // -1: goto next. Turn over to Inno Setup.
658            //  0: goto next. No problem.
659            // NOP
660          end;
661    
662        wpSelectComponents:
663          begin
664    
665            if FileExists(GetDefaultIniFileName()) then
666            begin
667              iniFile := Lowercase(GetIniString('Tera Term', 'UILanguageFile', '', GetDefaultIniFilename()));
668              if iniFile = 'lang\japanese.lng' then
669                UILangFilePage.SelectedValueIndex := 1
670              else if iniFile = 'lang\german.lng' then
671                UILangFilePage.SelectedValueIndex := 2
672              else if iniFile = 'lang\french.lng' then
673                UILangFilePage.SelectedValueIndex := 3
674              else
675                UILangFilePage.SelectedValueIndex := 0;
676            end;
677    
678        end;        end;
679    end;    end;
   Result := True;  
680  end;  end;
681    
682  procedure CurStepChanged(CurStep: TSetupStep);  procedure CurStepChanged(CurStep: TSetupStep);
# Line 694  Name: {app}\copyfont.bat; Type: files Line 795  Name: {app}\copyfont.bat; Type: files
795  Name: {app}\copyfont.pif; Type: files  Name: {app}\copyfont.pif; Type: files
796  Name: {app}\libeay.txt; Type: files  Name: {app}\libeay.txt; Type: files
797    
798  [_ISToolPreCompile]  [InnoIDE_PreCompile]
799  Name: makechm.bat  Name: makechm.bat
800  Name: build.bat; Parameters: rebuild  Name: build.bat
801  ; Name: build.bat  ;Name: build.bat; Parameters: rebuild
802    
803    [InnoIDE_PostCompile]
804    ;Name: makearchive.bat; Parameters: release

Legend:
Removed from v.4067  
changed lines
  Added in v.4735

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