ClickOnce」って何!?

ClickOnce」は「VisualStudio2005(.NET Framework2.0)」から搭載された技術です。
改めて、「ClickOnce」って何!?  ClickOnce」はWebページからアプリケーションをインストールする技術です。



ただインストールするのなら、Webページにインストーラファイルを配置しておいて利用者がダウンロードしてインストールすれば良いのですが、 「ClickOnce」が違うのは、一旦インストールしたアプリケーションをその後に起動するたびに自動的にWebページ側に問い合わせて、 新しいバージョンが存在する場合は更新インストールが行なわれるという仕組みなのです。



Webページからインストールしたアプリケーションはスタートメニューに登録されるので、次回からは普通にスタートメニューから起動でき、 もちろん、タスクバーにピン止めさせて次回から起動に利用することもできます。



社内で扱う独自作成の業務系アプリケーションであれば、SQLServer等のデータベースへの接続が前提となるでしょう。 そうであればセキュリティ上、社外からのアクセスを行なうような仕組みではないでしょうから、このような方法を考えても良いのではないでしょうか。
実際には利用者のPCにインストールされるのですが、機能の改廃などがあっても起動時に更新インストールが行なわれるので、 常に最新状態で利用されるようにできます。



従来は無償版のVisual Studioでは「ClickOnce」の発行はできなかったのですが、 「Visual Studio 2017」以降では無償の「Community」エディジョンでも「ClickOnce」の発行が実行できるので、 ローカルPCIISをインストールするなどで これらの動作を確認することができます。

では、Webページに配置したインストール画面を起動したところから見ていきましょう。

「ClickOnce」のインストール画面

これがインストールページの画面です。このインストールページ自体もVisualStudioの「発行(ClickOnce)」から作成されるので、 作成されたものをWebに配置するだけでこのような機能が実現します。
(このサンプルではローカルPC内にWebページを配置しています)

「ClickOnce」のインストール中画面

ダウンロード中はこのような画面が表示されます。
Windows10の1903以降では次の画面に換わりました。
「ClickOnce」のインストール中画面

「ClickOnce」のインストール確認画面

続いて、インストールの確認画面が表示されます。NET上からのダウンロードでのインストールなので「セキュリティ警告」と表示され、 また、デジタル証明書は搭載させていないので「不明な公開元」と表示されます。
外部からWebページ等が改ざんされる心配がない社内のイントラネットに限定する運用であればこれでも良いと思います。
なお、デジタル証明書無しでのClickOnceの発行は「.NET Framework3.5」からできるようになりました。

配属情報の表示

インストールが行なわれると即座にアプリケーションが起動されます。
今回のサンプルは「データベース接続を行なう(SQLServer)を利用しています。 本来のアプリケーションであれば、ここでログイン画面が表示されるところです。

スタートメニュー

スタートメニューにもこのように登録されます。

「ClickOnce」のインストール中画面

スタートメニュー等から起動した時には一瞬この画面が表示され、最新バージョンかどうかが確認されます。 最新バージョンでなければ更新インストール動作となり、最新バージョンで起動されます。

実際のVisual Studio側の作業について次ページで紹介します。