Inno Setup 5
修正履歴
Copyright © 1997-2008 Jordan Russell. All rights reserved.
Portions Copyright © 2000-2008 Martijn Laan. All rights reserved.
配布、使用の条件については LICENSE.TXT をご覧ください。
翻訳: RAPT. 原本: What's new in this version? 開発版: Revision History file in CVS
5.2.4-開発版 (?)
- [Registry] セクションに ValueType: qword を追加。
- [Setup] セクションに、セットアップとアンインストーラに自動的に電子署名を施す機能を可能にする SignTool ディレクティブを追加。詳細はヘルプファイルを参照。
- AppVersion ディレクティブの値は、可能な時、アンインストールレジストリキーの MajorVersion と MinorVersion の値としても使用される。
- 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 が私的利用のために翻訳したものです。正確に翻訳されている保証はありません。
誤訳があればご指摘いただけると幸いですが、必ずしもこのページに反映することをお約束するものではありません。
必ず原文も確認ください。