ソフトウエアインストーラ

「My Setup Free」

Version 0.7

リファレンスマニュアル
Copyright(C)QzLab 1999-2007

1.はじめに

「My Setup Free」はマイクロソフトによるWindows95用インストーラ実装のガイドライン(Windows 95 Application Setup Guidelines for Independent Software Vendors) に沿ったソフトウエアインストーラです。Windows NT4.0/Windows 2000/Windows XP/Windows Vistaに対する拡張を行っており、以下のOSで動作します。 注:バージョン0.7以降、Windows95での動作検証は行っていません。

OSにMicrosoft Windows Installerが標準で装備されるようになった現在でも、小規模なソフトウェアの手軽なインストーラ構築手段として、さらにMicrosoft Windows Installerが標準でない旧OSへの対応にも有効です。

使用方法は簡単です。インストール時にコピーしたいファイルをフォルダ構成ごと配置したあと、INIファイルを記述するだけです。ファイルコピー直前/ファイルコピー直後/アンインストール実施直前にそれぞれ外部コマンドを実行することができるため、柔軟なカスタマイズも行えます。外部コマンドの実行結果によりインストール/アンインストールの処理を中止する事もできます。

〜「Mini Setup 0.5」をご利用の方へ

「My Setup Free」は「Mini Setup 0.5」の後継バージョンです。若干の仕様変更とバグフィックス及び新OSへの対応がなされています。INIファイルの仕様に一部変更がありますので、移行の際にはINIファイルの見直しが必要になる場合があります。バージョン0.6以降はフリーソフトとなりましたので、どなたでもご自由にお使い頂けます。

2.制限事項
■インストーラの機能
「My Setup Free」は小規模なソフトウェアに特化しているため、一般的なインストーラとして基本的と思われる機能に欠落があります。マイクロソフトのガイドラインに記述されているもののうち、現在でも未実装になっている機能は以下の通りです。
1)および2)は「My Setup Free」で対応する予定はありません。3)は今後のバージョンアップで対応する予定です。現在のバージョンでレジストリの設定が必要な場合、外部コマンドを起動する機能を使用して対応する事が可能です。4)は今後のバージョンアップで対応する予定です。
■実行ファイルのデジタル署名
実行ファイルのデジタル署名が公共機関が証明するものでないため、Windows Vistaのユーザーアカウント制御によるダイアログに「不明な発行元」と表示されます。公共機関が証明するデジタル署名は高額で期限も短く、フリーソフトウェアへの適用は現実的ではありません。ご要望に応じて公共機関が証明するデジタル署名を行ったバージョンを有償でご提供する事は可能ですので、お問い合わせ下さい。
3.対応するOS
注:バージョン0.7以降、Windows95での動作検証は行っていません。
4.主な機能
■単一の自己解凍形式のEXEを作成
配布が容易なEXE単体のインストーラを作成できます。作成方法は「ExeMakerの使い方.TXT」をご覧下さい。
■ファイルのコピーとバージョン情報のチェック

「X:\Program Files」「X:\Program Files\Common Files」「X:\Windows(X:\Winnt)」「X:\Windows\System32(X:\Windows\System)」の各フォルダにファイルをコピーします。既に同名のファイルが存在する場合にはバージョン情報のチェックを行い、既存ファイルのほうが古い場合には自動で上書きします。既存ファイルのほうが新しい場合や、バージョン情報が比較できない場合にはユーザーに問い合わせを行います。

マイクロソフトのインストールガイドラインでは「Windows」および「System」フォルダにファイルをコピーすることを推奨していません。最近のOSでは、既存のDLLファイルの置き換えが不可能な場合もあります。複数のアプリで共通のファイルは「Common Files」フォルダにコピーすることが推奨されます。

■再起動時のファイル置換処理

既存のファイルが使用中で上書きできない場合には、次回のOS再起動時に置き換えます。この場合、インストーラ終了時にユーザーにシステムの再起動を促します。

■共有DLLファイルの処理

複数のアプリケーションで同一のファイルを使用する場合、使用するアプリケーションの数をカウントしておき、アンインストール時にそのファイルを削除するかどうかを判断することになっています。共有ファイルは明示的に指定できるほか、既存のファイルが既に共有ファイルだった場合には自動的に共有ファイルとして処理します。

■スタートメニューとデスクトップにショートカット作成

「スタートメニュー」「スタートアップ」「デスクトップ」にショートカットを作成できます。

NT系OS(Windows NT4.0/2000/XP/Vista)ではショートカットの作成先を「全てのユーザー共通フォルダ」にするか「現在ログインしているユーザーのフォルダ」にするかをユーザーが選択できます。デフォルトの選択を変更したり、デフォルト値を強制する事も可能です。

■コントロールの登録

いわゆるCOMオブジェクト(DLLやOCX)をシステムに登録できます。regsvr32.exeと同等の機能が実装されています。

■ファイルの種類/拡張子の新規作成とファイルの関連付け

ファイルの種類と拡張子を新規作成できます。また、そのファイルの種類にプログラムを関連付けることができます。

■アンインストール機能

コントロールパネルの「アプリケーションの追加と削除」からアンインストールを行うことができます。アンインストールに必要な情報は自動的に保存されるので特に意識する必要はありません。 また、スタートメニューにアンインストールのショートカットを追加することもできます。

■インストール実施前のヘルプファイル表示

インストールを実行する前にヘルプファイルを表示させることができます。表示するファイルはTXTやHTMLなどWindowsで開けるものであれば指定できます。

■インストール先フォルダのユーザー指定

インストール先フォルダをユーザーが変更できます。また、デフォルトでX:\Program Files\以外に指定することもできます。

■プログラムグループ名のユーザー指定

スタートメニューに登録するプログラムグループ名をユーザーが変更できます。

