-
29-09-2019 - |
質問
.msiを使用して手動のアンインストール/再インストールを必要とせずに、インターネットエクスプローラープラグインを自ら更新することは可能ですか?私はこれをプログラムでやろうと考えていましたが、何をする必要があるか(.dllなどを登録)について確信が持てません。
ありがとう、ネイサン
解決
バックグラウンドで新しいMSIをダウンロードするだけです。それが完了したら、ユーザーに促し、同意した場合は新しいMSIを実行します。
Re:ユーザーの入力を回避:許可なしにそれを行うことができます...しかし、新しいアドオンをインストールするにはブラウザを再起動する必要があるため、ランダムに行うのが最善のことではありません。店舗が閉鎖されることを知っているときにそれが起こるかもしれませんが、ブラックフライデーのために真夜中に営業している場合はどうでしょうか?あなたはそれを介して考えなければなりません。
別の方法は、拡張機能が実装するすべてのインターフェイスを公開するスタブDLLを実装し、そのスタブをロードするものとして登録することです。その後、スタブは実際のDLLでLoadLibraryを呼び出し、すべての呼び出しをサンクできます。新しいバージョンをインストールする場合は、新しいバージョンDLLをダウンロードして、古いバージョンをアンロードしてから新しいバージョンにロードしてから新しいバージョンにロードします。これを適切に行うと、ユーザーにとっては見かけのように見える場合があります...新しいDLLに新しいレジストリエントリが必要な場合、またはスタブを更新する必要がある場合に難易度が発生します。これらの問題はすべて解決できますが、努力が必要です。爆発します。
私のアドバイスは、これらの長さに絶対に行かなければならないまで、それをシンプルに保つことです。