シェル拡張機能を登録するインストーラーをNSISで作成しています。
アンインストールおよびアップグレード時に、explorer.exeが古い拡張機能をロックし、プロセスの強制終了-再開が除外されるため、古い拡張機能を削除/上書きすることはできません。
そこで、新しい拡張機能を別の名前で抽出し、古い拡張機能に削除のマークを付け(アンインストール/アップグレード)、PendingFileRenameOperationsレジストリキーを使用して新しい拡張機能の名前を元の名前(アップグレードのみ)に変更します。これまでのところ、これは正常に機能します。
問題は、PendingFileRenameOperationsは再起動時にのみ機能するため、起動時に新しいシェルコンポーネントを登録する必要があることです。再起動後にzippy32操作をスケジュールする方法はありますか?
ログオフ/ログオンもRunOnce操作をトリガーするため、 RunOnceでの.bat実行を介してこれを行うことに依存することはできません。
前もって感謝します。