■スタートアップ登録のユーザー選択

スタートアップに登録するかをユーザーが選択できます。デフォルトの選択状態の変更や、デフォルト選択値の強制もできます。

■デスクトップ登録のユーザー選択

デスクトップに登録するかをユーザーが選択できます。デフォルトの選択状態の変更や、デフォルト選択値の強制もできます。

■インストール後すぐに起動するかのユーザー選択

インストール後すぐにアプリを起動するかをユーザーが選択できます。デフォルトの選択状態の変更や、デフォルト選択値の強制もできます。

■ファイルコピー直前のコマンド実行と終了待ち

ファイルコピー直前に外部コマンドを実行することができます。いくつでも実行することができ、それぞれ終了を待つかどうか指定できます。なお、外部コマンドが0以外の終了コードを返した場合はセットアップは中断します。メモ帳で説明書を表示したり、カスタムEXEでシリアルナンバーの照合を行う等の場合に使用できます。

■ファイルコピー直後のコマンド実行と終了待ち

ファイルコピー直後に外部コマンドを実行することができます。いくつでも実行することができ、それぞれ終了を待つかどうか指定できます。なお、外部コマンドが0以外の終了コードを返した場合はセットアップは中断します。メモ帳で説明書を表示したり、カスタムEXEでレジストリキーを登録する等の場合に使用できます。

■アンインストール時のコマンド実行と終了待ち

アンインストール実施直前に外部コマンドを実行することができます。終了を待つかどうかが指定できます。なお、外部コマンドが0以外の終了コードを返した場合はアンインストールは実施されません。レジストリキーの削除や、アプリの作成したファイルを削除する等に使用できます。

■Windowsの再起動処理

起動時にファイルを置き換える処理が必要な場合にユーザーに再起動を促します。

5.インストーラの構築方法
コピーしたいファイルをフォルダ構成ごと配置してINIファイルを記述するだけです。「Installer」フォルダをご覧ください。サンプルのインストーラ一式が格納されています。以下のようなフォルダ構成となっています。(*2)をテキストエディタで開いてコメントを頼りにして読んでいけば、INIファイルの記述方法が理解できると思います。
Installer
 | msetup.exe(*1)
 +-files
 | msetup.ini(*2)
 | readme.txt(*3)
 | LICENSE.TXT(*8)
 | *.*
 +-local(*4)
 | | *.*
 | +-doc
 |   *.*
 +-common(*5)
 | *.*
 +-system(*6)
 | *.*
 +-windows(*7)
   *.*
■最低限必要となるファイル
Setupの本体である「msetup.exe(*1)」と設定ファイルの「msetup.ini(*2)」は必ず必要となります。(*1)のファイル名は変更しても動作しますが、(*2) のファイル名は変更できません。このファイルは(*1)と同じフォルダか(*1) のフォルダにある「files」という名前のフォルダの中に置く必要があります。付属のサンプルでは「files」フォルダ内に配置してあります。
■「説明書」ボタンを押した時に表示するファイル
付属のサンプルでは「readme.txt(*3)」が表示されるようになっています。このファイルはTXTである必要はありません。システムの関連付けを使用してファイルを開きますので、HELPファイル(※)やHTMLファイルも使用可能です。ファイルのある場所は付属のサンプルと異なっても構いません。
※Windows Vista以降、「winhlp32.exe」が廃止され「*.hlp」ファイルが標準では開けなくなります。ご注意下さい。
■ライセンスへの同意を求める時に表示するファイル
付属のサンプルでは「LICENSE.TXT(*8)」が表示されるようになっています。このファイルは文字コードShift-JIS、改行CRLF(通常のWindowsののTXTファイルでなければなりません。ファイルのある場所は付属のサンプルと異なっても構いません。
■コピーするファイル
(*4)〜(*7)がコピーするファイルです。フォルダ名やフォルダの場所はサンプルと異なっても構いません。それぞれそのフォルダ以下がフォルダ構成ごとそのままコピーされます。コピー元ファイルの属性によらず、コピー先ファイルのリードオンリー属性がすべて解除されます。
■アンインストーラについて
「msetup.exe(*1)」そのものがアンインストーラとしても動作するようになっており、インストール時に「Windows」フォルダにコピーされます。コピー先でのファイル名は自動的に決定します。また、アンインストールに必要な情報を収めたファイルがインストール先フォルダの直下に作成されます。ファイル名は他のファイルと衝突しないよう自動的に決定します。
■「Common Files」フォルダとは?
初期のWindows95を省いて、「X:\Program Files」の中に「Common Files」というフォルダが存在します。複数のアプリで使用するDLLなどは「X:\Windows」フォルダや「X:\Windows\System」フォルダではなく、このフォルダにコピーすることが推奨されます。
このフォルダにはデフォルトではパスが通っていないのと、Windows3.1以前からの習慣により今でも「Windows」フォルダや「System」フォルダにDLL等をコピーするソフトがあります。パスを通すためにはレジストリの設定が必要ですが、COMオブジェクトであればパスを通す必要はないため、「Common Files」フォルダを積極的に利用すべきです。
6.連絡先など
ご質問やご要望などは下記までメールでお願い致します。

E-Mail:support@qzlab.com

最新バージョンやサポート情報は下記のWebサイトにて公開します。

http://qzlab.com/

7.著作権など
  1. このソフトウェアの著作権はQzLabが所有します。
  2. このソフトウェアはフリーソフトウェアです。
  3. このソフトウェアは転載・配布を自由に行うことができますが、改変したものや内容の一部のみを転載・配布することは禁止します。
  4. このソフトの不具合等による損害等について、著作者はいかなる責任も負わないこととします。また、著作者は不具合の修正と将来にわたる動作を保証しません。

2007.4.16 Mon 6:35PM JST