Inno Setup 5
修正履歴
Copyright © 1997-2014 Jordan Russell. All rights reserved.
Portions Copyright © 2000-2014 Martijn Laan. All rights reserved.
配布、使用の条件については LICENSE.TXT をご覧ください。
翻訳: RAPT. 原本: What's new in this version? 開発版: Revision History file in Git
5.5.6-dev (?)
- Inno Setup で使用されるさまざまな manifest リソースに Windows 10 "compatibility" セクションを追加。
- 新たに [Setup] セクションに追加したディレクティブ: SignToolRetryCount, デフォルトは 2. デジタル署名で何らかのエラーがあった時、セットアップコンパイラが自動的にリトライすべき回数を指定する。
- 修正: コンソールモードコンパイラ (ISCC) の変更: /D と競合するおそれを避けるために、/DO および /EO コマンドライン引数名を /O- および /O+ に変更した。
- Pascal Scripting の変更: Unicode 版 Inno Setup: 新たに VarIsClear 関数を追加。
- Unicode [Code] based on RemObjects Pascal Script Git commit db0d6f521113a31b34a76aeefd79fb148a9c4bfd.
- さまざまなドキュメントの改善。Contributed by jogo- via GitHub.
- 細かい調整。
5.5.5 (2014-07-09)
- /LOG: INI エントリを記録するようになった。同時にアイコンエントリのロギングも改善した。
- [Setup] セクションに次のディレクティブを追加: Output、デフォルトは yes。no に設定すると、セットアップコンパイラは、スクリプトのエラーをチェックするだけで、セットアップファイルの作成をスキップする。
- コンソールモードコンパイラ (ISCC) の変更:
- 新たなコマンドライン引数 /DO と /EO を追加。Output ディレクティブをオーバーライドして output を無効化あるいは有効化するのに使用できる。
- 新たなコマンドライン引数 /Qp を追加。まだプログレスを表示中に静かなコンパイルを有効にするために使用できる。Contributed by KngStr via GitHub.
- ISCC は IDE を使って構成された任意の署名ツールを自動的に指定できる。/S コマンドライン引数を使用することでこれらの指定の必要性を排除できる。Also contributed by KngStr via GitHub.
- Pascal Scripting の変更:
- 現在処理している [Files] エントリのソースファイル名を返す新たな関数 CurrentSourceFileName を追加, 返却される名前は定数を含む。
注意: external フラグを指定して [Files] エントリに所属している Check、BeforeInstall、AfterInstall イベント関数の外側でこの関数を呼び出そうとしないでください。
- すでに存在している StrToFloat および FloatToStr 関数をドキュメントに記載した。
- 文字列と数字がハイライトされるようになった。Based on contribution by maldoinc via GitHub.
- Unicode 版 Inno Setup: 新たなクラス TStringStream を追加。
- Inno Setup Preprocessor (ISPP) の変更:
- 新たに DeleteFileNow 関数を追加。
- ReadReg 関数で 64ビットのサポートを追加。
- 公式のスコットランド·ゲール語、トルコ語の翻訳を追加。
- Fix: 64ビットモードで実行していたとき、[Setup] セクションの UsePreviousLanguage ディレクティブが動作していなかった。
- Unicode [Code] based on RemObjects Pascal Script Git commit 97eefc260b41ba51328d95b4ed43669f38655720.
- さまざまなドキュメントの改善。Contributed by jogo- via GitHub.
5.5.4 (2013-10-13)
- Inno Setup で使用されるさまざまな manifest リソースに Windows 8.1 "compatibility" セクションを追加。Windows 8 (6.2) で行なったことと同じように同じバージョンを取得する代わりに実際のバージョン番号 (6.3) を取得することで OS バージョンの任意のチェックが可能となる。
- IDE コンパイラ: 新たなオプションを追加: Show line numbers in gutter (デフォルト: off).
- Pascal Scripting の変更:
- セットアップがファイルを解凍中、ショートカット作成中、INI エントリ作成中、レジストリエントリ作成中に、プログレス観測を使用できるようにする新たなイベント関数 CurInstallProgressChanged を追加。より詳しい情報は、ヘルプファイルや CodeExample1.iss サンプルスクリプトを参照。Contributed by TLama via GitHub.
- [Code] からそのキャプションが設定されたとしても、WizardForm.BeveledLabel 可視性が自動的にハンドルされるようになった。
- Unicode [Code] based on RemObjects Pascal Script Git commit 538905910852bcbeef646f26592a973d15d3d5ec.
- 細かい調整。
5.5.3 (2013-01-30)
- Windows 8 の変更: [Icons] セクションの excludefromshowinnewinstall フラグは追加で、スタート画面で自動的にピン止めされる新しいショートカットを阻害する。
- 新たなコマンドライン引数がセットアップによりサポートされた: /HELP および /?. セットアップが受け入れるコマンドライン引数をメッセージボックスで表示し、その後終了コード 0 で終了する。[Setup] セクションの UseSetupLdr が no に設定されていたら無視される。
- 新たなコマンドライン引数が Inno Setup 自身のインストーラーでサポートされた: /PORTABLE=1. これは、Inno Setup 自身のインストーラーがアンインストーラーやコントロールパネルの プログラムの追加と削除へのエントリを作成しない。QuickStart Pack のインストーラーでも同様にサポートされた。
- ユーザーがインストールされたショートカットのアイコンを変更しようとした時、Windows がエラーメッセージを表示するいくつかの場合における 64ビット Windows のバグへの回避策を追加。
- Motaz Alnuweiri により作成されたコンパイラとドキュメントのアイコンを更新。
- Restart Manager: セットアップがサイレント実行されておらず、アップデートが必要なすべての使用中のアプリケーションを閉じることができないとき、ユーザーに中止、再試行、無視、を訊ねるようにした。以前は常に無視していた。
- このバージョンでメッセージが追加された。
(Default.isl の差分を参照)
- 新規メッセージ: ErrorCloseApplications.
- 公式のコルシカとネパール語の翻訳を追加した。ネパール語の翻訳では、Unicode 版 Inno Setup を必要とする。
- Inno Setup Preprocessor (ISPP) の変更:
- 既存の配列変数の寸法を増減する #redim ディレクティブを追加。
- DimOf 関数を追加。指定した識別子の寸法を返却する。
- Pascal Scripting の変更:
- 新たな関数を追加: ExtractTemporaryFiles。この関数は ExtractTemporaryFile のようだが、ワイルドカードをサポートし、ディレクトリ情報を無視しない。
- ExtractTemporaryFile または ExtractTemporaryFiles がファイルを抽出したとき、ロギングされるようになった。
- Unicode 版 Inno Setup: IntToStr で Int64 型をサポートするようになった。 同様に新たに StrToInt64、StrToInt64Def、GetSpaceOnDisk64 サポート関数も追加。
- [Files] エントリの Flags パラメーターが isreadme を含み、そのエントリが BeforeInstall または AfterInstallパラメーターを含むと、BeforeInstall または AfterInstall 関数は、インストールが完了した後に表示されたとき、ファイルがインストールされたときにだけ呼ばれ、二度と呼ばれないようになった。
- 原文のプロダクトバージョン値である [Setup] セクションの VersionInfoProductTextVersion ディレクティブについて、20文字ではなく50文字で切り捨てるようになった。Contributed by Lukas G (AIS) via GitHub.
- Inno Setup ヘルプファイルのソースコードがメインの Inno Setup のソースコードレポジトリーに移動した。
- 修正: [Setup] セクションの CloseApplicationsFilter ディレクティブは部分的に大文字と小文字を区別した。
- Unicode [Code] based on RemObjects Pascal Script Git commit 31abd2925837d85a6965b5325e8fb7835ca73ea8.
- QuickStart Pack:
コマンドラインで /ALLOWINNOIDE=1 が指定されない限り、もはや InnoIDE (もはやその作者にメンテされない) のダウンロードとインストールを提供しない。
もし InnoIDE をまだ使っている場合、Inno Script Studio (QuickStart pack がダウンロードとインストール可能である) に切り替えることを推奨する。
- 細かい調整。
5.5.2 (2012-10-08)
- Inno Setup で使用されるさまざまな manifest リソースに Windows 8 "compatibility" セクションを追加。
- {userpf} および {usercf} 定数を追加。
Windows 7 以降で {userpf} および {usercf} はサポートされる; 以前の Windows バージョンで使用された場合、{localappdata}\Programs および {localappdata}\Programs\Common といった同名のディレクトリに翻訳される。
- Pascal Scripting: 新たに RegisterExtraCloseApplicationsResources イベント関数と、RegisterExtraCloseApplicationsResource サポート関数を追加。これらの関数は、使用できるようにするためにセットアップがチェックすべきほかのファイルを登録するために使用できる。
- セットアップにより新たなコマンドライン引数がサポートされる: /CLOSEAPPLICATIONS および /RESTARTAPPLICATIONS 。これらは CloseApplications および RestartApplications をオーバーライドするために使用できる。
- Unicode 版 Inno Setup のサイズを少し削減。Contributed by Andreas Hausladen via GitHub.
- Unicode [Code] based on RemObjects Pascal Script Git commit 52291ffbfc14f3cf1a445f3e88c6902e13fbdf78.
- 細かい調整。
5.5.1 (2012-07-09)
- 公式のギリシャ語翻訳を追加した。
- 前回のバージョンで導入された変更のための Catalan, Czech, Danish, Finnish, French (Standard), German, Hebrew, Hungarian, Italian, Japanese, Norwegian (Bokmal), Polish, Portuguese (Brazil), Portuguese (Portugal), Russian, Serbian (Cyrillic), Serbian (Latin), Slovenian, Spanish, および Ukrainian 語の翻訳を更新した。
- メンテナーによる更新が不足しているため、公式の Basque および Slovak 翻訳を非公式へと降格した。アップデートを自身で送信するには、アップデートするには何が必要かを確認するためにこの投稿をご覧になり、更新を送信するためにこのフォーム(もしくは GitHub)をお使いください。詳細は Inno Setup Translations ページをご覧ください。
- 修正: Preparing to Install ウィザードページにおいて、[Files] および [InstallDelete] エントリーの Components や Tasks パラメーターで、更新する必要があるものの、使用中か(他のインストール作業によって)キューされており、次回の再起動時に置換または削除されるべきファイルの検出が動作していなかった。
- 細かい調整。
5.5.0 (2012-05-29)
- 非 Unicode 版 Inno Setup OS 要件の変更: Windows 95, 98, Me, NT 4.0 はもはやサポートされなくなった。Unicode 版と同じく、Windows 2000 がオペレーティング システムの最小サポートとなった。
- MinVersion と OnlyBelowVersion ディレクティブおよびパラメータは単一のバージョン番号のみ必要となった。例えば: MinVersion=5.1 以前のバージョンの Inno Setup との互換性のため、まだ Windows 95/98/Me と Windows NT のバージョン番号を分けて指定できるが、もはや使用されていない。
- Windows Vista 以降で、セットアップは、アップデートに必要なファイルを使ってアプリケーションを閉じたり再起動するために Windows Restart Manager API をサポートする:
- [Setup] セクションに次のディレクティブを追加: CloseApplications、デフォルトは yes。
yes に設定されていてセットアップがサイレント実行されていないと、セットアップは [Files] や [InstallDelete] によってアップデートが必要とされているファイルを使用しているアプリケーションを検出すると、アプリケーションを表示しユーザーに、セットアップがインストール完了後に自動的にアプリケーションを閉じて再起動するようにすべきかを訊ねるため、Preparing to Install ウィザードページで停止するようになる。
yes に設定されていてセットアップがサイレント実行されていると、セットアップはコマンドライン経由で否定しない限り、このようなアプリケーションを常に閉じて再起動する (下記参照)。
- [Setup] セクションに次のディレクティブを追加: CloseApplicationsFilter、デフォルトは *.exe,*.dll,*.chm。セットアップが使用するにあたりどんなファイルをチェックするか設定する。これを *.* に設定するとチェック速度を向上できます。
- [Setup] セクションに次のディレクティブを追加: RestartApplications、デフォルトは yes。メモ: インストール完了後、セットアップがアプリケーションを再起動できるようにするために、アプリケーションは Windows RegisterApplicationRestart API 関数を使用する必要がある。
- セットアップでサポートされる新しいコマンドラインパラメーターを追加: /NOCLOSEAPPLICATIONS および /NORESTARTAPPLICATIONS。これらは、新しい CloseApplications および RestartApplications ディレクティブをオーバーライドするために使用できる。
- [Code] サポート関数を追加: RmSessionStarted
- TWizardForm: PreparingMemo プロパティを追加
- Preparing to Install ウィザードページで [InstallDelete] セクションで指定されている 1 つまたは複数のファイルが次回の再起動で交換または削除されるように (何らかの他のインストールによって) キューに入れられたときにもセットアップはページを停止するべくチェックを行なうようになった。以前は [Files] セクションで指定されたファイルをチェックするだけだった。
- セットアップは PrepareToInstall [Code] イベント関数が実行中、さらに Back と Next ボタンを隠すようになった。以前は無効化するだけだった。
- [Setup] セクションに次のディレクティブを追加: AllowNetworkDrive、デフォルトは yes。no に設定されると、ウィザードの Select Destination Location ページでネットワークドライブに入ることを許可されなくなる。メモ: ネットワーク上の位置にインストールすることを完全に禁止するには、AllowUNCPath をも no に設定せねばならない。
- Windows 7 の変更:
- [Icons] セクションのフラグを新規追加: preventpinning。Windows 7 (以降) のピン可能なタスクバーやスタートメニューからのスタートメニュー項目を妨げる。これはスタートメニューの最近使った(MFU)リストに含めることも不適格とする。Windows の以前のバージョンでは無視される。GitHub を介して Milan Burda による寄稿。
- Windows 7 SP1 はアンインストールレジストリキーの EstimatedSize の値の問題を修正したので、Windows 7 SP1 以降では、セットアップは 4GB 以上のサイズでも EstimatedSize を設定するようになった。
- [Files] セクションの "auto-retry" 機能を改善: [Files] セクションの restartreplace フラグが使用されていても、自動的にリトライするようになった。
- パスカル スクリプト: InstallOnThisVersion サポート関数が Boolean 値を返すように変更した。不適切なバージョン文字列が渡されると、例外が発生する。
- Motaz によって作成された 128x128 および 256x256 サイズをコンパイラーとドキュメントのアイコンに追加した。
- このバージョンでいくつかのメッセージの追加と削除が行なわれた。
(Default.isl の差分を見る)
- 新規メッセージ: ApplicationsFound, ApplicationsFound2, CannotInstallToNetworkDrive, CannotInstallToUNCPath, CloseApplications, DontCloseApplications, InvalidParameter, SetupAlreadyRunning, ShutdownBlockReasonInstallingApp, ShutdownBlockReasonUninstallingApp, StatusClosingApplications, StatusRestartingApplications, WindowsServicePackRequired, WindowsVersionNotSupported
- 新規カスタムメッセージ: AutoStartProgramGroupDescription, AutoStartProgram, AddonHostProgramNotFound
- 削除されたメッセージ: ToUNCPathname
メモ: 現時点では公式の英語とオランダ語(オランダ)の翻訳のみ、これらの変更のために更新されています。詳細は Inno Setup Translations ページをご覧ください。
- Inno Setup プリプロセッサー (ISPP) の変更:
- DirExists 関数を追加。
- ISPP のソースコードはメインの Inno Setup ソースコードのレポジトリに移動した。
- RemObjects Pascal Script ベースの Unicode 版 [Code] は Git commit e5a93a963f785e89810e61e3eb5e2b6ee3efd3e7 です。
- 細かい調整。
5.4.3 (2011-12-20)
- クイックスタート パック: InnoIDE のほかに Inno Script Studio のダウンロードとインストールを提供するようになった。
- セットアップは {group} の下にショートカットを作成を抑制するためだけに「スタートメニューフォルダーを作成しない」チェックボックスを許可するようになった。以前は、タスクのパラメーターに不足していたエントリーの {userstartup} のような他の場所にショートカットを作成するときにも抑制されていた。
- セットアップは、Select Components ページの下部にディスクの空き容量を計算して表示するとき、Tasks/Check パラメーターのファイル数を数えなくなった。
- 任意のデバイスで外部ファイルのコピーのスループットを改善した。
- Unicode 版において、セットアップは有効であればリッチエディット 4.1 をサポートする。
- Inno Setup Preprocessor (ISPP) の変更:
- ドキュメントの改善: ISPPBuiltins.iss から利用可能な関数をヘルプファイルに追加した。
- #ifexist/#ifnexist: ISPP 関数の一貫性のため、ファイル名が相対的なとき SourcePath を付加し、そしてプリフィクスの拡張もまたサポートする。
- ReadReg: キーのアクセスの際 KEY_QUERY_VALUE のみを要求するようになった。以前は KEY_ALL_ACCESS を要求していた。
- Inno Setup のソースコードは GitHub の GIT リポジトリーとしても利用可能になった。これは Inno Setup への貢献を容易にする。詳細は GitHub Help - Fork A Repo を参照。
- 公式のセルビア語(ラテンとキリル文字の両方)とウクライナ語の翻訳を追加した。
- 細かい調整。
5.4.2 (2011-03-17)
- Window 7 の変更:
- 新しく [Icons] セクションのフラグを追加: excludefromshowinnewinstall. Windows 7 (とそれ以降) においてスタートメニューの項目で新しくインストールされたアプリケーションのショートカットが強調表示されるのを防ぎます。以前のバージョンの Windows では無視されます。
- コンパイラー IDE の変更:
- Edit | Complete Word のショートカットを Alt+Right に変更した。(しかしまだ Ctrl+Space も認識されます。) 報告によれば、Ctrl+Space は中国語版 IME で競合します。
- 修正:
- Inno セットアップ プリプロセッサー: #include での '.\' と '..\' の処理は、(未定義の)カレントディレクトリではなく、カレントファイルを含むディレクトリへの相対的なファイル名として扱われる。
- 5.4.1 Unicode コンパイラで、DBCS コードページの環境下で複数言語版インストーラーをビルドしようとすると、意図しない "Illegal null character" エラーになる。
- Unicode 版で、BeforeInstall と AfterInstall 関数に文字列型のパラメーターを渡すと ANSI に変換されていた。
5.4.1 (2011-02-09)
- Inno セットアップ プリプロセッサー (ISPP) の変更:
- ISPP は現在、Inno セットアップの公式な部位となり、クイックスタートパックのインストーラにのみであったのに代えて、Inno セットアップのインストーラに標準で導入されました、
- .isl ファイルの先頭に #preproc ispp の一行を追加することによって、.isl で ISPP プリプロセスが可能になった、
- Exec, ReadIni, WriteIni の例外を除き、ISPP 関数はファイル名を取得する際、カレント ディレクトリの代わりに、ファイル名を SourcePath からの相対パスとして解釈するよう変更されました。それに加えて、これらの関数と #include ディレクティブと、#file ディレクティブは、ファイル名に前置プリフィクス (たとえば、'compiler:') をサポートします。
- #include ディレクティブはもはやカレント ディレクトリを検索しない。
- Builtins.iss は ISPPBuiltins.iss に名前を変更した。
- コンパイラー IDE はもはやタイトルバーに別の ISPP のバージョン番号を表示しない。
- コンパイラー IDE の変更:
- Edit | Replace | Replace All コマンドは、Delphi スタイルの "From Cursor" 置換の動作に代わり、本当にすべてを置き換えます。また、すべての置換ひとつの undo アクションとして数えられ、何回置換が発生したか表示します。
- Unicode 版の変更: 新しく File | Save Encoding サブメニューを追加。UTF-8 エンコーディングが本当に必要でなくても、既存のファイルの UTF-8 BOM を維持するのがデフォルトになります。
- Unicode 版の変更: DLL ファイル名に Unicode 文字をサポート。(スクリプト内で直接指定していなくても、{app} のような定数で返される。) これは、非 ANSI 文字を {app} に含むパスでアンインストールする時、たとえば CodeDll.iss サンプルスクリプトでみられるような "Cannot Import" エラーを修正する。
- Preparing to Install ステージに関連する 2 つの新しいセットアップ終了コードを追加した。詳しくはヘルプファイルをご覧ください。
- 細かい調整。
5.4.0 (2010-10-31)
- コンパイラー IDE の変更:
- エディター コンポーネントが SynEdit から Scintilla に変更された。
- オートコンプリートのサポートが [Messages], [CustomMessages], [Code] 以外のすべてのセクションに追加された。
- すべてのセクションに Brace ハイライトが追加された。
- 編集中、文法エラーにはアンダーラインがつくようになった。([Code] セクションのサポートに限定される。)
- 定数がハイライトされるようになった。
- 可変ピッチのフォントがエディターフォントとして選択できるようになった。
- ISPP インライン ディレクティブ ({#...}) はすべてのコンテキストの中で一貫してハイライトされるようになった。
- ズームがサポートされるようになった。
- 新規オプションを追加: ワードラップ(Word wrap) (デフォルト: off), 自動インデントモード(Auto indent mode) (デフォルト: on), インデントガイドを表示(Show indentation guides) (デフォルト: off), オートコンプリートを自動実行(Invoke autocomplete automatically) (デフォルト: on), 文法エラーに下線(Underline syntax errors) (デフォルト: on), タブ文字を使用(Use tab character) (デフォルト: off).
- セットアップは、ファイルやフォルダー名を入力するのに使用するエディットコントロールに、完全なファイルシステムパスを助けるためにオートコンプリートを指示するようになった。
- ディスクの空き容量チェック時、セットアップはルートではなく、もっとも近いボリュームのマウントポイントを要求するようになった。
- /DIR=, /GROUP=, /LOADINF= コマンドラインパラメーターによって、デフォルトディレクトリやスタートメニューのフォルダー名を指定されたとき、
セットアップに、任意の名前の定数を展開するよう指示する "expand:" プレフィクスを含められるようになった。たとえば: /DIR="expand:{pf}\My Program"
- パスカル スクリプトの変更:
- TNewProgressBar: Style, State プロパティを追加。CodeClasses.iss サンプルスクリプトを参照してください。
- TBitmapImage: OnClick, OnDblClick プロパティを追加。CodeClasses.iss サンプルスクリプトを参照してください。
- [Files] セクションの regtypelib フラグと [Registry] セクションの Permissions パラメーターで、Itanium 64 ビットのサポートを打ち切った。Itanium "helper" バイナリに依存するこれらの機能は、もはやテストやビルドができない。(これらの機能の x64 サポートは影響しません。)
- bzip2 ライブラリを version 1.0.6 にアップデート
- 細かい調整。
5.3.11 (2010-09-17)
- クイックスタート パック: ISTool の代わりに InnoIDE のダウンロード&インストールが提供されている。InnoIDE は Graham Murt によって Inno Setup Script エディタを簡単に使え、Inno Setup とともに標準のコンパイラ IDE を置き換えられる。特に新規ユーザーは InnoIDE を使用することを推奨する。メモ: ISTool とは違い、InnoIDE は Unicode スクリプトをサポートする。
- Unicode 版の変更:
- 以前は、Unicode インストーラーが、言語 ID が $0404 (Taiwan) と $0804 (PRC) を使用している、Traditional Chinese と Simplified Chinese の両方の翻訳を含んでいると、別の Traditional Chinese 言語 ID—$0C04 (Hong Kong) のような— でユーザーが実行しているユーザーは、もし、それがスクリプトの [Languages] セクションで最初に掲示されていると、デフォルトでは、不正な Simplified Chinese を受け取ってしまっていた。ANSI 版のセットアップのように、Traditional Chinese と Simplified Chinese は完全に別の言語として扱われるようになります。従って、他のオプションが有効になり、Traditional Chinese システムで、Simplified Chinese はデフォルト言語として選択されるような考慮はされませんし、その逆も同様です。
- コンパイラー IDE エディタが最新の UniSynEdit バージョンにアップデートされた。これは、初回保存時にスクリプトの末尾に余分な空行が現れるのが修正された。
- 検索ダイアログがフォーカスを持っている間、もはや Ctrl+V/Esc/他 はコンパイラー IDE のメインウィンドウによって遮断されない。
- RemObjects Pascal Script SVN コード リビジョン 233 ベースになった。これは、Unicode 版で GetExceptionMessage が常に "(There is no current exception)" を返すのを修正する。
- コンパイラ IDE: Build | Open Output Folder コマンドを新規追加。
- 特定のケースで、[Run] エントリーの postinstall nowait 経由で開始されたアプリケーションが期待通りにフォアグラウンド (Z オーダーのトップ) に来なかった。
これは、生成されたプロセスが初期化可能になる前にセットアップが終了したときに起こり、Windows が Z オーダーにおけるセットアップの下のあるウィンドウを代わりにフォアグラウンドに持ってくるのが原因だった。現在は、[Run] エントリーの postinstall nowait が処理されるとき、他のプロセスがセットアップをフォアグラウンドから追い出すことができるように、セットアップは終了する前にちょっとだけ (1 秒まで) 待つようになった。
- 潜在的な DLL プリロード攻撃に対してアプリケーションを守るのを助けるために、セットアップは、作成するショートカットの作業ディレクトリを常に指定します。WorkingDir パラメーターが指定されていないかブランクにすると、セットアップは Filename パラメーターからディレクトリ名を抽出しようとします。何らかの理由によって失敗すると、作業ディレクトリは {sys} が設定されます。
- 潜在的な DLL/EXE プリロード攻撃に対してインストーラーを守るのを助けるために、セットアップ/アンインストーラーは、DLL 検索順からカレントディレクトリーを取り除くために SetDllDirectory を呼びだし、SearchPath と CreateProcess がシステムディレクトリの前にカレントディレクトリを検索することを妨げるために SetSearchPathMode を呼びます。
-
[Run]/[UninstallRun] エントリーの Filename パラメーターや Exec/ShellExec 呼び出しでパスを含んでなく、かつ WorkingDir の値が供給されていないと、セットアップ/アンインストーラーは、プロセスがセットアップ/アンインストーラーのカレントディレクトリを継承することを許可する代わりに、既知の安全なデフォルト (現在は {sys}) をプロセスの初期カレントディレクトリとして指定します。しかしながら、この振る舞いに依存すべきではありません;Filename パラメーターで常にパスを指定することが最善です。
- 「ファイルを開く」あるいは「ファイルを保存」のコモンダイアログで無視された場合、カレントディレクトリがその値として設定される。
- bzip2 ライブラリを version 1.0.5 にアップデート
- QuickStart Pack: GetFileVersion のようなシステムの DLL を使用する、あらゆる ISPP 関数はカレントディレクトリを検索しなくなった。
- 細かい調整。
5.3.10 (2010-06-11)
- .NET Framework 4.0 のサポート:
- 定数 {dotnet40}, {dotnet4032}, {dotnet4064} を追加。.NET Framework version 4.0 が存在しないシステム上でこれらの定数を展開しようとすると例外が発生するだろう。
- [Files] セクションの gacinstall フラグは .NET Framework 4.0 アセンブリーでも使用できるようになった。
- Windows 7 の変更:
- [Icons] セクションの foldershortcut フラグは、Windows 7(およびそれ以降) で無視され、もうスタートメニューでフォルダーショートカットは適切に展開されません。
- [Setup] セクションのディレクティブの変更:
- SignedUninstaller が yes に設定されたとき、セットアップで使用される一時的な自己複製にもデジタル署名が必要になった。
- Uninstallable で、チェック関数の呼び出しを含み、真偽値を設定できるようになった。たとえば: Uninstallable=not IsTaskSelected('portablemode') 詳しくは Uninstallable ドキュメントをご覧ください。
- AppVersion が指定されているとき、AppVerName はもはや必須ではなくなった。次は効果的なデフォルトになります: {cm:NameAndVersion,[AppName],[AppVersion]} コンパイラー IDE の新しいスクリプトウィザードもまた、AppVerName の代わりに AppVersion を尋ねます。
- VersionInfo* ディレクティブで空の文字列が設定されていると(指定していないのとは対照的に)、バージョン情報フィールドは、強制的にデフォルト値にするのではなく、本当に空の文字列が設定されるようになった。
- VersionInfoProductTextVersion のデフォルトは、もし設定されていれば VersionInfoProductVersion、そうでなとき、もし AppVersion が設定されており定数を含まないときは AppVersion、そうでないとき、VersionInfoTextVersion になった。
- Unicode 版 Inno Setup: /VERYSILENT インストール時、タスクバーボタンが際表示される不具合が修正された。
- Unicode [Code] が RemObjects Pascal Script SVN コード リビジョン 228 になった。
- 細かい調整。
5.3.9 (2010-04-10)
- ClearType が有効な時、Windows 7 と Vista でよりよい表現のために、セットアップとアンインストールで Tahoma が新しいデフォルトフォントです。カスタム DialogFontName 設定を持たないすべての言語のデフォルトのダイアログフォントのオーバーライドを簡単にするために、[Setup] セクションに新しい DefaultDialogFontName ディレクティブを追加した。もし、以前のバージョンの Inno Setup で使用されていたダイアログフォント (使用できるなら Microsoft Sans Serif、そうでなければ MS Sans Serif) に戻したい場合、DefaultDialogFontName を空文字列に設定してください。(DefaultDialogFontName=)
- [Setup] セクションに次のディレクティブを追加: Welcome ウィザードページを隠すための DisableWelcomePage。そうしたのは、Aero ウィザードガイドラインで推奨されているため。加えて、ShouldSkipPage イベント関数は wpWelcome でも呼ばれる。
- セットアップが非サイレント実行されている場合、Ready To Install ウィザードページは、それ以前の他のウィザードページがまだ表示されていない時、それを隠そうとする試みを無視する。
- LZMA2 圧縮サポートを追加:
- LZMA SDK 圧縮コードを LZMA2 圧縮をサポートする version 9.10 にアップデートした。LZMA2 は圧縮不能なデータの圧縮率の向上 (ランダムデータの拡大がオリジナルの LZMA が 1.35% と比較して約 0.005%) を提供する、LZMA の修正版で、オプションで並列に大容量のファイルのマルチパート圧縮することができ、圧縮速度を大幅に増加しつつも圧縮比の減少が可能です。LZMA2 圧縮は [Setup] セクションの Compression ディレクティブを lzma2 に設定することで有効にでき、lzma2 がデフォルト値となります。
- [Setup] セクションに、LZMA の辞書サイズを以前の最大 64 MB から 256 MB に増加するのを許可する LZMADictionarySize を含む、LZMA, LZMA2 圧縮パラメーターを微調整する LZMA で始まる名前の色々な新しいディレクティブを追加した。使用する前に Compression トピックでメモリ要件の記載をレビューする。
- 実行可能ファイルを若干良い圧縮を行うための、JMP/CALL 命令の最適化アルゴリズムを Tweak した。(Inno ASetup 自身のインストーラーで、これは約 2 KB 削減した。)
-
x64 実行可能ファイルの圧縮を改善した: x86 実行可能ファイルとちょうど同じように、x64 実行可能ファイルに JMP/CALL 命令の最適化が行なわれた。平均して、これは x64 実行可能ファイルの圧縮サイズを 2-3% 削減した。
- [Setup] セクションの DiskSliceSize ディレクティブは max に設定することができ、max がデフォルト値でもある。
- Windows 7 の変更: コンパイラ IDE はピンを設定できる。ウェルカムダイアログ経由、MRU リスト、ドラッグ&ドロップで開かれたファイルはジャンプリストに追加される。
- Windows 7 と Vista の変更:
- ピン状態のショートカットを削除する前に、アンインストーラーは自動的にそれを Windows 7 カレントユーザーのスタートメニューのピン一覧と、タスクバーからも削除する。
- スタートメニューフォルダの選択 (Select Start Menu Folder) ウィザードページで表示されるアイコンを変更した。以前は、前の Select Destination Location ページで使用していたアイコンと同一のものを使用していたが、それは決して本当に意図したものではなかった。
- 昇格されたユーザーは、元のユーザーの SUBST のマッピングを保持しないので。セットアップやアンインストールが昇格から戻った時、EXE ファイル名内の SUBST されたドライブは戻る前の状態に展開されたままとした。SUBST したドライブからセットアップを実行したときに見られるエラーを修正した。
- セットアップはファイルのチェックサムや様々な内部で使用されるハッシュに MD5 の代わりに SHA-1 アルゴリズムを使用する。
- パスカル スクリプト: サポート関数 GetSHA1OfString, GetSHA1OfUnicodeString, GetSHA1OfFile を追加。
- クイックスタート パック: ISPP 関数 GetSHA1OfString, GetSHA1OfUnicodeString, GetSHA1OfFile を追加。
- [Icons] セクションの AppUserModelID パラメータは Windows Server 2008 R2 でも使用される。
- セットアップのバージョン情報のテキストフィールドで "(C)" は自動的に本物のコピーライトシンボル ("©") に置換される。
- Unicode 版 Inno Setup: セットアップ (バージョン 5.3.6 ~ 5.3.8) が原因で Service Pack 4 がインストールされていない Windows 2000 システム上で起動時に "Stream read error" エラーメッセージを表示する Delphi の上流工程のバグへの対処を追加。
- IDE コンパイラの変更: Tools | Configure Sign Tools... ダイアログは既存の Sign Tools を編集できる。
- アンインストールプログラムのバージョンは 51.(10)52.0.0 である。
- 細かい調整。
5.3.8 (2010-02-18)
- [Setup] セクションに新たに追加したディレクティブ: UsePreviousLanguage。このディレクティブがデフォルトの yes のとき、開始時に、セットアップは同じアプリケーションが既にインストールされているかを参照するためにレジストリを探す。そうであれば、Select Language ダイアログで有効な言語リストのデフォルト言語として、以前インストールした言語を使用する。メモ: 現在のユーザーが以前のユーザーと同じ言語を理解できると推測できないため、このディレクティブは Select Language ダイアログ自身で使用される言語を変更しない。いずれかの定数に AppId が含まれるとき、UsePreviousLanguage は no に設定しなければならない。
- Windows Vista 以降で、アンインストールは、もはやアンインストールが実際に開始されるまでシステムのシャットダウンをブロックしない。これは、確認プロンプトに被さっているアンインストールを終了しようとするとき、(アンインストーラに含まれているアプリケーションのディレクトリ内の任意の .exe を誤ってテストする) Windows 7 ロゴキットを幸せにする
- Windows NT 以降で、PrivilegesRequired=lowest は追加の効果を持つ: 管理者権限が有効であっても、アンインストール情報のルートキーは常に HKEY_CURRENT_USER であり、Shell Folder 定数の "common" フォームは常に "user" フォームにマップされる。
- [Setup] セクションの CreateUninstallRegKey ディレクティブはチェック関数の呼び出しを含むことができる boolean 値を設定する。例えば: CreateUninstallRegKey=not IsTaskSelected('portablemode')。詳しくは、CreateUninstallRegKey ドキュメンテーションをご覧ください。
- Preparing to Install ウィザードページは、ユーザーに単に再起動が必要だと言う代わりに、直接再起動する選択肢を提供する。PrepareToInstall イベント関数からこのオプションを誘発するには、その新しい NeedsRestart パラメータを True に設定します。
- MinVersion と OnlyBelowVersion ディレクティブとパラメータで、メジャーバージョンが 5 以上の時、.x は .0x とまったく同等に扱われる。従って、Windows XP を指定するのに、5.01 か 5.1 のどちらかを使う選択肢を持つ。しかしながら、既存のスクリプトと互換性を維持するために、4.x は依然として 4.x0 と解釈される。
- パスカル スクリプト: PageIndexFromID サポート関数を新しく追加。
- オンラインドキュメントを http://www.jrsoftware.org/ishelp/ で確認でき、インデックスと検索ができる。
- クイックスタート パックの変更:
- アンインストールプログラムのバージョンは 51.(10)51.0.0 である。
- 細かい調整。
5.3.7 (2010-01-06)
- [Setup] セクションの PrivilegesRequired ディレクティブに lowest を設定できるようにした。これは、管理者グループのメンバーとして Windows Vista 以降でセットアップを開始したとしても、(ユーザーアカウント制御ダイアログ経由で)昇格権限を要求しないよう指図する。権限を持たないアカウントでインストールが正常に実行されるという確信がないときはこの設定を使用しないでください。Windows NT/2000/XP/2003 では、lowest は none と同様に振る舞います。
- コンパイラ IDE に新たな Autosave before compiling (訳注:コンパイル時自動保存) オプションを追加した。
- [Tasks] セクションの checkedonce と unchecked フラグが組み合わせることができるようになった。この組み合わせは、初回インストール時デフォルトで unchecked にするタスクを指定し、それ以降のインストールでも同様にデフォルトで unchecked になるようにする。
- サービスからのような特殊な状況下で Windows 7 上でセットアップやアンインストールを実行したとき、"Not Implemented" エラーが発生する問題を修正。
- {commonstartup} に置かれたショートカットの代わりに RunOnce レジストリキーを使うために CodePrepareToInstall.iss サンプルスクリプトを変更した。
-
パスカル スクリプト: 非 Unicode コンパイラは、Unicode コンパイラと同じように PAnsiChar 型がある。
- 公式な日本語翻訳を追加。
- RemObjects Pascal Script SVN コードのリビジョン 197 に基づいた Unicode の [Code]。
- 細かい調整。
5.3.6 (2009-11-14)
- Windows 7 の変更:
- [Setup] セクションに 新たな UninstallDisplaySize ディレクティブを追加。Windows 7 以降では、Windows 7 の プログラムの追加と削除 コントロールパネル(プログラムと機能 と呼ばれている)では自動的にアンインストールレジストリキーの EstimatedSize 値を計算しないため、可能な時、セットアップはこのディレクティブを使用し、この値を設定する。UninstallDisplaySize が設定されない場合、セットアップは、インストールされたすべてのファイルのサイズを合算したものに、設定されている ExtraDiskSpaceRequired 値を追加し、その値と推定する。メモ: Windows 7 は4 GB 未満の値のみ表示をサポートする。
- パスカルスクリプトは、COM ベースの IUnknown をサポートする。以前は COM ベースの IDispatch のみをサポートしていたが、IDispatch インタフェースを実装しない COM ベースの Windows API 関数が増加されているためで、これらをうまく使えるようになる。CodeAutomation2.iss サンプルスクリプトを参照。注: これは Delphi 2 の制限(Delphi 2 は非 Unicode 版 Inno Setup をコンパイルするために使用される)によって、現時点では Unicode 版 Inno Setup でのみサポートされる:
- StringToGUID, CreateComObject, OleCheck サポート関数を追加。
- HResult, TGUID, TCLSID, TIID サポート型を追加。
- コンパイラはもはや一度に単一の LanguageCodePage ディレクティブを複数言語に適用することを許可しない。もしこれを非 Unicode 版セットアップで、システムコードページに関わらずユーザーがいずれかの言語を選択することを許可することを強制するために使用している場合、代わりに [Setup] セクションの ShowUndisplayableLanguages ディレクティブを yes に設定すること。
- 修正: Unicode パスカル スクリプト: Format にとても長い文字列を渡すとエラーを起こす。
- 細かい調整。
5.3.5 (2009-09-23)
- Windows 7 の変更:
- セットアップ、アンインストール、カスタム TOutputProgressWizardPage ページは、タスクバーボタン上のプログレス・一時停止・エラーインジケータを表示するために、新しい Windows 7 タスクバー機能を使うようにした。
- [Icons] セクションに次にパラメータを追加: AppUserModelID これはショートカットに Windows 7 アプリケーション ユーザーモード ID を指定する。以前の Windows のバージョンとサーバー版では無視される。このパラメータは定数を含むことができる。.
- Windows 7 と Vista の変更:
- セットアップ、アンインストール、カスタム TOutputProgressWizardPage ページは、一時停止・エラーインジケータをプログレスバー上に表示する。
- セットアップ、アンインストールは、システムのシャットダウンが開始されたときユーザーに表示される、シャットダウンをブロックする理由文字列を設定するために Windows API 関数 ShutdownBlockReasonCreate を呼ぶ。注: この変更は純粋に外面的なもので、実際、セットアップとアンインストールがシステムのシャットダウンをブロックするのは新しいものではありません。
- パスカル スクリプトの変更:
- TWinControl: ParentBackground プロパティを追加。
これを False に設定すると TPanel の背景が一定の条件の下で透過する代わりに Color プロパティで設定した色で常に表示されることを保証できる。CodeClasses.iss サンプルスクリプトを参照。
- Unicode コンパイラは、1 つの言語が 1 つ以上の .isl ファイルを使用する(もはや LanguageCodePage をそれぞれのファイルで設定する必要はない)か、LanguageCodePage 言語が .iss ファイルによって上書きされる(もはやこれは無視されない)か、任意の言語で記述されている LicenseFile, InfoBeforeFile, InfoAfterFile の ANSI のプレーンテキスト(今では、実行時のシステムコードページを使用する代わりに、コンパイル時に LanguageCodePage 言語を使用して、これらを Unicode に変換する)と非 Unicode コンパイラと同様に振る舞う。
- 修正: パスカル スクリプト: Copy のような一部の組み込み関数に Unicode 文字列を渡すと ANSI に変換される。
- アンインストールプログラムのバージョンは 51.(10)50.0.0 である。
- 細かい調整。
5.3.4 (2009-08-15)
- Windows 7 では、コンパイラ IDE は進行状況インジケータをタスクバーボタンに表示するよう変更。
- パスカル スクリプト: 予約語で COM オートメーション プロパティまたはメソッドにアクセスするために使用される API 関数 IDispatchInvoke をドキュメント化。
- 修正:Unicode 版 [Registry] セクションの ValueType エントリで binary をセットすると正しい値をセットできていなかった。
- 修正:パスカル スクリプト: COM オートメーションプロパティまたはメソッドパラメータを Unicode 文字変数に設定すると 'Invalid Type' エラーを引き起こす。
5.3.3 (2009-08-01)
- [Setup] セクションの VersionInfoProductVersion ディレクティブは、テキストの製品バージョンの代わりにバイナリの製品バージョンをセットする。
- [Setup] セクションにテキストの製品バージョン値を設定する VersionInfoProductTextVersion ディレクティブを追加。そのデフォルト値は、設定されている場合は VersionInfoProductVersion だが、そうでない場合は VersionInfoVersion である。
- [Setup] セクションの DisableDirPage と DisableProgramGroupPage ディレクティブは auto を指定できる。そうした場合、開始時にセットアップはすでに同一のアプリケーションが既にインストール済かどうかレジストリを探す。そしてその場合、そのページを自動的に隠す。
- パスカル スクリプトの変更:
- WizardForm.PrevAppDir が使用可能で、以前インストールしたときのディレクトリを返す。以前のインストールがない時や、UsePreviousAppDir が no に設定されているとき、Uninstallable が以前 no に設定されていたときは、空文字列を返す。
- PrepareToInstall イベント関数を実行中は、セットアップは Ready to Install ページの代わりに Preparing to Install ウィザードページを表示し、自身を無効化する。
- Inno Setup で使用されるさまざまな manifest リソースに Windows 7 "compatibility" セクションを追加。
- ドキュメントの改善。
5.3.2-beta (2009-05-29)
- 定数 {regasmexe} を {dotnet11} と {dotnet20} に変更した。
- パスカル スクリプト:
PrepareToInstall イベント関数を追加。この関数から空でない文字列を返すと、セットアップはインストールの準備ページで停止し、返却した文字列をエラーメッセージとして表示する。
- 細かい修正と調整。
5.3.1-beta (2009-05-15)
- [Setup] セクションの AppMutex ディレクティブと CheckForMutexes サポート関数の変更: コンマを含むミューテックス名を指定するには、コンマをバックスラッシュでエスケープしてください。
- 細かい調整。
5.3.0-beta (2009-04-22)
- .NET サポートを追加 (these cause an internal error if used on a system with no .NET Framework present):
- [Files] セクションに次のフラグを追加: gacinstall.
- [Files] セクションに次にパラメータを追加: StrongAssemblyName.
- 次の新しい定数を追加: {regasmexe}, {regasmexe32}, {regasmexe64}.
- MinVersion パラメータ/ディレクティブを変更: どちらかのバージョンを空のままにしておくと、そのプラットフォームのデフォルトの MinVersion が使用されます。
- パスカル スクリプト: MinimizePathName サポート関数を追加
- Unicode サポートを追加: これは Unicode Inno Setup と呼ばれている Inno Setup の第2バージョンです。
この版での重要な機能は、システムのコードページにかかわらずどんなシステムのどんな言語でも表示できるということです。備考:
- Unicode Inno Setup は既存の ANSI .isl 言語ファイルを使用します。あなたはこれらを Unicode やほかの似たようなものに変換する必要はありません。なぜなら、コンパイル実行中に .isl 内で列挙されている LanguageCodePage の設定を使用して自動的に行なっているためです。
- [Setup] セクションの ShowUndisplayableLanguages は Unicode Inno Setup では無視されます。
- Unicode Inno Setup は少し大きなファイルをリード(lead)するために、Delphi 2/3 の代わりに Delphi 2009 でコンパイルされています。しかしながら、まだソースコードは Delphi 2/3 と非 Unicode 版との互換性があります。
- Unicode Inno Setup とそれによって作成されたインストーラは Windows 2000/XP 以降を要求します。非 Unicode 版は依然として NT/9x 上で動作します。
- この代わり、非 Unicode 版のインストーラによって作成された、プログラムの既存のインストーラは自由に Unicode 版のインストーラで更新できます。
- Unicode パスカルスクリプトの備考:
- Unicode コンパイラは 'String' を Unicode 文字列型、'Char' を Unicode 文字型と判断します。'AnsiString' 型は依然として ANSI 文字列のまま変更されません。'PChar' 型は 'PAnsiChar' に名称変更されました。
- Unicode コンパイラは正しい ';' の使い方について厳格になりました。もはや、不正な ';' 文字の欠如は受け入れません。
- 新しい RemObjects PascalScript 版は Unicode をサポートする Unicode コンパイラで使用されていますが、その入力ソースでは異なります。これは、Unicode 文字列型を使っていますが、スクリプト内の Unicode 文字リテラルは ANSI に変換されることを意味します。これは、Unicode 文字列を表示できないということを意味しているのではありません: たとえば、あなたは Unicode 文字列をビルドするために、代わりにエンコードした Unicode 文字を使うことができます。 (例 S := #$0100 + #$0101 + 'Aa';) または、LoadStringsFromFile を使用して、ファイルから文字列を取得できます。
- 一部のサポート関数とそれらのプロトタイプを変更: CreateOutputMsgMemoPage, RegQueryBinaryValue, RegWriteBinaryValue, OemToCharBuff, CharToOemBuff, LoadStringFromfile, SaveStringToFile における一部のパラメータは、String に代わって AnsiString 型です。
- SaveStringsToUTF8File, GetMD5OfUnicodeString サポート関数を追加。
- Unicode コンパイラで ANSI Windows API 呼び出しをインポートしている既存のスクリプトをコンパイルしたい場合は、'W' がついている Unicode API 呼び出しに変更するか、'String' もしくは 'PChar' のパラメータを 'AnsiString& に変更してください。'AnsiString' のアプローチは、あなたの [Code] を Unicode と非 Unicode バージョンでの互換性を保ちます。
- Unicode Inno Setup UTF-8 エンコードされている .iss ファイルをサポートします。 (しかしながら UTF-16 はサポートしません。).
- Unicode Inno Setup UTF-8 または UTF-16LE エンコードされている LicenseFile, InfoBeforeFile, InfoAfterFile 用の .txt ファイルをサポートします。
- クイックスタートパック: ISPP 定義済み変数 UNICODE を追加した。
- Unicode サポートに関連した手助けについて RemObjects Software の Carlo Kok と Evgeny Karpov に感謝します。
- クイックスタートパック: ISPP 関数 Trim, GetMD5OfUnicodeString を追加した。
5.2.4(2009-03-16)
- [Registry] セクションに ValueType: qword を追加。
- [Setup] セクションに、セットアップとアンインストーラに自動的に電子署名を施す機能を可能にする SignTool ディレクティブを追加。詳細はヘルプファイルを参照。
- AppVersion ディレクティブの値は、可能な時、アンインストールレジストリキーの MajorVersion と MinorVersion の値としても使用される。
- /LOG スイッチは、 [UninstallRun] エントリの終了コードも記録するよう変更。
- IDE の変更:
- Tools | Configure Sign Tools... コマンドを追加。
- コマンドラインコンパイラの変更:
- 署名ツールを指定する "/S" パラメータを追加。
- [Files] セクションに sortfilesbyname フラグを追加。
5.2.3 (2008-03-10)
- 右から左 (right-to-left) の言語 (アラビアやヘブライ) のサポートを改善:
[LangOptions] セクションに RightToLeft ディレクティブを追加した。これを yes に設定すると、テキストのアライメントやリーディングオーダーは反転される。(いくつかの意図的な例外もある。) そして、コントロールは右から左へ配置される。("フリップ")
- [Setup] セクションに VersionInfoProductName と VersionInfoProductVersion ディレクティブを追加した。
- セットアップのバージョン情報における固定の言語を「English (United States)」から「Language Neutral」に変更した。
- アンインストールはセットアップと同じようにカスタムメッセージ定数 ({cm:...}) をサポートする。
- Right-to-left に関連するパスカルスクリプトの変更:
- RightToLeft=yes としたときのコントロールをフィリップする好意は多くは透過的である。通常、既存のコードに対して変更を要求しない。
カスタムウィザードページで作成されるコントロールは自動的に InitializeWizard イベント関数から戻ったあとでフィリップされ、カスタムフォームで尽くされたコントロールは標準では、そのフォームが初めて表示されるときフィリップされる。
- TSetupForm (カスタムフォームで使用されているクラス) の変更:
- RightToLeft Boolean プロパティ (読取専用) を追加: right-to-left テキストアライメント及びリーディングオーダーがフォームで有効のとき True 。[LangOptions] セクションの RightToLeft ディレクティブがこのプロパティの値を決定する。
- FlipControlsOnShow Boolean プロパティを追加: True (RightToLeft が True のときの標準設定) だとフォームのコントロールは次回フォームが表示される予期フリップされる。フォームが表示された後、このプロパティは自動的に False にリセットされる。
- ControlsFlipped Boolean プロパティ (読取専用) を追加: コントロールがフリップされているとき True
- FlipControlsIfNeeded メソッドを追加。FlipControlsOnShow が True だとすぐにコントロールをフリップする。そして FlipControlsOnShow を False にリセットする。
- 新しいクラスを追加: TNewEdit, TNewMemo, TNewComboBox, TNewButton, TNewCheckBox, TNewRadioButton, TNewListBox. これらのクラスでは、親の TSetupForm の RightToLeft プロパティが True のとき、right-to-left テキストのアライメントやリーディングオーダーが使用されます。
- TNewStaticText: ForceLTRReading プロパティを追加した。True に設定すると、親フォームの RightToLeft 設定をオーバーライドし、テキストを常に left-to-right リーディングオーダーで描画します。
- 他のパスカルスクリプトの変更:
- TNewStaticText: AdjustHeight メソッドを追加。これは Height プロパティの値をテキストにフィットさせるよう調整する。AutoSize を False に設定したときにだけ有用である。
- TUninstallProgressForm クラスに新しく UninstallProgressForm オブジェクトを追加した、
また InitializeUninstallProgressForm イベント関数も追加した。これは アンインストールプログレスが作成された後、かつそれが表示される前に呼ばれます。詳細についてはヘルプファイルと CodeClasses.iss サンプルスクリプトを見てください。
- Windows Vista のバグ (SP1 でも依然として存在する) の回避方法を追加: UAC が無効のとき、コントロールパネルの プログラムと機能 アプレットからアンインストーラを起動すると、No という確認メッセージボックスが表示され、たとえアンインストーラが適切な「Vista-aware」マニフェストを含んでいたとしても「このプログラムは正常にアンインストールされませんでした」ダイアログが表示される。
- IDE の変更:
- 新規スクリプトウィザードでは、[Setup] セクションの ディレクティブで、ランダムでユニークな AppId を生成する。
- ツール | GUID を作成 コマンドを追加。
- クイックスタートパック: ISPP 関数 GetMD5OfFile, GetMD5OfString, GetFileDateTimeString を追加した。
- 細かい修正。
5.2.2 (2007-10-22)
- セットアップローダーはセットアッププログラムの実行ファイルを ".tmp" 拡張子で抽出する。バージョン 5.2.0 と 5.2.1 では ".exe.tmp" を拡張子に使用していた。これは特定のアンチウィルスプログラムがインストールされているシステムで「テンポラリディレクトリにあるファイルを実行できません」といったエラーメッセージが表示されることがあると報告されることのいくつかの原因の1つであった。我々は独自のテストでは、エラーを再現することができませんでしたが、彼らのアンチウィルス設定でカスタムファイル名をブロックするルールがユーザーに影響を与えているという疑いもある。
- パスカルスクリプト: GetSaveFileName サポート関数を追加した。
- 修正: コンパイラがヒープの断片化の問題が原因で 100,000 行を超えるスクリプトファイルで「Out of memory」エラーで失敗した。
5.2.1 (2007-10-13)
- [Setup] セクションに SignedUninstaller ディレクティブを追加した。これはデジタル署名をつけたアンインストーラプログラム (unins???.exe) を作ることができる。アンインストーラが有効なデジタル署名を持っていると、Windows Vista ユーザーはコントロールパネル以外からこれを起動したとき、 "正体不明のプログラム" 警告を見ることがなくなるでしょう。
- [Setup] セクションに SignedUninstallerDir ディレクティブを追加した。
- [Tasks] エントリに関連づいている Check 関数は Select Tasks ウィザードページに入ったときに呼ばれる。以前は、ウィザードが表示される前に呼ばれていた。すなわち、ウィザードページに先立ってユーザーの選択に依存することができなかったことを意味する。(将来、[Components] にも同様の変更を加える予定です。)
- [Components]/[Tasks] エントリの意味を複製する 5.1.13 以前に戻した。たとえば下記のようなケース:
[Tasks]
Name: foo; Description: "foo #1"; Components: bar
Name: foo; Description: "foo #2"; Components: not bar
Name: foo\child; Description: "foo\child"
"foo\child" は再び、"foo" という条件付きで作成されることと関わりなく表示される。
- パスカルスクリプト: "files:" 関数は複数ファイル名をインポートする。"files:A.dll,B.dll" は A.dll がロードされる前に A.dll と B.dll の両方が抽出される。
- Windows Vista でセットアップはもはやアンインストーラプログラムのマニフェストリソースを昇格を要求するように変更しない。
なぜなら、これはデジタル署名が無効になるからである。その代わりにアンインストーラはセットアップが 5.2.0 ではじめたように、昇格が必要になったとき自分自身を生む。
- アンインストールプログラムのバージョンは 51.49.0.0 である。
- 細かい修正。
5.2.0 (2007-09-19)
- Windows Vista では、[Run] セクションで postinstall フラグを指定しているエントリでは、もはや標準ではセットアップの昇格権限を継承せず、代わりに最初にセットアップを開始した時の (昇格していない) ユーザー権限で実行します。(いくつかの例外があります。詳しくは runasoriginaluser フラグに関する文書を見てください。)
- [Run] セクションに runascurrentuser および runasoriginaluser フラグを追加した。これらは Windows Vista でプロセスを作成する工程のとき、ユーザー権限で制御する。(postinstall フラグを使用したときは、runasoriginaluser がデフォルトとなる。それ以外のときは runascurrentuser がデフォルトとなる。)
- x86 実行可能ファイルの圧縮を改善した。(これにより、Inno Setup 自身のインストーラのサイズをおよそ 10 KB 減らした。)
- [Files] セクションに ExternalSize パラメータを追加した。
- {log} 定数を追加した。これはログファイル名に、ログ作成が有効でないときは空文字列に翻訳される。
- [Files] および [Dirs] セクションに setntfscompression と unsetntfscompression フラグを追加した。これらのフラグはセットアップにファイルやディレクトリの NTFS 圧縮について 有効/無効 を指示する。
- パスカルスクリプト:
- ExecAsOriginalUser, ShellExecAsOriginalUser, SetNTFSCompression サポート関数を追加した。
- DLL を LOAD_WITH_ALTERED_SEARCH_PATH フラグつきでロードする loadwithalteredsearchpath DLL ロードフラグ を追加した。
- ファイアウォール使用者に疑いがあると思われないようにするために、セットアップローダーはセットアップの実行ファイルを抽出する際にランダムな英数字で構成された名前の代わりにオリジナルの Setup EXE ファイル名 + .tmp をファイル名として使用するようにした。
- 複数言語インストールのとき、セットアップは、ユーザーの Windows バージョンや権限レベルによるエラーメッセージをSelect Language ダイアログがディスプレイに表示された後まで待つようにした。
- クイックスタートパック: ISPP 関数 GetDateTimeString を追加した。
- 修正: Windows Vista 上で、disk-spanned install によりユーザーがディスクを交換したとき、AutoPlay が抑制されていなかった。
- 修正: waituntilidle フラグが [UninstallRun] セクションで使用されたとき、waituntilterminated のように振舞う。
- Based on RemObjects Pascal Script SVN code revision 1045a.
- アンインストールプログラムのバージョンが 51.48.0.0 になった。
- 細かい修正。
5.1.14 (2007-08-07)
- LZMA SDK 圧縮コードをバージョン 4.49 にアップデートした。このバージョンでは圧縮工程の速度を、マルチプロセッサコアのシステムで 50% 以上、ハイパースレッディングテクノロジを搭載しているシングルコアのインテルプロセッサで 20% 以上、高速化するマルチスレッディングのサポートを加える。
- [Setup] セクションに CompressionThreads ディレクティブを追加した。
- 修正: 出力ディレクトリをクリアするとき、コンパイラは OutputBaseFilename-*.bin にマッチするファイルを削除するだけではなく、OutputBaseFilename-*-*.bin にマッチするファイルも同じく削除する。
5.1.13 (2007-07-22)
- lzma/ultra64 圧縮レベルを追加。lzma/ultra と同じだが、ディクショナリサイズが 2 倍(64 MB)である。
- [Setup] セクションに SetupLogging ディレクティブを追加した。これを yes に設定するとセットアップは常にログファイルを作成する。(コマンドラインで /LOG を指定するのと等価)
- [Setup] セクションに AppSupportPhone ディレクティブを追加した。
- [Files] セクションのフラグに solidbreak を追加した。
- [Run] および [UninstallRun] セクションのパラーメータに Verb を追加した。shellexec フラグと一緒に使うとき、ファイルに対して行う動作を指定する。
- [Run] および [UninstallRun] セクションで shellexec フラグが使用された時、ハードコーディングの "open" の代わりにファイルタイプ標準の verb を使用するようにした。(もし必要なら Verb パラメータを追加することでこの設定をオーバーライドできる。)
- セットアップは標準のセットアップ type を override するために /TYPE パラメータをサポートした。
- Components/tasks に関連する変更点:
- /COMPONENTS & /TASKS: 親の component/task が指定されたとき、すべての子アイテムにチェックは入らない。以前の振る舞いを達成するには親の component/task の名前の先頭に "*" の文字を追加するか それぞれの子 component/task を個別に並べます。
- /COMPONENTS: 子コンポーネントの名前の先頭に "!" をつけることで自動的に選択を外すことができる。(/TASKS はすでにこの機能をサポートしている。)
- /COMPONENTS はカスタムタイプが定義されていないと無視される。
- /SAVEINF は INF ファイルに選択されたセットアップ タイプを書き込む。以前は /LOADINF を使うと常にカスタムタイプを選択していた。
- /SAVEINF は INF ファイルに選択されたタスクを書き込む。
- MinVersion/OnlyBelowVersion/Languages/Check/Components パラメータは親の component/task がビューから隠されたとき、子アイテムは同様に隠される。 (以前は、親アイテムと同様に隠されるようにするために同じ状態をすべての子アイテムが含む必要があった。)
- 修正: 新しい子 components/tasks が新規インストールで紹介されたとき、もしその親 components/tasks が前回のインストールで選択されていたら、常に標準で選択されるようにした。
- 修正: /LOADINF は初回のインストール中に選択されなかった子 components を選択する。
- 修正: /COMPONENTS パラメータの中で選択されるように fixed components をリスト化する必要はなくなった。
- パスカル スクリプトの変更点:
- FindFirst/FindNext: TFindRec に CreationTime, LastAccessTime, LastWriteTime, AlternateName フィールドを追加。
- TInputFileWizardPage: IsSaveButton プロパティを追加。これは標準の Open ダイアログの代わりに Save As ダイアログを開くボタンを作成するのに使用できます。
- TNewCheckListBox: もはや Checked[] の設定を True にすることで自動的に子アイテムのチェックボックスにチェックを入れない。現在それを行うには、新しい CheckItem メソッドの AOperation パラメータで coCheckWithChildren を使用します。
- ParamStr/ParamCount: 空のパラメータ ("") はもはやスキップされない。
- /LOG: 時間のログはミリ秒を含みます。
- コンパイラ IDE の変更点:
- コンパイルの圧縮フェーズの間、ステータスバーにおよその残り時間と圧縮 KB/秒を表示します。
- Edit | Redo のショートカットは Ctrl+Y です。以前のショートカット (Shift+Ctrl+Z) もまた動作します。
- 修正: [INI] セクションで Filename が空白だったとき uninsdelete* フラグは実際には何も削除しなかった。
- アンインストールプログラムのバージョンは 51.47.0.0 です。
- 細かい修正。
5.1.12 (2007-04-24)
- 修正: Windows Vista で、ドライブのルートディレクトリにマップされているシェルフォルダ定数を展開しようとするとエラーメッセージとともに失敗する。これは Vista の SHGetFolderPath API のバグが原因だった。この問題の回避策を実装した。
- 参照ダイアログで、BrowseDialogLabel メッセージテキストは複数行にわたる。
- OnlyOnThisPlatform メッセージはもはや使用されなくなった。Windows 95/98/Me ユーザーが、非 NT プラットフォームにおけるインストール行為をブロックする MinVersion 設定がなされたものをインストールしようと試みたとき、セットアップは WinVersionTooLowError メッセージを表示する。必要なバージョン番号を表記することはもう少し助けになる。
- 非デフォルトのダイアログフォントやフォントサイズが使用されていたとき、いくつかのささいな問題を修正した。
- 公式なヘブライ翻訳を追加。
- 細かい修正。
Inno Setup 4.2 & 4.1 Revision History
この資料は RAPT が私的利用のために翻訳したものです。正確に翻訳されている保証はありません。
誤訳があればご指摘いただけると幸いですが、必ずしもこのページに反映することをお約束するものではありません。
必ず原文も確認ください。