7

新しいバージョンをインストールするときに、アプリケーションの以前のバージョンを強制的にアンインストールするために、 WiX 3.6で <MajorUpgrade> を使用しています。私のアプリケーションは拡張 DLL ファイルを Windows エクスプローラーにインストールするため、使用中のファイル リスト エクスプローラーをアンインストールすると、デフォルトでリストされたアプリケーションがシャットダウンされます。これにより、シェルがなくなると Windows エクスプローラーが強制終了されますが (これはユーザーにとってはやや不快です)、それでもすべてのアプリケーションをシャットダウンできるわけではなく、再起動が必要であるというエラーが表示されます。私の好みは、このスラッシュを回避し、Files-In-Use ダイアログをスキップして、最後に必要な再起動をユーザーに通知することです。[使用中のファイル] ダイアログをスキップするように WiX に指示する方法はありますか?

4

3 に答える 3

7
 <Property Id="MSIRESTARTMANAGERCONTROL" Value="Disable"/>

これは私にとってはうまくいきますが、システムサービスを強制終了しようとしているわけではありません。

「DisableShutdown」も試しましたか?

" Windows インストーラーは FilesInUse ダイアログを使用します。この設定は、再起動マネージャーを使用するように作成されていない Windows インストーラー パッケージをインストールするときに、再起動マネージャーによる再起動を軽減しようとする試みを無効にします。インストーラーは引き続き再起動マネージャーを使用して、アプリケーションで使用中のファイルを検出します。 . "

http://msdn.microsoft.com/en-us/library/aa370377%28v=vs.85%29.aspx

于 2013-04-30T17:29:20.847 に答える
1

また、アプリケーションを閉じて再度開く試みが常に失敗する状況もあります。再起動が必要です。ここで提供されているすべてのソリューションを使用しようとしました。それらのどれも機能しませんでした。私は簡単に問題を解決することができました。この記事がヒントでした。https://msdn.microsoft.com/en-us/library/aa369546(v=vs.85).aspx

InstallValidate 標準アクションに、常に false に解決される条件を追加しました。アクションは実行されません。標準アクションは、ディスクのコスト計算とオープン プロセスのみを処理します。アクションが呼び出されないように停止すると、すべてのクローズ オファーが停止されます。また、Windows インストーラーの REBOOT プロパティを FORCE に設定して、インストールの最後に再起動を促すプロンプトを表示する必要がありました。

アプリケーションのディスク フットプリントが小さいです。プロセスの後半でディスクがいっぱいになったためにインストールが失敗することが大きな問題になる場合は、自分でコストを計算する方法を見つけます。

于 2015-09-05T19:18:54.987 に答える