- PR -

ClickOnceの更新確認について

1
投稿者投稿内容
じんたろう
会議室デビュー日: 2007/04/09
投稿数: 8
投稿日時: 2008-03-28 10:17
いつも勉強させていただいてます。
じんたろうと申します。

環境
VS2008/使用言語 VB/.NET FRAMEWORK 2.0
プロジェクトは元はVS2005で作ったものを現在VS2008で使ってます。

ClickOnceにてLAN内のPCへwindowsアプリを配布しています。
インストールモードと設定

アプリケーションはオフラインでも利用できる
に設定してます。

http://msdn2.microsoft.com/ja-jp/library/1zyc39fb(VS.80).aspx
のページの説明にある様に

引用:
更新確認をプログラムから行うには

途中略

[アプリケーションの更新] ダイアログ ボックスの [アプリケーションの更新を確認する] チェック ボックスがオフになっていることを確認します。



として更新の確認をしない様に設定しても起動前に確認しに行ってしまいます。
(「アプリケーションの起動中」画面→「利用可能な更新があります」画面)

Clickonceは使用したいが更新タイミングと実際の更新は手動でやりたいのですが
困っています。

手動(プログラム)での更新確認、更新作業はすでに出来ております。
他に設定箇所等があるのでしょうか?

ちなみに
\publish\Application Files\アプリ名_0_0_0_70 の中の
アプリ名.application の該当すると思われる場所は

<deployment install="true" mapFileExtensions="true">
<deploymentProvider codebase="file://pc4/publish/アプリ名.application" />
</deployment>

となっています。
じんたろう
会議室デビュー日: 2007/04/09
投稿数: 8
投稿日時: 2008-03-28 21:02
自己レスです。

フォームが1つだけの新しいプロジェクトで実験してみたところなんとなくわかりました。

[アプリケーションの更新] ダイアログ ボックスの [アプリケーションの更新を確認する] チェックボックスをオフにすると通常は更新を確認しないアプリとなる。

ただしコードで
コード:

Dim dep As ApplicationDeployment = ApplicationDeployment.CurrentDeployment
If dep.CheckForUpdate = true Then
'更新があるときの処理
Else
'更新が無いときの処理
End If


を1回でも実行すると(更新を行わなかった場合でも)次回起動時から必ず起動前に勝手に更新を確認するようになるみたいです。

やはり今までのように自動の更新チェックはオンにして(起動後確認)、
ユーザーからの要求で手動チェックというふうにしたいと思います。

[ メッセージ編集済み 編集者: じんたろう 編集日時 2008-03-28 21:04 ]

[ メッセージ編集済み 編集者: じんたろう 編集日時 2008-03-28 21:05 ]
じんたろう
会議室デビュー日: 2007/04/09
投稿数: 8
投稿日時: 2008-03-28 21:12
すいません。
また自己レスです。

http://msdn2.microsoft.com/ja-jp/library/system.deployment.application.applicationdeployment.checkforupdate.aspx

↑のページに
引用:
CheckForUpdate で更新が利用できることが検出された場合に、ユーザーがその更新をインストールしないことを選択すると、ClickOnce は、アプリケーションの次の実行時に更新が利用できることを通知するプロンプトをユーザーに表示します。このプロンプトを無効にする方法はありません。



だそうです。
仕様なので仕方ないみたいです。
お騒がせしました。


1

スキルアップ/キャリアアップ(JOB@IT)