5

Burn(WiX)ブートストラッパーでRebootPendingプロパティを参照するにはどうすればよいですか?プロパティ名がRebootPendingであることがわかっています。これは、実際にはWindowsインストーラーのMsiSystemRebootPendingプロパティを参照しています。

私は現在次のようなことを試みています:

<bal:Condition Message="There is a restart pending. Please restart your computer before  attempting to install !(loc.ProductName).">RebootPending = 0</bal:Condition>

ただし、Windows Updateが更新を終了したばかりで、再起動する必要がある場合でも、常に当てはまります。

私の構文は間違っていますか?代わりに、条件に[RebootPending]を設定する必要がありますか?

Burn内のRebootPendingプロパティが、Windowsインストーラーが使用するプロパティに正確に対応していない可能性があることを知らされた後、再起動が保留されているときにアプリケーションがインストールを試行しないようにするには、他にどのようにすればよいですか?

4

4 に答える 4

6

Burn は MSI の MsiSystemRebootPending を使用しません。これは、インストール トランザクションの外部で動作するためです。そのため、Burn は代わりにISystemInformation::RebootRequiredを使用します。MSI と ISystemInformation::RebootRequired が再起動が必要かどうかについて同じ考えを持っているという保証はありません。

于 2012-06-04T01:52:59.207 に答える
2

一般的なアイデアについては、 ツールWhyRebootを参照してください。これが何をするかです:

再起動後のファイルのコピー/名前変更/削除操作について、文書化されたレジストリの場所を調べます。

「Run Once」アプリケーションの文書化されたレジストリの場所を調べます。これらは次回の再起動時に 1 回実行され、再起動後のファイルのクリーンアップやレジストリ操作などのその他の操作を実行するためにインストーラによって使用される可能性があります。

保留中のファイルの名前変更/削除操作について、Win9x/ME プラットフォームで Wininit.ini を調べます。

于 2012-06-04T03:13:11.587 に答える
0

それが役立つかどうかはわかりませんが、ここではRebootPendingの値が示されています

変数が最初に要求されたときのシステムの再起動ステータスを反映します

于 2012-06-04T01:32:39.793 に答える