以前の仕事の1つでは、アップグレードするかどうかのオプションをユーザーに提供していませんでした。各バージョンは、そのバージョンを最小バージョンとしてプッシュされました。ただし、これには、新しいバージョンで問題が発生した場合にユーザーがダウングレードできないという厄介な副作用がありました。
これを回避するために、バージョンを公開するたびに、同じバージョンを別の場所に2回公開しますが、バージョンは2回インクリメントされます(つまり、次のバージョンよりも高いバージョンになります)。 'd公開)。ロールバックする必要がある場合は、バージョンをセカンダリの場所からプライマリの場所にコピーし、メインの.applicationファイルをその特定のバージョンのもので上書きする必要がありました。
これには、バージョン管理にある程度の規律が必要です。全体的なアプローチは、バックアップバージョンが次に高い現在のバージョンよりも高いことに依存しているため、ClickOnceは実際には新しいと見なします。バージョンを高くしすぎないようにします。これは、バージョンを置き換えるために公開するバージョンは、当然、それよりも高いバージョンである必要があるためです。
たとえば、次のようになります。
Publish version 1.0.0 to primary location and 1.2.0 to backup location
Clients update
Publish version 1.1.0 to primary location and 1.3.0 to backup location
Clients update
Calamity ensues
Copy version 1.2.0 from backup to primary (which is, in reality, version 1.0.0)
Clients update
All is well
Publish version 1.3.0 to primary location and 1.5.0 to backup location
etc.
いくつかの制限があります。
- 上記のように、バージョン管理は統制されている必要があります
- ロールバック(上記のバージョン1.3.0)の後に公開された更新は、からロールバックできません。