カスタム アクションを使用してローカル コンピューターにユーザー アカウントを作成する
このサンプルでは、カスタム アクションを使用して、コンポーネントをインストールするときにローカル コンピューターにユーザー アカウントを作成する方法を示します。 コンポーネントを削除すると、カスタム アクションによって作成されたローカル ユーザー アカウントが削除されます。 遅延実行カスタム アクションやロールバック カスタム アクションなど、いくつかのカスタム アクションが示されています。
サンプルは次の仕様を満たしています。
- インストールでは、Windows 2000 を実行している場合にのみユーザー アカウントが作成されます。
- コンポーネントがローカルで実行されるようにインストールされている場合にのみ、インストールによってユーザー アカウントが作成されます。 これにより、コンポーネントの修復または再インストール中にユーザー アカウントを作成できなくなります。
- コンポーネントが削除されると、インストーラーによってアカウントが削除されます。
- ユーザー アカウント情報は、インストール データベースのカスタム テーブルから読み取られ、カスタム アクション コードにハードコーディングされません。
- ユーザー アカウントの作成または削除には昇格された特権が必要であるため、一部のカスタム アクションでは、昇格された特権を必要とするシステムの変更を行うことができるものが必要です。 これらのカスタム アクションは、実行スクリプトの実行時に実行される遅延カスタム アクションである必要があります。
- 各アカウントには、コンポーネントのインストールのロールバック時にアカウントが削除されるようにするためのロールバック カスタム アクションがあります。 これには、コンポーネント削除時のアカウント削除のロールバックは含まれません。
- カスタム アクションは、作成または削除された各アカウントに ActionData メッセージを送信します。 これには、ProgressBar の進行状況メッセージの提供は含まれません。
- カスタム アクションでは、アカウントを作成できない場合にエラーが報告されます。
- アカウントのパスワードは、ユーザー インターフェイスとのユーザー操作によって取得されるか、基本 UI または None ユーザーインターフェイス レベルでインストールされている場合は、コマンド ラインで渡されるプロパティとして取得されます。
- 機密データはログ ファイルに表示されません。
このサンプルには、TestAccount という名前の仮想のコンポーネントが含まれています。 次のセクションの説明では、TestAccount に必要なリソースを既に作成しており、このコンポーネントのインストールに必要な機能、コンポーネント、ファイル、ディレクトリ、および FeatureComponents テーブルをサンプル データベースで作成していることを前提としています。 詳細については、「インストール例」を参照してください。
次のトピックでは、必要なカスタム アクションを作成してインストール パッケージに追加する方法について説明します。
- カスタム アクションの作成
- カスタム CustomUserAccounts テーブルの追加
- カスタム アクション テーブルの作成
- ActionText とエラー テーブルの作成
- InstallExecuteSequence テーブルの作成
- パスワード入力のユーザー インターフェイスの作成
- インストールのセキュリティ保護