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

Subversion リポジトリの参照

Diff of /trunk/installer/teraterm.iss

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

revision 3961 by maya, Sun Aug 1 00:06:19 2010 UTC revision 4354 by maya, Wed Mar 2 15:13:21 2011 UTC
# Line 1  Line 1 
1  #define AppName "Tera Term"  #define AppName "Tera Term"
2  #define AppVer "4.66"  #define AppVer "4.69-RC3"
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
19  AppMutex=TeraTermProAppMutex, TeraTermProMacroAppMutex, TeraTermProKeycodeAppMutex, TeraTermMenuAppMutex, CygTermAppMutex  ;AppMutex=TeraTermProAppMutex, TeraTermProMacroAppMutex, TeraTermProKeycodeAppMutex, TeraTermMenuAppMutex, CygTermAppMutex, Global\TeraTermProAppMutex, Global\TeraTermProMacroAppMutex, Global\TeraTermProKeycodeAppMutex, Global\TeraTermMenuAppMutex, Global\CygTermAppMutex
20  #ifndef snapshot  #ifndef snapshot
21  OutputBaseFilename=teraterm-{#AppVer}  OutputBaseFilename=teraterm-{#AppVer}
22  #else  #else
# Line 64  Source: release\random.ttl; DestDir: {ap Line 64  Source: release\random.ttl; DestDir: {ap
64  Source: release\screencapture.ttl; DestDir: {app}; Components: TeraTerm  Source: release\screencapture.ttl; DestDir: {app}; Components: TeraTerm
65  Source: release\ssh2login.ttl; DestDir: {app}; Components: TeraTerm  Source: release\ssh2login.ttl; DestDir: {app}; Components: TeraTerm
66  Source: release\wait_regex.ttl; DestDir: {app}; Components: TeraTerm  Source: release\wait_regex.ttl; DestDir: {app}; Components: TeraTerm
67    Source: release\lang\Default.lng; DestDir: {app}\lang; Components: TeraTerm; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify
68  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
69  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
70  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 74  Source: ..\cygterm\cygterm.exe; DestDir:
74  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
75  Source: ..\cygterm\cyglaunch.exe; DestDir: {app}; Components: cygterm  Source: ..\cygterm\cyglaunch.exe; DestDir: {app}; Components: cygterm
76  Source: ..\cygterm\cygterm+.tar.gz; DestDir: {app}; Components: cygterm  Source: ..\cygterm\cygterm+.tar.gz; DestDir: {app}; Components: cygterm
77  Source: ..\libs\logmett\Setup_LogMeTT_2_9_7.exe; DestDir: {tmp}; Components: LogMeTT; Flags: deleteafterinstall  Source: ..\libs\logmett\Setup_LogMeTT_2_9_8_1.exe; DestDir: {tmp}; Components: LogMeTT; Flags: deleteafterinstall
78  Source: ..\libs\logmett\Setup_TTLEditor_1_2_1.exe; DestDir: {tmp}; Components: TTLEdit; Flags: deleteafterinstall  Source: ..\libs\logmett\Setup_TTLEditor_1_2_1.exe; DestDir: {tmp}; Components: TTLEdit; Flags: deleteafterinstall
79  Source: ..\ttpmenu\Release\ttpmenu.exe; DestDir: {app}; Components: TeraTerm_Menu; Flags: ignoreversion  Source: ..\ttpmenu\Release\ttpmenu.exe; DestDir: {app}; Components: TeraTerm_Menu; Flags: ignoreversion
80  Source: release\ttmenu_readme-j.txt; DestDir: {app}; Components: TeraTerm_Menu  Source: release\ttmenu_readme-j.txt; DestDir: {app}; Components: TeraTerm_Menu
# Line 281  en.comp_TTXAlwaysOnTop=Always On Top can Line 282  en.comp_TTXAlwaysOnTop=Always On Top can
282  ja.comp_TTXAlwaysOnTop=常に最前面に表示できるようにする  ja.comp_TTXAlwaysOnTop=常に最前面に表示できるようにする
283  en.comp_TTXRecurringCommand=Recurring Command can be used  en.comp_TTXRecurringCommand=Recurring Command can be used
284  ja.comp_TTXRecurringCommand=定期的に文字列を送信する  ja.comp_TTXRecurringCommand=定期的に文字列を送信する
285    en.msg_AppRunningError=Setup has detected that Tera Term is currently running.%n%nPlease close all instances of it now, then click Next to continue.
286    ja.msg_AppRunningError=セットアップは実行中の Tera Term を検出しました。%n%n開いているアプリケーションをすべて閉じてから「次へ」をクリックしてください。
287    
288  [Code]  [Code]
289  const  const
# Line 356  begin Line 359  begin
359  end;  end;
360  }  }
361    
362    function CheckAppUsing(Filename:String) : integer;
363    var
364      TmpFileName : String;
365    begin
366      if FileExists(FileName) then
367        begin
368          TmpFileName := FileName + '.' + GetDateTimeString('yyyymmddhhnnss', #0, #0); // Tmp file ends with timestamp
369          if FileCopy(FileName, TmpFileName, True) then
370            if DeleteFile(FileName) then
371              if RenameFile(TmpFileName, FileName) then
372                Result := 0
373              else
374                Result := -1 // permission?
375            else
376              begin
377                Result := 1; // failed to delete
378                DeleteFile(TmpFileName);
379              end
380          else
381            Result := -1 // permission?
382        end
383      else
384        Result := 0;
385    end;
386    
387    function CheckAppsUsing() : integer;
388    var
389      FileDir  : String;
390      FileName : array[0..6] of String;
391      i        : integer;
392      flag     : boolean;
393    begin
394      FileDir := ExpandConstant('{app}');
395      FileName[0] := FileDir + '\ttermpro.exe';
396      FileName[1] := FileDir + '\ttpmacro.exe';
397      FileName[2] := FileDir + '\keycode.exe';
398      FileName[3] := FileDir + '\ttpmenu.exe';
399      FileName[4] := FileDir + '\cygterm.exe';
400      FileName[5] := FileDir + '\Collector.exe';
401      FileName[6] := FileDir + '\Collector_org.exe';
402      
403      flag := True;
404      for i := 0 to 6 do
405      begin
406        if flag = True then
407        begin
408          case CheckAppUsing(FileName[i]) of
409            1:
410              // failed to delete. in use.
411              begin
412                Result := 1;
413                flag := False;
414              end;
415            -1:
416              // failed to copy/rename
417              begin
418                Result := -1;
419                flag := False;
420              end;
421            else
422              // OK
423          end;
424        end;
425      end;
426    
427    end;
428    
429  function GetDefaultIniFilename : String;  function GetDefaultIniFilename : String;
430  begin  begin
431    Result := ExpandConstant('{app}') + '\TERATERM.INI';    Result := ExpandConstant('{app}') + '\TERATERM.INI';
# Line 363  end; Line 433  end;
433    
434  procedure SetIniFile(iniFile: String);  procedure SetIniFile(iniFile: String);
435  var  var
436    Language : String;    Language      : String;
437    Locale   : String;    Locale        : String;
438    CodePage : integer;    CodePage      : integer;
439    VTFont   : String;    VTFont        : String;
440    TEKFont  : String;    TEKFont       : String;
441    FileDir  : String;    FileDir       : String;
442    TCPPort  : integer;    TCPPort       : integer;
443      ViewlogEditor : String;
444    
445  begin  begin
446    Language := GetIniString('Tera Term', 'Language', '', iniFile);    Language       := GetIniString('Tera Term', 'Language', '', iniFile);
447    Locale   := GetIniString('Tera Term', 'Locale', '', iniFile);    Locale         := GetIniString('Tera Term', 'Locale', '', iniFile);
448    CodePage := GetIniInt('Tera Term', 'CodePage', 0, 0, 0, iniFile);    CodePage       := GetIniInt('Tera Term', 'CodePage', 0, 0, 0, iniFile);
449    VTFont   := GetIniString('Tera Term', 'VTFont', '', iniFile);    VTFont         := GetIniString('Tera Term', 'VTFont', '', iniFile);
450    TEKFont  := GetIniString('Tera Term', 'TEKFont', '', iniFile);    TEKFont        := GetIniString('Tera Term', 'TEKFont', '', iniFile);
451    FileDir  := GetIniString('Tera Term', 'FileDir', '', iniFile);    FileDir        := GetIniString('Tera Term', 'FileDir', '', iniFile);
452      FileDir        := GetIniString('Tera Term', 'FileDir', '', iniFile);
453      ViewlogEditor  := GetIniString('Tera Term', 'ViewlogEditor', '', iniFile);
454    
455    case GetUILanguage and $3FF of    case GetUILanguage and $3FF of
456    $04: // Chinese    $04: // Chinese
# Line 470  begin Line 543  begin
543      3:      3:
544        SetIniString('Tera Term', 'UILanguageFile', 'lang\French.lng', iniFile);        SetIniString('Tera Term', 'UILanguageFile', 'lang\French.lng', iniFile);
545      else      else
546        SetIniString('Tera Term', 'UILanguageFile', 'lang\English.lng', iniFile);        SetIniString('Tera Term', 'UILanguageFile', 'lang\Default.lng', iniFile);
547    end;    end;
548    
549    if Length(FileDir) = 0 then begin    if Length(FileDir) = 0 then begin
# Line 485  begin Line 558  begin
558        SetIniInt('Tera Term', 'TCPPort', 23, iniFile);        SetIniInt('Tera Term', 'TCPPort', 23, iniFile);
559    end;    end;
560    
561      if ViewlogEditor = 'notepad.exe' then begin
562        ViewlogEditor := ExpandConstant('{win}') + '\' + 'notepad.exe';
563        SetIniString('Tera Term', 'ViewlogEditor', ViewlogEditor, iniFile);
564      end;
565    
566  end;  end;
567    
568  procedure InitializeWizard;  procedure InitializeWizard;
# Line 515  begin Line 593  begin
593    case ActiveLanguage of    case ActiveLanguage of
594      'ja':      'ja':
595        UILangFilePage.SelectedValueIndex := 1;        UILangFilePage.SelectedValueIndex := 1;
596        // 他の言語は最新版に追従していないので、日本語だけ特別扱い
597      else      else
598        UILangFilePage.SelectedValueIndex := 0;        UILangFilePage.SelectedValueIndex := 0;
599    end;    end;
# Line 527  var Line 606  var
606    ResultCode: Integer;    ResultCode: Integer;
607    iniFile : String;    iniFile : String;
608  begin  begin
609      Result := True;
610    
611    case CurPageID of    case CurPageID of
612    
613      wpWelcome:      wpWelcome:
# Line 560  begin Line 641  begin
641    
642        end;        end;
643    
644        wpSelectDir:
645          begin
646    
647            ResultCode := CheckAppsUsing();
648            if ResultCode = 1 then
649              begin
650                MsgBox(CustomMessage('msg_AppRunningError'), mbError, MB_OK);
651                Result := False;
652              end;
653            // if -1, goto next. turn over to Inno Setup.
654    
655          end;
656    
657      wpSelectComponents:      wpSelectComponents:
658        begin        begin
659    
660          iniFile := GetIniString('Tera Term', 'UILanguageFile', '', GetDefaultIniFilename());          if FileExists(GetDefaultIniFileName()) then
661          if iniFile = 'lang\Japanese.lng' then          begin
662            UILangFilePage.SelectedValueIndex := 1            iniFile := Lowercase(GetIniString('Tera Term', 'UILanguageFile', '', GetDefaultIniFilename()));
663          else if iniFile = 'lang\German.lng' then            if iniFile = 'lang\japanese.lng' then
664            UILangFilePage.SelectedValueIndex := 2              UILangFilePage.SelectedValueIndex := 1
665          else if iniFile = 'lang\French.lng' then            else if iniFile = 'lang\german.lng' then
666            UILangFilePage.SelectedValueIndex := 3              UILangFilePage.SelectedValueIndex := 2
667          else            else if iniFile = 'lang\french.lng' then
668            UILangFilePage.SelectedValueIndex := 0;              UILangFilePage.SelectedValueIndex := 3
669              else
670                UILangFilePage.SelectedValueIndex := 0;
671            end;
672    
673        end;        end;
674    end;    end;
   Result := True;  
675  end;  end;
676    
677  procedure CurStepChanged(CurStep: TSetupStep);  procedure CurStepChanged(CurStep: TSetupStep);
# Line 694  Name: {app}\copyfont.bat; Type: files Line 790  Name: {app}\copyfont.bat; Type: files
790  Name: {app}\copyfont.pif; Type: files  Name: {app}\copyfont.pif; Type: files
791  Name: {app}\libeay.txt; Type: files  Name: {app}\libeay.txt; Type: files
792    
793  [_ISToolPreCompile]  [InnoIDE_PreCompile]
794  Name: makechm.bat  ;Name: makechm.bat
795  ; Name: build.bat; Parameters: rebuild  ;Name: build.bat; Parameters: rebuild
796  Name: build.bat  ;Name: build.bat

Legend:
Removed from v.3961  
changed lines
  Added in v.4354

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