このページの本文へ

前へ 1 2 3 次へ

MSDN Interview ~「Visual Studio 6 Plus Pack」のすべて~

2000年02月10日 00時00分更新

文● 聞き手、構成:MSDN Magazine編集部

  • この記事をはてなブックマークに追加
  • 本文印刷
[編集部] Windows 2000では、デバイスドライバを始めとして、DLLなどもインストール時にすべてチェックされ、システムには簡単に上書きできないようになっています。このチェック機能についてですが、道筋を作っておいて、すべてに渡って1つのルートを通すことによって、まずチェックしようとしている。最終的には何を目的にしてるのかというと、それはシステムの安定性にある。特にデバイスドライバ、もしくはコアコンポーネントなどは、いくらOSがよくなっても、後から書かれるものの品質が悪ければ、安定性が低下する。システムの安定性を損なわないような方法の1つとして、チェック機能が増えているのは仕方がないのでしょうか。いわゆるロゴの取得要件にしても、以前と較べたらきついのではないかと思うのですが。
[鈴木] おっしゃるとおり、2種類あるロゴの取得要件について、デスクトップアプリケーションより分散アプリケーションのほうが顕著なのですが、かなり厳しい要件が多いです。

 ちょっと話をもとに戻すと、従来Visual Basic 6.0の「Distribution Wizard」機能が使われていた。これも、たとえばVisual Basicのランタイムを一緒に配布したり、必要なファイルをまとめてパッケージ化して、EXEファイルを実行すればインストールが始まるという、従来のWindows NT 4.0やWindows 95/98で使ったスタイルのインストーラです。今まで、「Distribution Wizard」がどこで使われていたかというと、たとえば企業の中で作られたアプリケーションなど、市販されているパッケージよりは、「この事業部のユーザーに対して使ってもらう」といったアプリケーションを配布するときに使われていました。

 この、従来「Distribution Wizard」を使って配布していたものを止めて、ぜひ「Visual Studio Installer」を使っていただきたい。「Visual Studio Installer」が狙っているところはここであり、出している大きな理由なのです。そして、ファイルが壊れたり、起動しなくなったといった事態を解決するためのソリューションとして、Windows 2000が出てきているところがあります。OSは、Windows 9xと比べて落ちなくなったけれど、その上のアプリケーションのインストールでまた手間がかかったら、結局同じことです。そこを削減するためには、どうしても「Windows Installer」に対応していただく必要があるのです。欲を言えば、Active Directoryを入れていただければ、それを使った配布や管理もできる。「Distribution Wizard」では、当然そういったことはできないので、各PCの前にいって、「setup.exe」を起動するか、メールでそのショートカットを配布するなどしてインストールしてください、といったことしかしていないのです。

 いずれにしろ、1台、1台になんらかの形でセットアッププログラムを走らせたり、ログインスクリプトを走らせるなど、方法はいろいろ考えられますが、「Active Directoryで、一斉に管理しましょう、そのために、「Windows Installer」に対応にしておきましょう」というのが、今回の「Visual Studio Installer」を配布するMicrosoftとしての、一番大きな意義です。

[編集部] コンシューマユーザー向けの、これから開発/出荷されるであろう市販アプリケーションにも役に立つし、システムを安定させるという目的ももちろんありますが、どちらかというと、フォーカスしているのは企業内での利用ということなのでしょうか。
[鈴木] そうです。逆に言えば、市販のアプリケーションパッケージで「Visual Studio Installer」が使われるとは、あまり考えていない。その理由は、はっきり言って機能が十分ではないからです。

「Visual Studio Installer」でできることというのは、逆に言うととても限られたことが多く、できないことも多いのです。簡単な例で挙げると、アプリケーションをインストールした後に、「Install Shield」ですと、何らかのプログラムをキックして、いきなり動かすようなことができますが、それができない。通常のインストーラであれば、インストールが終わった後に、ノートパッドなどが起動して、ドキュメントが読み込まれて表示される。こういったことをするでしょう。たとえばインストール直後にReadmeなどのドキュメントの表示です。「Visual Studio Installer」ではインストール中のダイアログの中に表示することはできますが、インストールの後に、何かアプリケーションをキックするといった処理や、ユーザー登録用Webページをキックしたりといったこともできないので、市販アプリケーション開発には、サードパーティのオーサリングツールを購入するか、もしくは、SDKを使って開発していただきたいという話になります。

[編集部] では、別に「Install Shield」の開発用の製品版があっても、競合製品ではないということですか。これらの製品とは、住み分けがあるということですか。
[渡辺] コンペティタには、なりえません。「Install Shield」は、プロの開発者が使うツールとして相応に高価なパッケージになるとは思うけれど、それでも市販のアプリケーションパッケージには使われるでしょう。逆に企業内で使われるかというと、おそらくないでしょう。

 従来ですと、Visual Basicには「Distribution Wizard」が、また、Visual C++には機能限定バージョンの「Install Shield」が、付属していましたが、それも当然「Install Shield」と競合しているのではなくて、市販されているアプリケーションは、通常の製品版の「Install Shield」を使って、アプリケーションをオーサリングしている。そして、その市場というのは、「Windows Installer」が登場しても従来どおり残っているわけです。「Visual Studio Installer」が目指しているのは、あくまでも企業内で配布するものがメインになってくるわけです。

