23

ClickOnceアプリケーションを更新した後、ユーザーが実行すると、新しいバージョンをインストールするかどうかを尋ねられます。

私は高度に管理された環境で働いています。アップデートが利用可能な場合は、インストールする必要があります(古いバージョンでは、データベースとの下位互換性は保証されません)。

もう1つのオプションは、スキップが押された場合に実行を失敗させることです(これも正常に機能します)。

彼らが古いバージョンのアプリケーションを実行するのを防ぐ方法が必要です。

4

5 に答える 5

43

この記事はあなたの質問に答えます。記事のすべてを知る価値があるので、単に回答を投稿するのではなく、記事を指し示しています。

http://www.sayedhashimi.com/CategoryView,category,ClickOnce.aspx

以下は、記事からの関連する抜粋です。

ClickOnceの更新を強制する

ClickOnceの大きなセールスポイントの1つは、自動更新です。更新に関してよくある質問の1つは、「ユーザーに更新を強制するにはどうすればよいですか?」です。

ユーザーに更新を強制することに関して知っておくべき3つのことがあります。

1)アプリケーションがオンラインアプリケーションの場合、ユーザーは常に最新バージョンを実行します。オンラインアプリケーションは、アプリケーションにアクセスするたびにダウンロードされます。したがって、オンラインアプリケーションでは、デフォルトで強制更新が行われます。

2)アプリケーションがインストール済みアプリケーションの場合、MinimumRequiredVersion属性を使用して強制的に更新できます。Visual Studioを使用してアプリケーションを公開する場合は、[更新]ダイアログからこのプロパティを設定できます。

3)最後に注意すべきことは、アプリケーションがインストールされたアプリケーションである場合(そして、MinimumRequiredVersion属性を設定していない場合)、ユーザーが[スタート]メニューのショートカットからアプリケーションを起動した場合にのみ、ClickOnceによって[利用可能な更新]ダイアログが表示されます。 。つまり、アプリケーションがインストールされたアプリケーションであり、ユーザーがURLからアプリケーションを起動した場合、ClickOnceは強制的に更新します。


私はまた別の良い記事を見つけました:

ClickOnce:スマートクライアントの展開に使いやすさと信頼性をもたらします

于 2009-10-28T15:42:28.790 に答える
6

これは私にとってうまくいきました。プロジェクト ファイルに次を追加します。

<UpdateRequired>true</UpdateRequired>
<MinimumRequiredVersion>$(ApplicationVersion)</MinimumRequiredVersion>

ApplicationVersionプロジェクト ファイルのような値を持つことはできず1.0.0.*、自動更新を機能させるにはビルド時にインクリメントする必要があることに注意してください。

TeamCityを使用している場合、バージョン番号をインクリメントするには、プロジェクトのビルド構成ページに移動し、次のシステム プロパティを設定します。

system.ApplicationVersion = %build.number%

次のようにして、 MSBuildを時間ごとにバージョンをインクリメントすることもできます。

<UpdateRequired>true</UpdateRequired>
<BuildNumber>$([System.DateTime]::Now.ToString(yyyyMMdd))</BuildNumber>
<RevisionNumber>$([System.DateTime]::Now.ToString(mmss))</RevisionNumber>
<ApplicationVersion>1.0.$(BuildNumber).$(RevisionNumber)</ApplicationVersion>
<MinimumRequiredVersion>$(ApplicationVersion)</MinimumRequiredVersion>
于 2015-07-28T01:05:48.040 に答える
2

David's answerに加えて、 AutoUpdateProjectsMinimumRequiredClickOnceVersion nuget パッケージをプロジェクトにインストールするだけです。更新をチェックし、最低限必要なバージョンを使用するようにプロジェクトを設定すると、最低限必要なバージョンが常に現在のバージョンと一致するように処理されます (つまり、ユーザーは常に最新バージョンに更新する必要があります)。

于 2016-12-18T23:34:03.383 に答える
1

The application should check for updatesのチェックを外すと、アプリケーションは2つのバージョンの後にユーザーにプロンプ​​トを表示せずに更新を開始しました。

ここに画像の説明を入力してください

于 2013-01-09T14:24:42.767 に答える
0

クライアントの更新を強制するには、展開している現在のバージョンと等しい最小バージョン フィールドを設定する必要があります。これにより、「スキップ」オプションなしで更新が強制されます。

于 2015-06-12T13:31:54.823 に答える