3

ドライバーをインストールするMSIパッケージがありますが、ドライバーのアンインストールには再起動が必要です。scheduleReboot後に標準カスタムアクション()をスケジュールしましたがInstallFinilize、これは正常に機能します。

ここで、「ドライバー」ファイルを置き換える場合にのみ再起動をスケジュールしたいと思います。「インストールされているファイルのバージョン」と「インストールされるファイルのバージョン」を判断し、思いやりに基づいて変更がある場合は、再起動をスケジュールする方法はありますか。

4

1 に答える 1

0

場合によっては、Windowsインストーラーがシステムの再起動が必要かどうかを判断できます。たとえば、ScheduleRebootアクションを使用して、再起動が必要なドライバーをインストールした後、インストーラーに再起動を求めるプロンプトを表示させることができます。インストーラーが使用中のファイルを置き換えようとすると、ScheduleRebootが使用されていなくても、ユーザーに再起動を自動的に促します。ForceRebootアクションは、インストーラーが必要な場合にのみ再起動をトリガーするように、常に条件ステートメントとともに使用する必要があります。たとえば、再起動が必要になるのは、特定のファイルが置き換えられた場合、または特定のコンポーネントがインストールされた場合のみです。

各製品のインストールは一意であり、再起動が必要かどうかを判断するためにカスタムアクションが必要になる場合があります。Windowsインストーラデータベースには、既存のアプリケーション、ファイル、レジストリエントリ、または.iniファイルエントリの検索とプロパティの設定に使用するテーブルがあります。

注:既存のファイルを置き換える場合、Windowsインストーラーは、コンポーネントのファイルをインストールする前に、コンポーネントのキーファイルが既にインストールされているかどうかを判断します。インストーラーは、ターゲットの場所にインストールされているコンポーネントのキーファイルと同じ名前のファイルを見つけると、2つのキーファイルのバージョン、日付、言語を比較し、ファイルのバージョン管理ルールを使用して、によって提供されるコンポーネントをインストールするかどうかを決定します。パッケージ。インストーラーは、キーファイルに基づいてコンポーネントベースを置き換える必要があると判断した場合、インストールされている各ファイルのファイルバージョン管理ルールを使用して、ファイルを置き換えるかどうかを決定します。

于 2012-11-29T23:18:22.763 に答える