Microsoft_Windows_Installer
[Wikipedia|▼Menu]

その他

Windows Installerでは、アプリケーションをネットワーク共有から直接実行することができる。ローカルへのコピーは不要であり (run from source)、以下の処理が可能である。

壊れたインストールの修復。破壊・削除されたファイルやレジストリエントリをリストアする。

コンポーネント識別子からのパスの解決。アプリケーションへのファイルパスの
ハードコーディングを不要にする。

ネイティブでサポートされたパッチ(.mspファイル)と、transformsまたは.mstファイルを使用したパッケージのデータベースの操作によるパッケージのカスタマイズ。

また、ブラックボックス部分が非常に少ない点も、他のWindows用インストーラフレームワークと比較して特筆すべき違いである。すべてのAPIとコマンドラインオプションのドキュメントが提供されている。パッケージの内容は、無償のツールや自作のプログラムから自由に閲覧・編集できる。この点は、プロプライエタリであり、弱い暗号であるとはいえ暗号化されたパッケージを使用するInstallShieldとは対照的である。ファイルアーカイブのフォーマットはCABであり、ドキュメントも豊富に提供されている。
Windows Vista

Windows Vistaに同梱されているWindows Installer 4.0には、UACと連携するための機能が盛り込まれている。MSIパッケージを管理者権限が不要であるとマークすれば、ユーザは管理者資格情報のプロンプトを表示せずにパッケージをインストールできる。Windows Installerと再起動マネージャの連動も可能である。アプリケーションやシステムコンポーネントのインストールおよび更新を「フル」ユーザインタフェースモードで行うときは、影響を受けるアプリケーションのうちシャットダウンできるもののリストが表示され、ファイルが更新された後に再起動することができる。サイレントモードでは、インストーラのアクションによってアプリケーションは自動的に再起動される。システムサービスやトレイアプリケーションも同様に再起動が可能である。
診断ログ

Windows Installerは強力な診断用ツールとして詳細なロギング機能をサポートしている。ロギングは次の方法で有効化できる。

コマンドライン
MSIパッケージをコマンドラインからインストールする場合、/Lオプションを指定するとロギングが有効になる。例えば、以下のコマンドはPackage.msiをインストールし、詳細なログをc:\Package.logに出力する。msiexec /i Package.msi /l*v c:\Package.log

Windows レジストリ
レジストリに次の値を設定すると詳細なロギングが有効になる。キー: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer名前: Logging種類: REG_SZデータ: voicewarmup

ログはMSI###.log("###" はランダムに決定される一意な識別子)という名前でユーザーのTempディレクトリに保存される('temp' ディレクトリはユーザーごとに別々で、環境変数%temp%で表される)。

グループポリシー
以下の
グループポリシーの設定で複数のシステムにおけるロギングを管理することができる。コンピュータの構成 -> 管理テンプレート -> Windowsコンポーネント -> Windows インストーラ -> ロギング

WindowsインストーラAPI
自作のプログラムからMSIパッケージのインストールを行う場合、MsiEnableLog関数でログファイルの作成とロギングレベルの設定が行える。設定は呼び出し側のプロセスが生きている間のみ有効である。

MsiLoggingプロパティ
Windowsインストーラ4.0ではMsiLoggingプロパティが導入された。これはフラグのリストで、どの情報をログに残すかを表す。フラグはmsiexec.exeの/Lオプションで指定したり、ロギングポリシーの設定で使用するものと同様である。MsiLoggingを使用すると、MsiLogFileLocationプロパティにログファイルの場所がセットされる。

冗長なログはWindowsインストーラの問題を診断するには便利だが、とても長く、訓練なしに読むのは難しい。ログから問題の個所を簡単に見つけ出すには、テキストエディタ(たとえば メモ帳)でログファイルを開き、"Return Value 3"という文字列を検索する。この文字列は通常、致命的なエラーが発生した場所の近くで出力される。また、Windows Installer SDKでWiLogUtlというツールが提供されている。これはWindowsインストーラのログファイルをパースし注釈を付けてくれる。

