Windows インストーラーは、Windows でのアプリケーションのインストールとセットアップに推奨されるソリューションです。 そのため、この SDK に含まれる情報の一部は、幅広いソフトウェア開発および IT プロフェッショナルにとって興味深いものです。 このセクションは、プロの役割と一般的なタスク シナリオ別に整理されたトピックへのリンクを参照することを好む読者向けのガイドとして提供されます。 役割は組織によって大きく異なる可能性があるため、次のグループ化は、必要な情報の検索を開始する場所のガイドとしてのみ考慮する必要があります。
このドキュメントは、Windows インストーラーを使用するアプリケーションを作成するソフトウェア開発者を対象としています。 インストーラーの参照資料の主要なソースとして、SDK はインストール パッケージとインストーラー サービスに関する情報を提供します。 これには、アプリケーション プログラミング インターフェイス (API) とインストーラー データベースの要素の完全な説明が含まれています。
詳細については、「その他の Windows インストーラー情報のソース」を参照してください。
アプリケーション開発者
アプリケーション開発者は、Windows インストーラー アプリケーション プログラミング インターフェイスを呼び出し、実行時に Windows インストーラー パッケージをインストールするアプリケーションを作成します。 Windows インストーラーは、自己修復やオンデマンド インストールなどのアプリケーションで動作できます。 通常、アプリケーション開発者は次の操作を行います。
別のアプリケーション内から実行時にアプリケーションのインストール オンデマンドを有効にします。
詳細については、次を参照してください。
- インストーラー関数の使用 の
- インストーラー関数リファレンス
- インストール オンデマンド
- コンポーネント管理
- インストーラーのショートカットの編集
- OLEAdvtSupport プロパティをする
- プラットフォームによる広告 のサポート
実行時に必要に応じてコンポーネントを再インストールすることで、アプリケーションの自己修復を有効にします。
詳細については、次を参照してください。
- インストーラー関数の使用 の
- インストーラー関数リファレンス
- 回復性 の
- ソースの回復性 の
- 破損したフィーチャーまたはコンポーネントの を検索する
- 既存のファイル を置き換える
アプリケーションが初めてインストールまたは実行されるときに、ユーザー情報と構成設定を収集するユーザー インターフェイスを表示します。 ユーザー インターフェイスは、Windows インストーラー パッケージのセットアップ作成者が追加する必要があります。
詳細については、次を参照してください。
- インストーラー関数の使用 の
- アプリケーション の初期化の
- FirstRun ダイアログ
- ユーザー インターフェイスの について
間接参照モデルを使用して並列機能を持つコンポーネントを参照するアプリケーションを作成します。 修飾されたコンポーネント カテゴリは、Windows インストーラー パッケージのセットアップ作成者が追加する必要があります。
詳細については、次を参照してください。
プライベート アセンブリとサイド バイ サイド アセンブリを使用して、アプリケーションを分離し、DLL の競合を減らします。
詳細については、次を参照してください。
- アセンブリ
- Windows インストーラー によって書き込まれたアセンブリ レジストリ キーの
- Windows XP でのサイド バイ サイド共有のための Win32 アセンブリのインストールの
- Windows XP でのアプリケーションのプライベート使用のための Win32 アセンブリのインストール
- MsiAssembly テーブル の
- MsiAssemblyName テーブル
- MsiProvideAssemblyの
- MsiWin32AssemblySupport プロパティ
- MsiNetAssemblySupport プロパティ
- 分離コンポーネントの
独自の包括的なメジャー アップグレードをインストールするようにアプリケーションを準備します。
詳細については、次を参照してください。
独自のマイナー アップグレード、小さな更新プログラム、または修正プログラムをインストールするようにアプリケーションを準備します。
詳細については、次を参照してください。
アプリケーション リソースを、Windows インストーラーで使用できるコンポーネントに整理します。
詳細については、次を参照してください。
- Windows インストーラー コンポーネント
- 機能とコンポーネントの操作
- 推移的コンポーネントの使用 の
- コンポーネントルールが壊れた場合はどうなりますか?
- コンポーネントへのアプリケーションの整理
- 分離コンポーネント の
- 修飾コンポーネント の
作成者のセットアップ
セットアップ作成者は、アプリケーションのインストールに必要なセットアップ ロジックと情報を含む Windows インストーラー パッケージ (.msi ファイル) を作成します。 通常は、Orca.exe などのオーサリング ツールを使用して、セットアップ ロジックと情報を Windows インストーラー データベースに設定します。 通常、セットアップ作成者は次の操作を行います。
さまざまなバージョンの Windows インストーラーで使用できる機能を決定します。
詳細については、次を参照してください。
- Windows インストーラーのバージョンの決定
- リリースバージョンの Windows インストーラー
- Windows インストーラー の新機能の
アプリケーション リソースを Windows インストーラー コンポーネントに整理します。
詳細については、次を参照してください。
サード パーティ製の Windows インストーラー パッケージ作成ツールまたは SDK ツール (Orca.exe など) を使用して、インストール データベースを設定し、Windows インストーラー パッケージを作成します。
詳細については、次を参照してください。
- Windows インストーラー開発ツールの
- インストール パッケージ 、インストーラー データベースの について
- Windows インストーラー ファイル拡張子
- データベース テーブルの
- パッケージ コードの
- 大規模なパッケージ の作成の
- 64 ビット オペレーティング システムでの Windows インストーラーの
- カスタム テーブル、プロパティ、アクションの名前付け
- ストリーム に対する OLE の制限事項
- 列定義形式 の
- .msi ファイル のサイズを小さくする
Windows インストーラー データベースを作成してファイルをインストールします。
詳細については、次を参照してください。
- コア テーブル グループの
- ファイル テーブル グループの
- ファイル テーブルの
- ファイルの検索
- ファイルのコスト
- ファイルのインストール
- コンパニオン ファイル を する
- ファイルのバージョン管理規則
- 既定のファイル バージョン管理 を する
- 既存のファイル を置き換える
- キャビネットと圧縮ソースの使用 の
- の一時ファイルの削除
- 永続的なコンポーネント、ファイル、フォント、レジストリ キーのインストール
- FileSFPCatalog テーブル の
- ファイルの検索と、ファイルのパス を保持するプロパティの作成
- ディレクトリ内のディレクトリとファイルの検索
- Windows インストーラーの例
ディレクトリ構造とフォルダーをインストールする Windows インストーラー データベースを作成します。
詳細については、次を参照してください。
- コア テーブル グループの
- ファイル テーブル グループの
- コンポーネント テーブルの
- ディレクトリ テーブルの
- ディレクトリ テーブル を使用した
- パス でディレクトリ プロパティを使用する
- システム フォルダーのプロパティ
- CreateFolder テーブル の
- LockPermissions テーブル の
- MsiLockPermissionsEx テーブル の
- ディレクトリ のターゲットの場所を変更する
- Windows インストーラーの例
レジストリ キーをインストールする Windows インストーラー データベースを作成します。
詳細については、次を参照してください。
- コア テーブル グループの
- レジストリ テーブル グループ
- レジストリ テーブルの
- レジストリ の変更の
- コンポーネント のインストールまたは削除に関するレジストリ キーの追加または削除
- アプリケーションの追加と削除、およびレジストリ へのトレースの残りなし
- 永続的なコンポーネント、ファイル、フォント、レジストリ キーのインストール
- 既存のアプリケーション、ファイル、レジストリエントリ、または .ini ファイルエントリの検索
- レジストリ エントリの検索とレジストリ の値を保持するプロパティの作成
- Windows インストーラー によって書き込まれたアセンブリ レジストリ キーの
- レジストリ キー をアンインストール
- selfReg テーブル の
- 自己登録 の順序を指定する
- Windows インストーラーの例
サービスをインストールする Windows インストーラー データベースを作成します。
詳細については、次を参照してください。
- ServiceInstall Table
- ServiceControl テーブル の
- コンポーネント テーブルの
分離されたコンポーネントまたは COM コンポーネントをインストールする Windows インストーラー データベースを作成します。
詳細については、次を参照してください。
- レジストリ テーブル グループ
- クラス テーブル の
- complus テーブル を する
- 分離コンポーネント の
- 分離コンポーネントの使用 の
- 分離コンポーネント のインストールの
- 分離コンポーネント の再インストールの
- 分離されたコンポーネントの削除
- プライベートロケーション への COM コンポーネントのインストール
- 既存のパッケージプライベート で COM コンポーネントを作成する
- Windows インストーラー を使用した COM+ アプリケーションのインストール
- COM 以外のコンポーネントをプライベートな場所にインストールする
- 既存のパッケージプライベート で COM 以外のコンポーネントを作成する
アセンブリをインストールする Windows インストーラー データベースを作成します。
詳細については、次を参照してください。
- MsiAssembly テーブル の
- MsiAssemblyName テーブル
- アセンブリ
- Windows インストーラー によって書き込まれたアセンブリ レジストリ キーの
- Win32 アセンブリ のインストールの
ODBC ドライバーとトランスレーターをインストールする Windows インストーラー データベースを作成します。
詳細については、次を参照してください。
MIME をインストールする Windows インストーラー データベースを作成します。
詳細については、次を参照してください。
環境変数をインストールする Windows インストーラー データベースを作成します。
詳細については、次を参照してください。
ショートカットをインストールする Windows インストーラー データベースを作成します。
詳細については、次を参照してください。
- ショートカット テーブルの
- MsiShortcutProperty テーブル の
- インストーラーのショートカットの編集
- Windows インストーラーの例
アプリケーションの複数のインスタンスをインストールする Windows インストーラー データベースを作成します。
詳細については、次を参照してください。
既定の機能選択の状態とオプションを指定します。
詳細については、次を参照してください。
- コア テーブル グループの
- コンポーネント テーブルの
- フィーチャ テーブル の
- FeatureComponents テーブル の
- 機能選択状態の制御
- 機能インストール オプションのプロパティ
アプリケーションまたは選択したコンポーネントをインストールするために満たす必要がある条件を指定します。
詳細については、次を参照してください。
- 条件テーブルの
- LaunchCondition テーブル の
- コンポーネント テーブルの
- 条件付きステートメントでプロパティを使用する
- 条件付きステートメントの構文
- 削除 中に実行する の調整アクション
- 条件付きステートメント構文 の 例
アプリケーションのインストールに使用する一連のアクションを作成します。
詳細については、次を参照してください。
- シーケンス テーブル の使用の
- インストール プロシージャ テーブル グループ
- シーケンス テーブルの詳細な例
- シーケンス制限 を使用したアクションの
- シーケンス制限のないアクションの
- 条件付きステートメントでプロパティを使用する
- 条件付きステートメントの構文
- 条件付きステートメント構文 の 例
- 削除 中に実行する の調整アクション
- 標準アクション
- Windows インストーラーの例
Windows インストーラー サービスによるアプリケーションの今後のアップグレードのために、アプリケーションのインストール パッケージを準備します。
詳細については、次を参照してください。
開発中の Windows インストーラー パッケージのトラブルシューティングを行います。
詳細については、次を参照してください。
- パッケージ検証
- 内部整合性エバリュエーター - ICEs
- Windows インストーラーのログ記録
- 機能、コンポーネント、ファイル のインストールの確認
- 大規模なパッケージ の作成の
- Wilogutl.exe
- Windows インストーラー開発ツールの
- マージ モジュールの検証 の
- インストール データベース の検証の
- インストール アップグレード の検証
- 破損したフィーチャーまたはコンポーネントの を検索する
- Windows インストーラーのエラー メッセージ
- 再起動要求 のログ記録の
アプリケーションの安全なセットアップとインストールを確認します。
詳細については、次を参照してください。
- セキュリティで保護されたインストールの作成に関する ガイドライン
- カスタム アクション をセキュリティで保護するための ガイドライン
- カスタム アクション セキュリティ の
- ロックダウンされたコンピューター でのパッケージのセキュリティ保護に関する ガイドライン
- Automation を使用して完全に検証された署名済みインストールを作成する
- URL-Based Windows インストーラーのインストール例 を する
- パスワード入力 のユーザー インターフェイスの作成
- デジタル署名と Windows インストーラー の
- UAC での Windows インストーラーの使用の
- ユーザー アカウント制御 (UAC) の修正プログラムの適用
- Msicert.exe
- AdminUser プロパティをする
- Privileged プロパティの
- SecureCustomProperties プロパティをする
インストールを構成し、保留中のインストール プロセスに関する情報をユーザーから取得するためのオプションを表示するユーザー インターフェイスを作成します。
詳細については、次を参照してください。
- ユーザー インターフェイスの について
- コントロールとテキスト の追加の
- ProgressBar コントロール の作成の
- ディスク プロンプト メッセージの作成 の
- 条件付きの作成 "しばらくお待ちください。 . ."メッセージ ボックス
- ユーザー インターフェイス のプレビューの
- プロパティ に格納されているテキストを追加する
- MsiSetInternalUI
インストールを構成し、保留中のインストール プロセスに関する情報をユーザーから取得するためのカスタム ユーザー インターフェイスを表示する外部ユーザー インターフェイスを作成します。
詳細については、次を参照してください。
- MsiSetExternalUIの
- msiSetExternalUIRecord を使用したインストールの監視の
- Windows インストーラー メッセージの解析 の
- 外部ユーザー インターフェイス ハンドラーから値を返す
- INSTALLUI_HANDLER
- MsiSetExternalUI を使用した進行状況メッセージの処理の
- MsiSetExternalUI を使用したインストールの監視の
[プログラムの追加と削除] (ARP) アプリケーションの情報を設定します。
詳細については、次を参照してください。
- Windows インストーラー を使用したプログラムの追加と削除の構成
- アプリケーションの追加と削除、およびレジストリ へのトレースの残りなし
- レジストリ キー をアンインストール
Windows インストーラーでネイティブにサポートされていないセットアップ ロジックを処理するカスタム アクションを記述します。
詳細については、次を参照してください。
- カスタム アクション の
- すべてのカスタム アクションの種類の概要一覧
- カスタム アクション をセキュリティで保護するための ガイドライン
- カスタム アクション リファレンス の
- カスタム アクションを使用したローカル コンピューター でのユーザー アカウントの作成の
- カスタム アクションを使用してインストール済みファイルをインストール の最後に起動する
- カスタム アクション 内からデータベースまたはセッションにアクセスする
- カスタム アクション 内から現在のインストーラー セッションにアクセスする
- カスタム アクション を使用してシステム状態を変更する
ユーザーのコンピューターに Windows インストーラーをブートストラップします。
詳細については、次を参照してください。
- ブートストラップ
- Instmsi.exe
- インターネットダウンロードブートストラップ
- Msistuff.exe
- URL-Based Windows インストーラーのインストール例 を する
- Setup.exe リソース の構成
- インターネット からインストールをダウンロードする
Windows インストーラー パッケージを記述する場合は、Active Accessibility ガイドラインに従います。
詳細については、次を参照してください。
アプリケーションセットアップの国際化に備え、
詳細については、次を参照してください。
- ローカリゼーション用の Windows インストーラー パッケージの準備,
- Windows インストーラー パッケージのローカライズ
- コード ページ処理 (Windows インストーラー)
- ローカライズされたリソース の追加の
- ローカライズの例 を する
- エラー テーブルと ActionText テーブルのローカライズ
- データベース列 のローカライズの
- ニュートラル コード ページ を使用してデータベースを作成する
- インポートテーブルとエクスポートテーブルの コードページ処理
- ダイアログ によって表示される言語のローカライズ
- ローカライズされたエラー テーブルと ActionText テーブルのインポート
- ProductLanguage プロパティと ProductCode プロパティの更新
- 概要情報ストリーム の更新の
- 修飾コンポーネント の
- UIText テーブル の
- 言語とコード ページの管理の
- インストール データベース コード ページの の確認
32 ビットおよび 64 ビット プラットフォーム用の Windows インストーラー パッケージを作成します。
詳細については、次を参照してください。
- 64 ビット オペレーティング システムでの Windows インストーラーの
- 64 ビット カスタム アクション
- 64 ビット カスタム アクションの使用 の
- 64 ビット マージ モジュールの使用 の
共有 Windows インストーラー コンポーネントとセットアップ ロジックをマージ モジュールとして再配布します。
詳細については、次を参照してください。
Windows インストーラーのインストール中に再起動をスケジュールまたは抑制します。
詳細については、次を参照してください。
パッチを作成して、既存のアプリケーションの更新プログラムまたは修正プログラムを作成します。
詳細については、次を参照してください。
- 小さな更新プログラムの修正プログラムの の作成
- 小さな更新プログラムの修正プログラムの適用例の を する
現在のユーザーのみ、またはコンピューターのすべてのユーザーに対して、アプリケーションをインストールできるデュアル用途パッケージを作成します。
詳細については、次を参照してください。
Windows インストーラーを使用してコンピューター上のサービスをカスタマイズします。
詳細については、次を参照してください。
- サービス構成 の使用の
Windows インストーラーを使用してコンピューター上のリソースをセキュリティで保護します。
詳細については、次を参照してください。
コンピューターにインストールされているすべてのコンポーネントを列挙し、コンポーネントのキー パスを取得します。
詳細については、次を参照してください。
- コンポーネントの列挙 の
トランザクション処理使用して複数のパッケージをインストールします。
詳細については、次を参照してください。
Windows インストーラー パッケージにカスタム ユーザー インターフェイスを埋め込みます。
詳細については、次を参照してください。
IT プロフェッショナル
IT プロフェッショナルと管理者は、既存の Windows インストーラー パッケージをカスタマイズして展開します。 これらのユーザーは、既存のアプリケーションのセットアップを Windows インストーラー インストール パッケージに再パッケージ化し、ネットワーク上の Windows インストーラー インストールの管理イメージをインストールして管理します。
Windows インストーラーの変換を生成して適用することで、アプリケーションとセットアップをカスタマイズする
詳細については、次を参照してください。
- カスタマイズ
- データベース変換
- カスタマイズ変換の例 を する
- マージと変換
- 変換を使用したリソースの追加 の
- 変換 を生成する
- コマンド ライン オプションの
- Msitran.exe
- 変換 を適用する
- 変換 を表示する
- 2 つのデータベースの違いを表示
- カスタマイズされたアプリケーション の修正プログラムの
Windows インストーラーのインストール パッケージ、更新プログラム、またはパッチを展開します。
詳細については、次を参照してください。
Windows インストーラー パッケージのトラブルシューティングを行います。
詳細については、次を参照してください。
スクリプトを使用して、製品に関する情報を Windows インストーラー パッケージに照会し、インストールを変更します。
詳細については、次を参照してください。
管理インストールを作成して管理します。
詳細については、次を参照してください。
- 管理インストール
- コマンド ライン オプションの
- AdminProperties プロパティ
- 管理イメージ に修正プログラムを適用して小さな更新プログラムを適用する
- 管理インストール へのパッチ パッケージの適用
- アクションの実行順序の
- IsAdminPackage プロパティの
- プロパティの優先順位 の 順序
- AdminProperties プロパティ
コンピューターのすべてのユーザーまたは指定したユーザーのみがアプリケーションを使用できるようにします。
詳細については、次を参照してください。
- インストール コンテキストの
- ALLUSERS プロパティをする
コマンド ラインを使用して、パッケージの解釈、製品のインストール、機能オプションの構成を行います。
詳細については、次を参照してください。
- コマンド ライン オプションの
- コマンド ライン でのパブリック プロパティ値の設定の
- プロパティの取得と設定の
- 機能またはアプリケーションの を再インストールする
- 製品 のローカル インストールに修正プログラムを適用して小さな更新プログラムを適用する
- 製品 を再インストールして小さな更新プログラムを適用する
- ディレクトリ のターゲットの場所を変更する
- 管理イメージ に修正プログラムを適用して小さな更新プログラムを適用する
- 製品 をインストールしてメジャー アップグレードを適用する
- 構成プロパティ
- 機能インストール オプションのプロパティ
ポリシーを使用してアクセス権とアクセス許可を管理します。
詳細については、次を参照してください。
- マシン ポリシー,
- ユーザー ポリシー,
- 管理者以外の の管理者特権を持つパッケージのインストールの
- 昇格された特権を使用してインストールする Per-User アプリケーションのアドバタイズ
- カスタム アクションを使用したローカル コンピューター でのユーザー アカウントの作成の
- AdminUser プロパティ
- Privileged プロパティの
- EnableUserControl プロパティの
- UserSID プロパティの
- SecureCustomProperties プロパティ
トランザクション処理使用して複数のパッケージをインストールします。
詳細については、次を参照してください。
Windows インストーラー パッケージ内にカスタム ユーザー インターフェイスを埋め込む..
詳細については、次を参照してください。
インフラストラクチャ開発者
インフラストラクチャ開発者は、Windows インストーラー サービスを使用するソフトウェアの展開と管理のための統合プラットフォームを作成できます。 Windows インストーラー プログラミング インターフェイスを使用して、システム上のアプリケーション、パッチ、ソースのクエリ、管理、配布を行うことができます。
コンポーネントの状態、情報、クライアントの検索、インベントリ、クエリを実行します。
詳細については、次を参照してください。
- Component-Specific 関数の
- システムステータス機能
- Installer オブジェクト
- Product オブジェクトの
- patch オブジェクト の
製品と機能の情報と状態のインベントリとクエリ。
詳細については、次を参照してください。
- インベントリの製品とパッチの
- システムステータス機能
- 製品クエリ関数の
- Installer オブジェクト
- Product オブジェクトの
- patch オブジェクト の
Windows インストーラーを使用して、アプリケーション、アップグレード、パッチのソース リストのインベントリ、クエリ、変更を行うことで、ソースの回復性を向上させます。
詳細については、次を参照してください。
- SOURCELIST プロパティの
- ソースの回復性の
- インストールおよび構成機能の
- Installer オブジェクト
- Product オブジェクトの
- patch オブジェクト の
Windows インストーラーを使用してメディア ソースのインベントリ、クエリ、変更を行うことで、ソースの回復性を向上させます。
詳細については、次を参照してください。
- SOURCELIST プロパティの
- ソースの回復性 の
- インストールおよび構成機能の
- Product オブジェクトの
- patch オブジェクト の
情報とパッチの状態のインベントリとクエリ。
詳細については、次を参照してください。
- インベントリの製品とパッチの
- インストーラー関数リファレンス
- patch オブジェクト の
ポリシーを使用してアクセス権とアクセス許可を管理します。
詳細については、次を参照してください。
- マシン ポリシーの
- ユーザー ポリシー
- 管理者以外の の管理者特権を持つパッケージのインストールの
- 昇格された特権を使用してインストールする Per-User アプリケーションのアドバタイズ
- カスタム アクションを使用したローカル コンピューター でのユーザー アカウントの作成の
- AdminUser プロパティ
- Privileged プロパティの
- EnableUserControl プロパティの
- UserSID プロパティの
- SecureCustomProperties プロパティ