1

Inno Setupで作成されたアプリケーションインストーラーがあり、アプリケーションの複数のバイナリとサポートファイルをデプロイします。

アップグレードインストールを実行すると(たとえば、バージョン1.0が既にインストールされているときにsetup-1.5.exeを実行すると)、以前のバージョンのファイルの一部が頻繁に使用され、次の再起動まで置き換えることができません。それは問題ありません、Innoはそのケースを正しく処理します。

ただし、私が本当に必要としているロジックは、次の再起動までファイルを置き換えることができない場合、次の再起動時にすべてのファイルを置き換えることです。そうしないと、使用中のバイナリは置き換えられませんが、一部のサポートファイルが置き換えられ、再起動する前にアプリケーションが不安定な状態のままになる可能性があります。

これを達成するためのクリーンな方法はありますか?すべてのサポートファイルを自分で明示的にロックする以外に、1つを見つけることができませんでした。これは、非常に醜いです。

ありがとう!

4

1 に答える 1

2

Innoはこれをネイティブに行うことはできません。これが、AppMutexすべてが明確であることを確認するために提供し、友人を提供する理由です。何かが残っている場合は、再起動する必要があることをユーザーに通知します。

その後、アプリでこれを拡張し、置換の再起動アクションが保留中の場合は開始を拒否できます。

于 2012-04-04T13:01:06.460 に答える