ログファイルにデバッグ情報を出力する場合は、コマンドラインか、またはレジストリのLoggingの値にxを指定する。例えば、以下のコマンドはPackage.msiをインストールし、デバッグ情報を含む詳細なログをc:\Package.logに出力する。msiexec /i Package.msi /l*vx c:\Package.log
ICE による検証

マイクロソフトは、MSIデータベースの潜在的な問題を検出するInternal Consistency Evaluators (ICE) を提供している。ICEのルールはCUBファイルにまとめられている。これは必要最低限の内容のみを含むMSIファイルで、ターゲットのMSIデータベースを検証し、警告またはエラーを出力するカスタムアクションを含んでいる。ICEによる検証はPlatform SDKのツールであるOrcaとmsival2から行える。また、各種オーサリング環境に付属の検証用ツールからも行える。

ICE のルールは、例えば次のようなものである。

ICE09: システムフォルダに格納されるすべてのコンポーネントがPermanentとしてマークされているか検証する。

ICE24: 製品コード、製品バージョン、製品の言語のフォーマットが適切か検証する。

ICE33: Registryテーブルに、他のテーブル(Class, Extension, Verbなど)に格納すべきデータが含まれていないか検証する。

リリースプロセスにおいて、ICEの警告とエラーを処置することは重要なステップである。

インストール処理では、インストールに先立ってMSIパッケージのコピーがテンポラリフォルダに作成される。これは、パッケージがローカルにある場合でも行われる。インストールパッケージがローカライズされている場合、InstallShield製品はMSIパッケージの追加のコピーをテンポラリフォルダに作成する。

パッケージビルダが「オンデマンドでのインストール」もしくは「修復」機能を使用するよう設定した場合、パッケージ全体(ローカライゼーションメッセージは除く)とスタブのMSIパッケージが%WinDir%\Installerディレクトリにコピーされる。

グループポリシーによって、インストールの全操作をログに取るよう設定できるが、このログは Windows のテンポラリディレクトリに作成される。このログファイルは、大きなパッケージに対して最も冗長なログを取得した場合、数十メガバイトにもなる。ログファイルは診断には便利だが、ユーザがインストーラに関係した操作(インストール、アンインストール、変更、修復、パッチ)を頻繁に行う場合、ログによるスペースの消費は馬鹿にならない。ロギングポリシーはデフォルトでは無効になっているが、顧客によるインストールプログラムのデバッグの補助のために、セットアップのブートストラッププログラムがロギングを有効にしている場合もある。

MSIインストールファイルのサイズは同等の.zipや.rar(または自己解凍形式の .exe)ファイルよりも大きくなる傾向にある。これは、強力な圧縮アルゴリズムを使用していないためである。[要出典]
バージョン

バージョン提供日標準提供追加提供
1.01999年N/A
Windows 95,
Windows 98,
Windows NT 4.0 (x86, Alpha)
1.12000年Windows 2000 RTM, SP1, SP2Windows 95,
Windows 98,
Windows NT 4.0 SP6 (x86)
1.22000年Windows MeN/A
2.02001年Windows XP RTM, SP1,
Windows 2000 SP3, SP4,
Windows Server 2003 RTMWindows 95,
Windows 98,
Windows Me,
Windows NT 4.0 SP6 (x86),
Windows 2000 RTM, SP1, SP2
3.02004年Windows XP SP2Windows 2000 SP3, SP4
Windows XP RTM, SP1
3.12005年Windows XP SP3,
Windows Server 2003 SP1, SP2Windows 2000 SP3, SP4
Windows XP RTM, SP1, SP2,
Windows Server 2003 RTM
4.02006年Windows Vista RTM, SP1,
Windows Server 2008 RTMN/A
4.52008年Windows Vista SP2,
Windows Server 2008 SP2Windows XP SP2, SP3,
Windows Server 2003 SP1, SP2
Windows Vista RTM, SP1,
Windows Server 2008 RTM
5.02009年Windows 7 RTM,
Windows Server 2008 R2 RTMN/A

再配布


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:64 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef