0

基本的にはすべてタイトルに含まれていますが、それでもさらに説明します。

ClickOnceアプリケーションは、管理者権限なしで簡単にインストールできるように設計されています。ただし、ClickOnceアプリケーションを以前のバージョンにロールバックするには、Microsoftのドキュメントで説明されているように、[プログラムの追加と削除]機能を使用する必要があります。

問題は、私の企業では、特定のポリシーによってユーザーがこの機能を使用できないことです。ClickOnceアプリケーションはユーザーによってインストールされるため、管理者としてappwiz.cplを実行してもここでは役に立ちません。

では、ClickOnceアプリケーションを以前のバージョンにロールバックする他の方法はありますか?

回答ありがとうございます。

4

2 に答える 2

1

以前の仕事の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)の後に公開された更新は、からロールバックできません。
于 2012-04-30T13:44:13.750 に答える
0

これを行う小さなプログラムを書くことができます。ここにあるアンインストールコードを使用できます。アンインストールすると、ユーザーに確認するかどうかを尋ねるダイアログが常に表示されます。コードはそのダイアログで[OK]ボタンを検索し、クリックします。[OK]ボタンをクリックする前に、いつでもこれを変更して、バージョンを元に戻すボタン(テキストを思い出せません)を探して選択することができます。

于 2012-05-05T18:14:06.870 に答える