2009-03-04 45 views
3

URL経由で別のアプリケーションから頻繁に起動されるClickOnceアプリケーションがあります。 URLにはデータなどを読み込むコマンドライン引数がいくつか含まれています。URL経由でClickOnceを起動しますが、更新をチェックしません。

アプリを起動する頻度が非常に高いので、バージョンの更新をチェックする必要があります。だから私はそれを避けるためにApplicationDeploymentクラスを通して私自身のチェックを実装しました。アプリがインストールされたら、スタートメニューから起動するとうまくいきます。

しかし、これは多くの点で有利であるため、URLの動作によっても起動を維持したいと考えています。しかし、URL経由で起動すると、アップデートチェックが常に実行されます - IEがローカルダウンロードエリアのアプリを探して、スマートにインストールされているかどうかを確認するスマートではないようです...

誰かURL起動メカニズムを使用している間に「自動的に更新をチェックしない」動作を得る方法を知っていますか?


実際、問題はClickOnceモデルのCatch-22のようです。 URLを指定して起動すると、IEはとなります。は、ホストとベースをタッチし、必要に応じてバージョンを確認します。アプリに「バージョンを確認しない」と表示されているかどうかは関係ありません。ただし、スタートメニューから起動すると、ClickOnceはコマンドライン引数を無効にします。

誰もこれを回避する方法を見つけたか、それを修正するMS計画を知っていますか?

答えて

0

registering the application to a custom URL protocolとお考えですか?これはおそらく望ましいと思われるプロパティ、つまりWebブラウザの内部から任意の起動パラメータでアプリケーションを起動する機能を提供します。

1

Microsoftが「修正」することは何もありません。これは、オンラインClickOnce展開の意図された動作です。オンラインになっていることを確認し、最新のバージョンを実行していることを確認してから実行します。それをしたくない場合は、オンラインとオフラインで実行するように設定する必要があります。

私はあなたがオフラインに設定しても、まだhttpのURLでそれを呼び出すと、それはまだ更新をチェックするつもりだと思いますが、私はそれを誓うことはありません。それがオンライン/オフラインアプリの場合は、代わりにスタートメニューのショートカットから呼び出すことができます。

.NET 3.5 SP-1または.NET 4.0を対象としている場合は、アプリケーションがオンライン/オフラインの場合に引数を渡すことができます。その方法を調べるには、this articleをチェックしてください。

関連する問題