오픈 소스 소프트웨어 개발 및 다운로드

Browse Subversion Repository

Diff of /trunk/installer/teraterm.iss

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

revision 3790 by maya, Sat Feb 20 13:43:23 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.65"  #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
71  Source: ..\ttssh2\ttxssh\Release\ttxssh.dll; DestDir: {app}; Components: TTSSH; Flags: ignoreversion  Source: ..\ttssh2\ttxssh\Release\ttxssh.dll; DestDir: {app}; Components: TTSSH; Flags: ignoreversion
72  Source: release\ssh_known_hosts; DestDir: {app}; Components: TTSSH; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify  Source: release\ssh_known_hosts; DestDir: {app}; Components: TTSSH; Flags: onlyifdoesntexist uninsneveruninstall; Permissions: authusers-modify
73  Source: ..\cygterm\cygterm.exe; DestDir: {app}; Components: cygterm  Source: ..\cygterm\cygterm.exe; DestDir: {app}; Components: cygterm
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_TTLEdit_1_1_5.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
81  Source: ..\TTProxy\Release\TTXProxy.dll; DestDir: {app}; Components: TTProxy; Flags: ignoreversion  Source: ..\TTProxy\Release\TTXProxy.dll; DestDir: {app}; Components: TTProxy; Flags: ignoreversion
# Line 207  Name: ttyplayassoc; Description: {cm:tas Line 209  Name: ttyplayassoc; Description: {cm:tas
209  [Run]  [Run]
210  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
211  Filename: {tmp}\Setup_LogMeTT_2_9_7.exe; Components: LogMeTT  Filename: {tmp}\Setup_LogMeTT_2_9_7.exe; Components: LogMeTT
212  Filename: {tmp}\Setup_TTLEdit_1_1_5.exe; Components: TTLEdit  Filename: {tmp}\Setup_TTLEditor_1_2_1.exe; Components: TTLEdit
213  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
214  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
215    
# Line 252  en.msg_language_subcaption=Select the la Line 254  en.msg_language_subcaption=Select the la
254  en.msg_language_none=&English  en.msg_language_none=&English
255  en.msg_language_japanese=&Japanese  en.msg_language_japanese=&Japanese
256  en.msg_language_german=&German  en.msg_language_german=&German
257    en.msg_language_french=&French
258  ja.msg_language_caption=言語の選択  ja.msg_language_caption=言語の選択
259  ja.msg_language_description=ユーザーインターフェースの言語を選択してください。  ja.msg_language_description=ユーザーインターフェースの言語を選択してください。
260  ja.msg_language_subcaption=アプリケーションのメニューやダイアログ等の表示言語を選択して、「次へ」をクリックしてください。  ja.msg_language_subcaption=アプリケーションのメニューやダイアログ等の表示言語を選択して、「次へ」をクリックしてください。
261  ja.msg_language_none=英語(&E)  ja.msg_language_none=英語(&E)
262  ja.msg_language_japanese=日本語(&J)  ja.msg_language_japanese=日本語(&J)
263  ja.msg_language_german=ドイツ語(&G)  ja.msg_language_german=ドイツ語(&G)
264    ja.msg_language_french=フランス語(&F)
265  en.msg_del_confirm=Are you sure that you want to delete %s ?  en.msg_del_confirm=Are you sure that you want to delete %s ?
266  ja.msg_del_confirm=%s を削除しますか?  ja.msg_del_confirm=%s を削除しますか?
267  en.msg_uninstall_confirm=It seems a former version is installed. You are recommended to uninstall it previously. Do you uninstall former version ?  en.msg_uninstall_confirm=It seems a former version is installed. You are recommended to uninstall it previously. Do you uninstall former version ?
# Line 278  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 330  begin; Line 336  begin;
336    end;    end;
337  end;  end;
338    
339    {
340    // If value is not found in INI, returns ""
341    function GetIniString2(Section:String; Key:String; Filename:String) : String;
342    var
343      Default1: String;
344      Default2: String;
345      Value1:   String;
346      Value2:   String;
347    begin
348      Default1 := 'on';
349      Default2 := 'off';
350      Value1 := GetIniString(Section, Key, Default1, Filename);
351      Value2 := GetIniString(Section, Key, Default2, Filename);
352    
353      if Value1 <> Value2 then
354        // no value in INI
355        Result := ''
356      else
357        // value in INI
358        Result := Value1
359    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 337  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
457      begin      begin
458        if Length(Language) = 0 then        if Length(Language) = 0 then
459          SetIniString('Tera Term', 'Language', 'Japanese', iniFile);          SetIniString('Tera Term', 'Language', 'UTF-8', iniFile);
460        if Length(Locale) = 0 then        if Length(Locale) = 0 then
461          SetIniString('Tera Term', 'Locale', 'chs', iniFile);          SetIniString('Tera Term', 'Locale', 'chs', iniFile);
462        if CodePage = 0 then        if CodePage = 0 then
# Line 412  begin Line 511  begin
511        if GetUILanguage = $409 then begin // en-US        if GetUILanguage = $409 then begin // en-US
512    
513          if Length(Language) = 0 then          if Length(Language) = 0 then
514            SetIniString('Tera Term', 'Language', 'Japanese', iniFile);            SetIniString('Tera Term', 'Language', 'UTF-8', iniFile);
515          if Length(Locale) = 0 then          if Length(Locale) = 0 then
516            SetIniString('Tera Term', 'Locale', 'american', iniFile);            SetIniString('Tera Term', 'Locale', 'american', iniFile);
517          if CodePage = 0 then          if CodePage = 0 then
# Line 441  begin Line 540  begin
540        SetIniString('Tera Term', 'UILanguageFile', 'lang\Japanese.lng', iniFile);        SetIniString('Tera Term', 'UILanguageFile', 'lang\Japanese.lng', iniFile);
541      2:      2:
542        SetIniString('Tera Term', 'UILanguageFile', 'lang\German.lng', iniFile);        SetIniString('Tera Term', 'UILanguageFile', 'lang\German.lng', iniFile);
543        3:
544          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 457  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 467  var Line 573  var
573    UILangFilePageNone        : String;    UILangFilePageNone        : String;
574    UILangFilePageJapanese    : String;    UILangFilePageJapanese    : String;
575    UILangFilePageGerman      : String;    UILangFilePageGerman      : String;
576      UILangFilePageFrench      : String;
577  begin  begin
578    UILangFilePageCaption     := CustomMessage('msg_language_caption');    UILangFilePageCaption     := CustomMessage('msg_language_caption');
579    UILangFilePageDescription := CustomMessage('msg_language_description');    UILangFilePageDescription := CustomMessage('msg_language_description');
# Line 474  begin Line 581  begin
581    UILangFilePageNone        := CustomMessage('msg_language_none');    UILangFilePageNone        := CustomMessage('msg_language_none');
582    UILangFilePageJapanese    := CustomMessage('msg_language_japanese');    UILangFilePageJapanese    := CustomMessage('msg_language_japanese');
583    UILangFilePageGerman      := CustomMessage('msg_language_german');    UILangFilePageGerman      := CustomMessage('msg_language_german');
584      UILangFilePageFrench      := CustomMessage('msg_language_french');
585    
586    UILangFilePage := CreateInputOptionPage(wpSelectComponents,    UILangFilePage := CreateInputOptionPage(wpSelectComponents,
587      UILangFilePageCaption, UILangFilePageDescription,      UILangFilePageCaption, UILangFilePageDescription,
# Line 481  begin Line 589  begin
589    UILangFilePage.Add(UILangFilePageNone);    UILangFilePage.Add(UILangFilePageNone);
590    UILangFilePage.Add(UILangFilePageJapanese);    UILangFilePage.Add(UILangFilePageJapanese);
591    UILangFilePage.Add(UILangFilePageGerman);    UILangFilePage.Add(UILangFilePageGerman);
592      UILangFilePage.Add(UILangFilePageFrench);
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 496  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 529  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            else if iniFile = 'lang\german.lng' then
666            UILangFilePage.SelectedValueIndex := 0;              UILangFilePage.SelectedValueIndex := 2
667              else if iniFile = 'lang\french.lng' then
668                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 661  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.3790  
changed lines
  Added in v.4354

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