DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

2-1.ディストリビューションウィザード

制作者:Microsoft

ソフトの外観 インストール時の外観

Visual Basic 6.0に標準装備されているため、ほとんどの方は使用されたことがあるでしょう。説明の必要もないとは思いますが、私なりにいろいろ書いてしまいます。ディストリビューションウィザードの使い方に関してはヘルプを読んでください。

機能 可・不可 補足
ファイルのコピー  
ショートカットの作成 スタートメニュー以下のみ
コントロールパネルからのアンインストール  
OCXをレジストリに登録 指定することは出来ない。
レジストリ情報の削除 × ソースをいじることにより可能に
インストールしたフォルダごと削除 × ソースをいじることにより可能に?
バージョンを比較してコピー  
コピーに失敗したファイルをパソコン起動時に置き換える  
関連付け ×  
インストール前にREADMEを表示 ×  
SharedDLLsに登録 SYSTEMディレクトリなどにコピーしたファイルは自動的に登録するみたい。それ以外のファイルも共有ファイルとして登録可能。
レジストリに書き込む ×  
上記以外の機能 パッケージファイルの分割が可能

インストーラのサイズ等

インストーラのサイズ 139,776バイト(setup.exe) + 249,856 バイト(setup1.exe) + 101,888 バイト(vb6stkit.dll)
アンインストーラのサイズ 73,216 バイト(st6unst.exe) + 101,888 バイト(vb6stkit.dll)
ファイルのコピーで指定できる特別なフォルダ AppPath , WinPath , WinSysPath , CommonFiles , CommonFilesSys , ProgramFiles , MSDAOPath , Font

独断による長所と短所

長所

1.とにかく簡単!

VBプロジェクトファイルを解析して必要なファイルをリストアップしてくれるので何も考える必要がないほど簡単。「次へ」を押し続ければとりあえず何か出来る。

2.ソースコードが付いているため、改造できる

インストーラはVBで書かれており、ソースコードも付いているため、改造が可能です。(「ちょっと気になるところ」の1.を参照。)しかしわざわざ改造するかと問われれば、普通はしないでしょうね。

3.やはり安心

VBのためのインストーラなので、安心感はこの上ない。

ちょっと気になるところ

1.レジストリを削除しない

VBでは設定の保存をレジストリにするために様々な関数が用意されているが、これらで保存した情報を削除しないのはちょっとひどい。 しかしこれに関してはインストーラ(setup1.exe)を改造することによりどうにかなるようです。これに関しては「Visual Basic 情報技研」さんの「Q&A セットアップ編」に詳しく書かれていますので、そちらをご覧になって下さい。

2.インストールしたフォルダを削除しない

アンインストール時にインストールしたファイルしか削除しないため、大抵フォルダが残ってしまいます。これもインストーラを改造することにどうにかなるかもしれませんが、ちと怖い。

3.余計なファイルが多い

setup.exeだけでなく、setup1.exe、さらにはvb6stkit.dllというファイルまでインストールする際に必要となります。これはつまり主なインストーラであるsetup1.exeがVBで書かれているため、その前にVBランタイムが入っているか調べ、入っていなければインストールする役割をsetup.exeが負い、さらに、VBでは実現できない機能(ショートカットの作成や、OCXの登録など)を提供するためにvb6stkit.dllが用意されているわけです。これは「長所2」の副作用といえるでしょう。

4.操作性がいまいち

例えば、大量のファイルをパッケージに含めたい時、一々一つずつ追加していかなければならず、かなりめんどくさいことになる。また、「セットアップ先」のリストの動作が何か変だったりして使いにくい。

5.バグが多いようだ

システム ファイルの更新メッセージが繰り返し表示される」、 「[FIX] PDW で作成したセットアップ プログラムを実行すると Windows 95/98/Me システムが動作しなくなる」(SP3で修正)、 「アプリケーションのセットアップ時の MSVCRT.DLL が使われていますエラー」(SP3で修正)、 「"Jet VBA ファイル...の初期化に失敗しました" エラーが起きる問題」、 「"$(DLLSelfRegisterEx)" の登録エラー」、 「一部の Windows 95 上でパッケージが起動できない(リンク切れ)」、 「ディストリビューション ウィザードで作成したパッケージを Windows2000 にセットアップする場合 "Path or File Not Found" エラーが発生する」 などのエラーが発生することがあるようです。その他、「Visual Basic 6. 0 でディストリビューション ウィザードに関してよく寄せられる質問」にも多数の不具合が報告されています。

6.その他

「VBで作られたソフトのほとんどがこれを使って配布されているため、これを使っているといかにもVBで作りましたという感じがしてかっちょ悪い」など。

補足

ディストリビューションウィザードが作成する"Setup.lst"というテキストファイルをいじれば、ちょっとしたインストール方法の変更が出来ます。(「セットアップ ディレクトリの指定を要求するメッセージの非表示」、「Setup1.exe 起動時に、青い画面上に表示される名前」、「Setup1.exe を開始するのに必要なファイルのコピー中に Setup.exe が表示するテキスト」、「Setup.exe が起動するセットアップの第二段階のアプリケーション」、「アンインストールアプリケーション」、「使用する一時フォルダ」、「ショートカットを作成するプログラムグループを [共通] にするか、[個人] にするか」などなど。)"Setup.lst"の説明に関しては「[VB] ディストリビューション ウィザードで作成されるSetup.lstの説明」等をご覧下さい。


トップページに戻る

メニューに戻る

次へ