エンド・ユーザーにアプリケーションを配布し、そのアプリケーションを自動的に更新する方法としてClickOnceテクノロジを採用する際には、まずそのターゲットとなるクライアント環境についても注意を払っておく必要がある。
●ClickOnce(=.NET Framework 2.0)が利用できるクライアントOS
ClickOnceアプリは.NET Framework 2.0が提供する機能だ。そのため、.NET Framework 2.0がサポートしていないOSでは利用できない。具体的にClickOnceが利用可能なOSは次のとおりだ。
ここでの注意点は、.NET Framework 1.xのころはサポートされていたWindows NT 4.0が、サポート対象外となっていることである。
*4 Windows 2000に関しては、.NET Framework 2.0 SDKや.NET Framework 2.0再配布可能パッケージ(x86)などの公式文書では「Service Pack 4」(SP4)が必要となっているが、実際に動かして調べたところ、現実的には「Service Pack 3」(SP3)以上であれば.NET Framework 2.0をインストール可能で、ClickOnceアプリが実行可能だった(ただしやはり、公式文書に従ってクライアント環境はSP4以上にすべきだろう)。
*5 Windows XPに関しても、.NET Framework 2.0 SDKや.NET Framework 2.0再配布可能パッケージ(x86)などの公式文書では「Service Pack 2」(SP2)が必須となっているが、実際のところService Packが何も適用されていなくても、.NET Framework 2.0をインストールすることが可能であった(ただし、これに関しても公式文書に従うべきだろう)。
.NET Framework 2.0(x86版の場合)を実行するための最低限のハードウェア要件の目安は次のとおりだ。
そのほか、.NET Framework 2.0をインストールするための最低限の前提条件として、「5.01以降」のIEがあらかじめインストールされている必要があることにも注意されたい。ちなみにClickOnceアプリを<開発>可能なクライアントOSは、Windows NT系(2000/XP/2003など)となっており、Windows 9x系(98/Meなど)では開発がサポートされていない。
●クライアント環境への.NET Framework 2.0インストールの自動化
ClickOnceアプリを実運用する際には、以上のクライアント環境の要件をクリアして、事前に.NET Framework 2.0をインストールしておく必要がある。
ここで「ClickOnceテクノロジは.NET Framework 2.0のインストールも自動化してくれるのでは?!」と考えている読者諸氏も多いだろう。確かに、ClickOnceの大きなメリットの1つとして「クライアント環境への.NET Framework 2.0インストールの自動化」が挙げられるし、実際にある程度の自動化が実現されている。具体的には本連載第1回の「ClickOnceが提供する.NET Framework 2.0インストール用のWebページ」という画面で説明した機能がそれである。
しかし、この「.NET Framework 2.0インストールの自動化」の機能は完ぺきではない。というのも、この機能が上述のクライアント要件をきちんと(前提として)考慮してくれないからだ。例えばSP4が適用されていないWindows 2000などでClickOnceをインストールしようとすると、次の画面のようなエラーが発生してしまう。
また「5.01以降」のIEがインストールされていない環境で.NET Framework 2.0をインストールしようとした場合には次のようなエラーが出る。
つまり、例えば、Windows 98の人がいたり2000の人がいたり、サービスパックが適用されていたりいなかったり、IEのバージョンがバラバラだったりというような、クライアント環境が不定な状況では(恐らく大半の会社の現状はそのようなものではないだろうか)、ClickOnce機能を使っても.NET Framework 2.0のインストールが完全に自動化できず、ClickOnceアプリの配布コストを低減できないという問題に直面するわけである。残念だが、この問題を解決するには、開発者が何らかの工夫を行って対応するしかないだろう。
●.NET Framework 2.0インストール問題の解決案
これを解決するための対応方法はいくつかあるだろうが、最も好ましいと思われるのは、本連載「第5回 実行環境を確実に整える必須コンポーネントの開発」で説明した方法によって、クライアント環境のOSのバージョンをチェックして、サービスパックやIEをインストールする必須コンポーネントを作成することである。
それよりももっと手軽に対応するには、「ClickOnceアプリ・インストール用のWebページ」(publish.htm)のJavaScript部分をカスタマイズするという手もある。ただし、JavaScriptで入手できるクライアント環境の情報には限界があるので、この対応には限界があるのも事実だ。本稿ではこの参考例として、サンプルのHTMLファイルを次のリンクに用意した。
次の画面は、SP4が適用されていないWindows 2000で、このWebページを開いたところである。
Copyright© Digital Advantage Corp. All Rights Reserved.