ClickOnceアプリケーションを他から起動する方法

なんてことはない、以下のように、他のプロセスを起動するのと同じように起動できる。

System.Diagnostics.Process.Start(@"http://FooHost/FooApp/Foobar.application");

ただし、以下の前提条件が必要

  • 実行するアプリケーションのURLを知っている

@"http://FooHost/FooApp/Foobar.application"はClickOnce発行時のURL。ClickOnceアプリケーションはローカル環境にインストール出来るものの、起動はURLを経由して行われる。(一度でもインストールされており、配置マニフェスト絶対パスが判明しているのであれば、Foobar.applicationから、シェルで直接起動することも可能だが、試していない)

起動パスにURLを指定しているのだから当たり前なのだが、Webサーバが動作しており、ClickOnceによる配布/実行が可能な状態でのみ起動が可能。

コンソールアプリケーションやGUIアプリケーションからも実行できるので、中々良いかな、と思ったのだが起動する度に一瞬ブラウザウインドウが表示されるので、これをなんとかしないと駄目だな。