[Setup] ; 更新・追加インストールのための識別名 ; (同一名であれば更新インストール、そうでなければ追加インストールとなる.) AppId = SeraphyScriptTools1.2 ; 表示名 AppName = SeraphyScriptTools ; 表示バージョン AppVersion = 1.2 ; 出力名 OutputBaseFilename={#SetupSetting("AppName")}-{#SetupSetting("AppVersion")}_setup ; 出力先ディレクトリ OutputDir=dist ; 表示する配布者名 AppPublisher=seraphyware.jp ; 著作権表示 AppCopyright=Copyright 2015 seraphy (seraphyware.jp) ; セットアップのバージョン情報 VersionInfoCompany = seraphyware.jp VersionInfoCopyright = copyright 2001/1 - 2015/9 seraphy (seraphyware.jp) VersionInfoDescription = SeraphyScriptTools (DLL) Installer (x64/x86) VersionInfoVersion = 1.2.0.2 ; プログラムグループ DefaultGroupName = SeraphyScriptTools ; プログラムグループの不作成を可とする AllowNoIcons=yes ; 常にcommonに入れるのでインストール先を問い合わせない. DisableDirPage = yes ; デフォルトのインストール先の指定 ; (インストール先はアンインストーラが保存される場所でもある) DefaultDirName={cf}\{#SetupSetting("AppName")}\{#SetupSetting("AppVersion")} ; 64bitはx64アーキテクチャを想定 ArchitecturesInstallIn64BitMode = x64 ; 日本語・英語のいずれでもない場合のみ言語選択画面を出す. ShowLanguageDialog = auto ; 圧縮形式 Compression=lzma2/max SolidCompression=yes [Languages] Name: "ja"; MessagesFile: "compiler:Languages/Japanese.isl"; Name: "en"; MessagesFile: "compiler:Default.isl"; [Types] Name: "Minimum"; Description: "{cm:MinInst}"; Name: "Full"; Description: "{cm:FullInst}"; Name: "Custom"; Description: "{cm:CustomInst}"; Flags: iscustom; [Components] Name: "CoreDLL"; Description: "Core DLL"; Types: Minimum Full Custom; Flags: fixed Name: "Help"; Description: "Help"; Types: Full Custom; Name: "Samples"; Description: "Samples"; Types: Full Custom; [Files] #define DLL_NAME_X64 "SeraphyScriptToolsx64.dll" #define DLL_NAME_X86 "SeraphyScriptTools.dll" ; 64ビット版dll Source: "x64\UnicodeRelease\{#DLL_NAME_X64}"; DestDir: "{code:GetTargetDir}"; Flags: regserver 64bit; MinVersion: 0,5.01sp3; Check: Is64BitInstallMode; Components: "CoreDLL"; ; 32ビット版dll Source: "Win32\UnicodeRelease\{#DLL_NAME_X86}"; DestDir: "{code:GetTargetDirX86}"; Flags: regserver 32bit; MinVersion: 0,5.01sp3; Components: "CoreDLL"; ; ヘルプ Source: "Help/seraphyscripttools.chm"; DestDir: "{code:GetTargetDir}/Help"; Flags: isreadme; Components: "Help"; ; サンプル Source: "TestScript/*"; DestDir: "{code:GetTargetDir}/Samples"; Components: "Samples"; [Icons] ; ヘルプ Name: "{group}\Help"; Filename: "{code:GetTargetDir}\Help\seraphyscripttools.chm"; WorkingDir: "{code:GetTargetDir}\Help\"; Components: "Help"; ; サンプル Name: "{group}\Samples\form1.vbs"; Filename: "{code:GetTargetDir}\Samples\form1.vbs"; WorkingDir: "{code:GetTargetDir}\Samples\"; Components: "Samples"; Name: "{group}\Samples\form2.vbs"; Filename: "{code:GetTargetDir}\Samples\form2.vbs"; WorkingDir: "{code:GetTargetDir}\Samples\"; Components: "Samples"; Name: "{group}\Samples\form3.vbs"; Filename: "{code:GetTargetDir}\Samples\form3.vbs"; WorkingDir: "{code:GetTargetDir}\Samples\"; Components: "Samples"; Name: "{group}\Samples\bitmap.vbs"; Filename: "{code:GetTargetDir}\Samples\bitmap.vbs"; WorkingDir: "{code:GetTargetDir}\Samples\"; Components: "Samples"; Name: "{group}\Samples\draw1.vbs"; Filename: "{code:GetTargetDir}\Samples\draw1.vbs"; WorkingDir: "{code:GetTargetDir}\Samples\"; Components: "Samples"; Name: "{group}\Samples\event1.vbs"; Filename: "{code:GetTargetDir}\Samples\event1.vbs"; WorkingDir: "{code:GetTargetDir}\Samples\"; Components: "Samples"; Name: "{group}\Samples\tree_list.vbs"; Filename: "{code:GetTargetDir}\Samples\tree_list.vbs"; WorkingDir: "{code:GetTargetDir}\Samples\"; Components: "Samples"; [CustomMessages] en.x86_x64=Install both x86 and x64 version. ja.x86_x64=x86版とx64版の両方がインストールされます. en.x86=Install x86 version. ja.x86=x86版がインストールされます. en.MinInst=Minimum ja.MinInst=最小構成 en.FullInst=Full ja.FullInst=完全 en.CustomInst=Custom ja.CustomInst=カスタム [Code] // 64ビット版のインストール先 // (32ビットモードの場合は32ビット版と同じ場所を指す.) function GetTargetDir(value: String): String; var vartmp: String; begin if Is64BitInstallMode then begin vartmp := '{cf64}'; end else begin vartmp := '{cf}'; end; Result := ExpandConstant(vartmp +'\{#SetupSetting("AppName")}\{#SetupSetting("AppVersion")}'); end; // 32ビット版のインストール先 function GetTargetDirX86(value: String): String; begin Result := ExpandConstant('{cf32}\{#SetupSetting("AppName")}\{#SetupSetting("AppVersion")}'); end; // インストール先の表示 function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String; begin // インストールモード (x64/x86 or x86) if Is64BitInstallMode then begin Result := Result + ExpandConstant('{cm:x86_x64}') + NewLine; end else begin Result := Result + ExpandConstant('{cm:x86}') + NewLine; end; Result := Result + NewLine; // インストール先の表示 Result := Result + 'Install directory:' + NewLine; if Is64BitInstallMode then begin // x64/x86ごとに Result := Result + Space + ExpandConstant('x64 = {code:GetTargetDir}') + NewLine; Result := Result + Space + ExpandConstant('x86 = {code:GetTargetDirX86}') + NewLine; end else begin // x86のみ Result := Result + Space + ExpandConstant('{code:GetTargetDirX86}') + NewLine; end; // ヘルプファイルのインストール先 if IsComponentSelected('Help') then begin Result := Result + NewLine; Result := Result + 'Help directory:' + NewLine; Result := Result + Space + ExpandConstant('{code:GetTargetDir}\Help') + NewLine; end; // サンプルのインストール先 if IsComponentSelected('Samples') then begin Result := Result + NewLine; Result := Result + 'Samples directory:' + NewLine; Result := Result + Space + ExpandConstant('{code:GetTargetDir}\Samples') + NewLine; end; end; // ページスキップの判定 function ShouldSkipPage(PageID: Integer): Boolean; begin if PageID = wpSelectProgramGroup then begin // Help, Samplesともに選択していない場合はスタートメニューを作成しないので問い合わせ不要 Result := not IsComponentSelected('Help') and not IsComponentSelected('Samples'); Exit; end; Result := False; end; // インストール開始、終了などのステップで呼び出される procedure CurStepChanged(CurStep: TSetupStep); begin Log('CurStepChanged(' + IntToStr(Ord(CurStep)) + ') called'); if CurStep = ssPostInstall then begin end; end;