[編集部] Windows 2000ロゴの取得要件に絡んでくると、どうなるのでしょうか。つまり「Install Shield」をサポートしていれば、イコールということになるのでしょうか。
[渡辺] インストールに関しては、イコールです。新しいバージョンの「Install Shield」を使っていただければ、インストール要件に関してはクリアできます。つまり、「Visual Studio Installer」でも、「Install Shield」でも、「Wyse」でも、作られたものが最終的に「Windows Installer」対応のインストールパッケージになっていればよいわけです。

 最初の話に戻りますが、お願いとしては「Windows Installer対応にしてください」ということです。その作業が終わった段階で、とりあえず「配布」や「修復」といった話になります。「Windows Installer」対応の次にお願いしたいのは、作ったアプリケーションに対して「自己修復」などの機能を付け加えてくださいということです。これらを付け加えることによって、さらに安定性や堅牢性、信頼性の恩恵を受けることができるわけですから。企業内開発者、一般の開発者の方には、この2ステップを踏んでいただきたい。

 我々は、最初のディスクに入れられてから、最後にディスクから抜かれるまでは、安全に確実に補修ができて、しかも効率がよいものを目指している。Officeも、本当は全部「Advertised」にして、最初に使われる時はどんどんインストールし、そのうち、使用頻度にも偏りが出て来るので、だんだんCD_ROMからインストールされなくなるでしょう。使わない機能は初めて使うときだけ入れればいいというわけです。

[編集部] 「Visual Studio6 Plus Pack」という製品が一体何をするものなのか分かってきました。
[鈴木] すごく大雑把に言ういうと、具体的に何をするものかが分かりにくいと思います。ここで言っておきたいのは、Plus Packというものを出すということが、イコール、「Windows 2000の開発が今までと違ってくるよということではない」ということです。だから、今までとプログラム書法もほとんど同じだし、APIも同じです。しかし、当然ながら会社のマシンが全部すぐにWindows 2000になるとも考えられないので、両方で動くものを作ってくださいということですね。

 最初のステップとしては、今持ってるアプリケーションをとりあえず動かしてみるというのが、当たり前のように行なわれると思います。しかし、そのようにして少しずつマイグレーションしていくうちの最初のステップとして、一番恩恵を受けやすいところが「Windows Installer」であり、その恩恵を受けさせられるのが「Visual Studio」だということです。

[編集部] Windows NT 4.0でも、Windows 9x路線でも、いずれWindows 2000に乗り換えていくにしても、アプリケーションを作っている以上は使ってほしい…。
[鈴木] そのとおりです。単に今までのディストリビューション、たとえば「Distribution Wizard」の代わりに、仮にWindows 2000がない環境だった場合でも、まずパッケージングしておいていただきたい。

 この場合には、拡張子が「.MSI」ではなくて「.exe」になりますが、通常のインストールと同じような形で、MSIファイルと通常のローダ部分をひとまとめにしたパッケージを「Visual Studio Installer」を使って作れます。Windows 2000になった瞬間に、そのまま使えて、パッケージングを変える必要はありません。当然、余計なものも含まれてはいますが、無視できますので、これを入手した後は、ターゲットがWindows 95であろうが、Windows NT 4.0であろうが、Windows 2000であろうが大丈夫です。

「Windows Installer」の構造

「Windows Installer」の構造
MSIデータベースの中には、どこでどのダイアログを表示させるか、どういったメッセージを出すか、何のファイルをどこにセットアップするかといった各情報が、データに納められている。さらにデータに加えてインストールされるファイルの実体も入れることができる。それらのファイルには、「レジストリエントリ」「フォント」「ショートカット」といったものが含まれている。

これらはトランザクション処理を行なっており、ロールバック用の領域が必要になる。ただし、ロールバックするかしないかは、管理者の権限で切り替えることが可能。トランザクションを行なうため、セットアップ中のファイルの書き換えや、レジストリエントリの書き換えなどを行なっていても、インストールを中止したり失敗した場合には、戻って処理することができる。万が一失敗した場合でも、このロールバック用の領域から全部復活させて、システムに悪影響を与えるといったことはなく、安全にインストールできるようになっている。

バックグラウンドプロセスで動いている「MSI Server」は、Windows 2000にはあらかじめシステムサービスとして搭載されている。Windows NT 4.0とWindows 95/95には、最初からコアモジュールとして入っていないので、再配布用のモジュールが必要になる。「setup.exe」が自動に判別して、インストーラーのコアモジュールが必要かどうか判断をした後に、MSIの再配布モジュールがインストールされる。その再配布モジュールを最初に組み込んだセットアップローダが用意されており、「Visual Studio Installer」で作られたMSIデータベースと一緒に配布できる

「Visual Studio 6 Plus Pack」

収録内容
1枚目
「Windows 2000 Developerユs Readiness Kit」
2枚目
「MSDE for Visual Studio 6.0、Microsoft SQL Server 7.0 Developer Edition」
3枚目
「MSDEトレーニング」
4枚目
「Visual Studio 6.0 Service Pack3」
5~6枚目
「Windows NT 4.0 Service Pack4」
7枚目
「Microsoft SQL Server 7.0 Service Pack1」
Visual Studio 6 Plus Pack

「Visual Studio 6 Plus Pack」の特徴

  1. 使用する時にコンポーネントをインストールする
  2. 使用頻度に合わせてデータ領域を解放する
  3. 自動修復などと組み合わせて利用して、インストールパッケージを作成することも可能

前へ 1 2 3 次へ

カテゴリートップへ

アスキー・ビジネスセレクション

ASCII.jp ビジネスヘッドライン

ピックアップ