1

キャンセルを思いとどまらせるためにmsiexec.exe、オプションで MSI をインストールするために使用しています。/passive

問題は、Windows インストーラーがシステムの再起動が必要であることを検出した場合、インストールの完了直後に再起動が行われ、ユーザーの作業が中断されることです。

/norestart中断を回避するために使用できます。

しかし、最初に遅延してそのような再起動を強制する方法はありますか? みたいな/forcerestarteventually

NSIS インストーラーでは、Windowsshutdown.exeユーティリティを呼び出すだけです。カスタム アクションで/norestartandを使用することは、1 つの可能性だと思います。SystemRebootPending

そのアプローチには落とし穴がありますか、それとももっと簡単なものがありますか?

XP / Win7 用の WIX を使用した MSI の開発 - Windows インストーラーのバージョン要件についてはかなり簡単です。

4

1 に答える 1

1

「force-restart-eventually」オプションはありません。ただし、Restart Manager API を使用すると、インストールまたは更新を完了するために必要なシステムの再起動の回数をなくすか減らすことができます。カスタム Windows インストーラーは、再起動マネージャー API を呼び出してアプリケーションとサービスを直接シャットダウンおよび再起動し、システムの再起動を必要としないように設計できます。システムの再起動が避けられない場合、インストーラーは InitiateShutdown または ExitWindowsEx 関数を使用して、ユーザーへの中断を最小限に抑えるようにスケジュールすることができます。メインの再起動マネージャーのドキュメントを参照してください。また、Windows インストーラーのドキュメントの「再起動マネージャーで Windows インストーラーを使用する」セクションも参照してください。

于 2012-12-18T18:12:22.607 に答える