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

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 4750 by maya, Tue Nov 29 13:42:12 2011 UTC
# Line 1  Line 1 
1  #define AppName "Tera Term"  #define AppName "Tera Term"
2  #define AppVer "4.67"  #define AppVer "4.72-RC2"
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 74  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_2.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 114  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 145  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    ; Cygterm Here from folder Background
151    ; MinVersion 5.00.0000 = not Win9x, 6.0.6000 = Vista or later
152    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
153    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
154    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
155    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
156  ; Associate with .TTL  ; Associate with .TTL
157  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
158  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 208  Name: ttyplayassoc; Description: {cm:tas Line 213  Name: ttyplayassoc; Description: {cm:tas
213    
214  [Run]  [Run]
215  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
216  Filename: {tmp}\Setup_LogMeTT_2_9_7.exe; Components: LogMeTT  Filename: {tmp}\Setup_LogMeTT_2_9_9_2.exe; Components: LogMeTT
217  Filename: {tmp}\Setup_TTLEditor_1_2_1.exe; Components: TTLEdit  Filename: {tmp}\Setup_TTLEditor_1_4_41.exe; Components: TTLEdit
218  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
219  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
220    
# Line 282  en.comp_TTXAlwaysOnTop=Always On Top can Line 287  en.comp_TTXAlwaysOnTop=Always On Top can
287  ja.comp_TTXAlwaysOnTop=常に最前面に表示できるようにする  ja.comp_TTXAlwaysOnTop=常に最前面に表示できるようにする
288  en.comp_TTXRecurringCommand=Recurring Command can be used  en.comp_TTXRecurringCommand=Recurring Command can be used
289  ja.comp_TTXRecurringCommand=定期的に文字列を送信する  ja.comp_TTXRecurringCommand=定期的に文字列を送信する
290    en.comp_installer=Other installer is started
291    ja.comp_installer=インストーラが起動します
292    en.msg_AppRunningError=Setup has detected that %s is currently running.%n%nPlease close all instances of it now, then click Next to continue.
293    ja.msg_AppRunningError=セットアップは実行中の %s を検出しました。%n%n開いているアプリケーションをすべて閉じてから「次へ」をクリックしてください。
294    
295  [Code]  [Code]
296  const  const
# Line 357  begin Line 366  begin
366  end;  end;
367  }  }
368    
369    function CheckFileUsing(Filename:String) : integer;
370    var
371      TmpFileName : String;
372    begin
373      if FileExists(FileName) then
374        begin
375          TmpFileName := FileName + '.' + GetDateTimeString('yyyymmddhhnnss', #0, #0); // Tmp file ends with timestamp
376          if FileCopy(FileName, TmpFileName, True) then
377            if DeleteFile(FileName) then
378              if RenameFile(TmpFileName, FileName) then
379                Result := 0
380              else
381                Result := -1 // permission?
382            else
383              begin
384                Result := 1; // failed to delete
385                DeleteFile(TmpFileName);
386              end
387          else
388            Result := -1 // permission?
389        end
390      else
391        Result := 0;
392    end;
393    
394    function CheckAppsUsing() : string;
395    var
396      FileDir  : String;
397      FileName : array[0..6] of String;
398      FileDesc : array[0..6] of String;
399      i        : integer;
400    begin
401      FileDir := ExpandConstant('{app}');
402      FileName[0] := FileDir + '\ttermpro.exe';
403      FileName[1] := FileDir + '\ttpmacro.exe';
404      FileName[2] := FileDir + '\keycode.exe';
405      FileName[3] := FileDir + '\ttpmenu.exe';
406      FileName[4] := FileDir + '\cygterm.exe';
407      FileName[5] := FileDir + '\Collector.exe';
408      FileName[6] := FileDir + '\Collector_org.exe';
409      FileDesc[0] := 'Tera Term';
410      FileDesc[1] := 'Tera Term Macro';
411      FileDesc[2] := 'Keycode';
412      FileDesc[3] := 'TeraTerm Menu';
413      FileDesc[4] := 'CygTerm+';
414      FileDesc[5] := 'Collector';
415      FileDesc[6] := 'Collector';
416      
417      for i := 0 to 6 do
418      begin
419        case CheckFileUsing(FileName[i]) of
420          1:
421            // Failed to delete. In use.
422            begin
423              if Length(Result) > 0 then
424                Result := Result + ', ' + FileDesc[i]
425              else
426                Result := FileDesc[i]
427            end;
428          else
429            // -1: Failed to copy/rename
430            //  0: OK
431            // NOP
432        end;
433      end;
434    
435    end;
436    
437  function GetDefaultIniFilename : String;  function GetDefaultIniFilename : String;
438  begin  begin
439    Result := ExpandConstant('{app}') + '\TERATERM.INI';    Result := ExpandConstant('{app}') + '\TERATERM.INI';
# Line 380  begin Line 457  begin
457    VTFont         := GetIniString('Tera Term', 'VTFont', '', iniFile);    VTFont         := GetIniString('Tera Term', 'VTFont', '', iniFile);
458    TEKFont        := GetIniString('Tera Term', 'TEKFont', '', iniFile);    TEKFont        := GetIniString('Tera Term', 'TEKFont', '', iniFile);
459    FileDir        := GetIniString('Tera Term', 'FileDir', '', iniFile);    FileDir        := GetIniString('Tera Term', 'FileDir', '', iniFile);
460    FileDir        := GetIniString('Tera Term', 'FileDir', '', iniFile);    TCPPort        := GetIniInt('Tera Term', 'TCPPort', 0, 0, 65535, iniFile)
461    ViewlogEditor  := GetIniString('Tera Term', 'ViewlogEditor', '', iniFile);    ViewlogEditor  := GetIniString('Tera Term', 'ViewlogEditor', '', iniFile);
462    
463    case GetUILanguage and $3FF of    case GetUILanguage and $3FF of
# Line 406  begin Line 483  begin
483        if CodePage = 0 then        if CodePage = 0 then
484          SetIniInt('Tera Term', 'CodePage', 932, iniFile);          SetIniInt('Tera Term', 'CodePage', 932, iniFile);
485        if Length(VTFont) = 0 then        if Length(VTFont) = 0 then
486          SetIniString('Tera Term', 'VTFont', 'MS 明朝,0,-16,128', iniFile);          SetIniString('Tera Term', 'VTFont', 'Terminal,0,-19,128', iniFile);
487        if Length(TEKFont) = 0 then        if Length(TEKFont) = 0 then
488          SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,128', iniFile);          SetIniString('Tera Term', 'TEKFont', 'Terminal,0,-8,128', iniFile);
489      end;      end;
# Line 524  begin Line 601  begin
601    case ActiveLanguage of    case ActiveLanguage of
602      'ja':      'ja':
603        UILangFilePage.SelectedValueIndex := 1;        UILangFilePage.SelectedValueIndex := 1;
604        // 他の言語は最新版に追従していないので、日本語だけ特別扱い
605      else      else
606        UILangFilePage.SelectedValueIndex := 0;        UILangFilePage.SelectedValueIndex := 0;
607    end;    end;
# Line 533  function NextButtonClick(CurPageID: Inte Line 611  function NextButtonClick(CurPageID: Inte
611  var  var
612    uninstaller  : String;    uninstaller  : String;
613    uninstaller2 : String;    uninstaller2 : String;
614    ResultCode: Integer;    ResultCode   : Integer;
615    iniFile : String;    iniFile      : String;
616      ErrMsg       : String;
617  begin  begin
618      Result := True;
619    
620    case CurPageID of    case CurPageID of
621    
622      wpWelcome:      wpWelcome:
# Line 569  begin Line 650  begin
650    
651        end;        end;
652    
653      wpSelectComponents:      wpSelectDir:
654        begin        begin
655    
656          iniFile := GetIniString('Tera Term', 'UILanguageFile', '', GetDefaultIniFilename());          ErrMsg := CheckAppsUsing();
657          if iniFile = 'lang\Japanese.lng' then          if Length(ErrMsg) > 0 then
658            UILangFilePage.SelectedValueIndex := 1            begin
659          else if iniFile = 'lang\German.lng' then              MsgBox(Format(CustomMessage('msg_AppRunningError'), [ErrMsg]), mbError, MB_OK);
660            UILangFilePage.SelectedValueIndex := 2              Result := False;
661          else if iniFile = 'lang\French.lng' then            end
           UILangFilePage.SelectedValueIndex := 3  
662          else          else
663            UILangFilePage.SelectedValueIndex := 0;          // -1: goto next. Turn over to Inno Setup.
664            //  0: goto next. No problem.
665            // NOP
666          end;
667    
668        wpSelectComponents:
669          begin
670    
671            if FileExists(GetDefaultIniFileName()) then
672            begin
673              iniFile := Lowercase(GetIniString('Tera Term', 'UILanguageFile', '', GetDefaultIniFilename()));
674              if iniFile = 'lang\japanese.lng' then
675                UILangFilePage.SelectedValueIndex := 1
676              else if iniFile = 'lang\german.lng' then
677                UILangFilePage.SelectedValueIndex := 2
678              else if iniFile = 'lang\french.lng' then
679                UILangFilePage.SelectedValueIndex := 3
680              else
681                UILangFilePage.SelectedValueIndex := 0;
682            end;
683    
684        end;        end;
685    end;    end;
   Result := True;  
686  end;  end;
687    
688  procedure CurStepChanged(CurStep: TSetupStep);  procedure CurStepChanged(CurStep: TSetupStep);
# Line 705  Name: {app}\libeay.txt; Type: files Line 803  Name: {app}\libeay.txt; Type: files
803    
804  [InnoIDE_PreCompile]  [InnoIDE_PreCompile]
805  Name: makechm.bat  Name: makechm.bat
806  ;Name: build.bat; Parameters: rebuild  ;Name: build.bat
807  Name: build.bat  Name: build.bat; Parameters: rebuild
808    
809    [InnoIDE_PostCompile]
810    Name: makearchive.bat; Parameters: release

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

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