インストーラ作成ソフト

‘さまれぼ!’インストーラ作成のために試用したソフト紹介

2009年5月28日 (木)

バージョンアップツールを作る(8)~バージョンチェック追加

LHA自己解凍書庫を使ったバージョンアップツールだが、実際に使用する上での課題が見つかった。‘さまれぼ!’では、多くのファイルが更新されるメジャーバージョンアップなどで簡単インストーラを利用し、それ以外の細々としたマイナーバージョンアップで自作ツールを使うことを想定している。マイナーバージョンアップでは、直前のメジャーバージョンアップに対して変更のあったファイルを提供することになるが(Windowsなどのサービスパック方式)、メジャーバージョンアップを重ねていった場合、古いメジャーバージョンに対して最新のマイナーバージョンアップを適用されてしまうと、システムに不整合が生じる。これを避けるには、マイナーバージョンアップで適用先のバージョンチェックを行う必要がある
それでバージョンチェックを行う方法を考えたのだが、二つのポイントがある。一つはバージョン確認方法、もう一つは適用対象バージョン指定方法。

まず適用先のバージョンをどうやって確認するかということだが、システムバージョンを格納したファイルがあるので、そこから取得するのが一番確実だ。しかし、暗号化しているのでそれなりの手続きを踏まないと読むことができないし、汎用性もなくなる。そこで、簡単インストーラの設定ファイル(install.DAT)を利用することを考えた。ここにもシステムバージョンが記録されていて、INI形式のファイルなので簡単に読めるのだが、簡単インストーラ限定になってしまう。それで、確実性という点では少し劣るが、ファイルのタイムスタンプでチェックするようにした。システムバージョンを格納したファイルのタイムスタンプが、指定した日付以降ならバージョンアップ対象とみなすわけだ。これで適用先のバージョンが古いケースを除外できるし、逆に新しい場合は適用先の方が更新対象ファイルのタイムスタンプが新しいために上書きされることはない。

次に適用対象のバージョンをどのように指定するかということだが、普通に考えればファイルで指定する方法だろう。ただ、このためにわざわざファイルを用意するのは、ファイルの読込処理を追加したり、運用時に一つ余計にファイル指定が必要になったりと面倒。それで、プログラムの引数として与えられないかとLHA自己解凍書庫のドキュメントに目を通すと、与えられることがわかった。
というわけで、プログラムのオプションとして引数で渡すことにした。今後の機能追加に備えて、オプション判別に「-D」を指定することにして、ファイルパスと日付を「,」区切りで渡すことにした。しかし、思ったように動作しない。「,」は特別の意味を持つようだ(ドキュメントに「"」でエスケープが必要みたいなことが書いてある)。

そのようなわけで、最終的に次のような指定になった。

>$Command=%WORK%\SMSVUP\PAD20090401\VerupTrigger.exe -DDATALIB\Version.ini?2009/3/20

この例の場合は、「DATALIB\Version.ini」のタイムスタンプが「2009/3/20」以降ならばバージョンアップを行うことになる。
以上でバージョンアップツールの修正は終了。

2009年2月11日 (水)

簡単インストーラに関する記事を整理

これまで、サロン管理システム‘さまれぼ!’のインストーラを作成するために簡単インストーラを利用してきたが、この過程でさまざまな試行錯誤を行ってきた。その過程を全て記事にまとめてきたが、インストーラ枠で割り当てたカテゴリでは記事が全て表示されてしまい一覧性に乏しい。そこで、簡単インストーラお役立ち情報として目次風にまとめた。

2009年2月10日 (火)

簡単インストーラ:追加したショートカットを削除する方法~完全版

インストール処理後に追加したスタートメニューのショートカットを削除する方法を記事にしたが、サブメニューが残るという欠点があった。今回は、その欠点を解消したい。

まず考えたのは、ショートカットファイルを拡張子で指定すると「指定ファイル/フォルダの削除」の時点で全てのショートカットが削除されてしまうため、「ショートカットの削除」で削除すべきショートカットがなくなる。そのため、サブメニューフォルダが削除されないという可能性を考えた(かなり低いとは思ったが)。
それで、削除するショートカットファイルを特定することにした。

Einstall24

この設定で試しみたが、サブメニューは削除されなかった。
「%ProgramDir%」内のサブメニューフォルダの削除は「ショートカットの削除」で行われるのではないのだろうか?それとも、アンインストーラ起動時にショートカットのチェックを行っていて、それに基づいてサブメニューフォルダを削除するかどうかを決定しているのだろうか?
いずれにしろ、簡単インストーラの標準処理に任せては削除できそうにない。

そこで、発想を変えて「指定ファイル/フォルダの削除」でサブメニューフォルダを削除することにした。

Einstall25

同時に、汎用性を持たせるためショートカットファイルの削除は拡張子で行うように設定を戻した。

Einstall22

「アンインストールの設定」の「ファイル/フォルダ」タブでは、ショートカットファイルを指定した後でサブメニューフォルダを指定する
最後に「処理」メニューの「処理順序の指定」を標準に戻してインストールファイルを作成し、インストールとアンインストールを行った。その結果、スタートメニューからサブメニューごと削除され、完全にアンインストールできた。

2009年2月 9日 (月)

簡単インストーラ:追加したショートカットを削除する方法

インストール処理を行った後にスタートメニューにショートカットを追加して、アンインストール時にそれも一緒に削除したいと考えていた。‘さまれぼ!’の場合、ライセンスファイルをインストールする際に追加したいショートカットがあるためだ。バージョンアップでオプションソフトを差分で提供してショートカットを追加するが、アンインストーラは更新しないケースも考えられる。
しかし、簡単インストーラの「アンインストールの設定」にはショートカットを指定するタブがない。それで、何とか削除する方法がないか試行錯誤してみた。

スタートメニューのショートカットも所詮ファイルにしかすぎない。「アンインストールの設定」の「ファイル/フォルダ」タブで指定できないだろうかと考えた。簡単インストーラでは、スタートメニューの実体フォルダを「%ProgramDir%」フォルダ定数で取得できる。
ところが、「削除するファイル/フォルダ項目」の「フォルダ定数 ▼」には「%ProgramDir%」が含まれない。「%ProgramDir%」を一旦レジストリに保存して、「%RegistryDir%」から参照するしかないかと思ったが、「▼」から選択せずに直接「%ProgramDir%」を入力してみた。すると、指定できてしまった。

Einstall22

早速試してみると、ショートカットは削除されていた。ところが、スタートメニューの「SMSTEST」サブメニューが残っている。「%ProgramDir%」内の「SMSTEST」フォルダが削除されないためだ。
そこで、処理順序を変える必要があるのだろうと考えた。「%ProgramDir%」内の「SMSTEST」フォルダの削除が「ショートカットの削除」で行われるとすれば、その前に「指定ファイル/フォルダの削除」を行わなければならないだろう。

Einstall23

これで試してみたが、残念ながらり「SMSTEST」フォルダは削除されなかった。
まあ、とりあえずショートカットは削除されるようになったので、良しとしよう。

2009年2月 8日 (日)

簡単インストーラ:アンインストーラをスタートメニューに登録する方法

‘さまれぼ!’のインストーラを作成していて、アンインストールをいちいちコントロールパネルから行うのは面倒なので、スタートメニューにアンインストーラを登録したいと考えていた。しかし、指定方法がわからないため後回しにしていたのだが、簡単インストーラ自身にはスタートメニューにアンインストールがある。それで調べてみた。

まず、スタートメニューのショートカットは「C:\WINDOWS\eiunin21.exe "C:\Program Files\einstall2\install.DAT"」のようになっていた。とりあえず、「C:\WINDOWS」とC:\Program Files\einstall2」をフォルダ定数に置き換えれば作成できそうだが、「eiunin21.exe」などを直接記述する必要がある。
ふと思い付いて簡単インストーラの「install.DAT」を見てみると、定数(システム定数)が用意されていることがわかった。
それを使ってショートカットの設定を行った結果、次のようになった。

Einstall20

また、「その他」タブにもチェックが入っていた。

Einstall21

この設定で試してみた結果は成功だった。簡単インストーラの「install.DAT」にはまだまだ参考になる設定がありそうだ。

2009年2月 6日 (金)

簡単インストーラ:アンインストーラで指定フォルダを削除する方法

今回は、簡単インストーラが提供するアンインストーラで、フォルダを削除するための指定について注意すべき点を整理する。
既報の通り、「アンインストールの設定」で個別に指定したフォルダが削除されるのは、中にファイルやサブフォルダが存在しない場合だけなので、ファイルやサブフォルダも「削除するファイル/フォルダ項目」として指定しなければならない。
その時注意しなければならないのは、まずフォルダ内のファイルを指定し、その後でフォルダを指定するということ。この順番が大切で、フォルダを指定した後にファイルを指定すると、フォルダが削除されずに残ってしまうので注意が必要だ。
尚、サロン管理システム‘さまれぼ!’では、次のように指定している。
Einstall18

この点から、単純に「アンインストールの設定」で指定した順に処理されることが予想されたので、下位のフォルダから順番に指定しなければならないだろうと考えた。実際に次の指定で検証してみた。
Einstall19

すると、予想に反してフォルダは削除されていた。どうやら、プログラム内部で下位のフォルダから処理するように手を加えているようだ。だったらついでに、フォルダの前にファイルを削除すれば良いと思うのだが、できない理由でもあるのだろうか?
もしできないのであれば、「アンインストールの設定」で指定した順番を変えられると便利だと思う。今は、一旦削除してから追加し直すか、それが嫌ならプロジェクトファイルの[DeleteFileItems]を直接編集しなければならない。

2009年2月 5日 (木)

簡単インストーラ:アンインストーラで指定ファイルを削除する方法

前回記事のように、簡単インストーラが提供するアンインストーラでフォルダを削除するには、まずフォルダを空にしなければならない。そして、インストール後に作成されたファイルを削除するには、インストーラ作成時に予めファイル名や拡張子で指定しておく必要がある。今回は、その際の指定方法をまとめておく。

特定のファイルを削除したい場合は「アンインストールの設定」の「ファイル/フォルダ」タブで指定する。「削除するファイル/フォルダ項目」画面の「種類」で「ファイル」を指定する場合は、ファイル名を指定するしかないので迷うことはない。ところが、「拡張子」を指定する場合は注意が必要で、指定方法が直感的ではない。にもかかわらず説明書には詳しい記述がないので、次のように試行錯誤する羽目になった(拡張子「log」を例にあげる)。

  1. 「拡張子」ということなので素直に「log」を指定するが、アンインストール時に削除されなかった
  2. ピリオドを付けて「.log」を指定するが、削除されなかった
  3. ワイルドカードを付けて「*.log」を指定すると、ようやく削除された

Einstall16

「拡張子(E)」という見出しの横にでも入力例が書いてあれば迷わずに済んだので、不親切と言える。
ここで、ワイルドカードが使えるなら「E*.lo?」のようなパターン指定が可能かもしれないと思い、試してみた。
Einstall17

すると、「ERROR.LOG」「ERROR1.LOG」「ERROR2.LOM」は削除されたが、「FRROR.LOG」「WORK.LOG」は削除されなかった。予想通り、パターンによる指定が可能らしい。
単に拡張子を指定するよりも柔軟性に富んだ指定が行えるが、「拡張子」ではなく「ファイルパターン」とでもした方がわかりやすいのではないか?せめて画面上か説明書に指定例が書いてあれば、迷うことなく指定できるようになるのに。残念。
また、この拡張子指定はフォルダごとに指定しなければならず、サブフォルダまで効果は及ばない。フォルダが幾つもある場合に面倒だし、フォルダ名が不定の場合には削除できない。

尚、簡単インストーラをVer.2.39aにバージョンアップしたのを機に「プロジェクト仕様書」の[DeleteFileItems]を読んでみると、ワイルドカードが使えることが書いてあった。もっと早く読んでみれば良かった。ただ、これは標準ではインストールされないので、バージョンアップ前はインストールしていなかったかもしれない。

2009年2月 4日 (水)

簡単インストーラ:アンインストーラで導入先フォルダを削除する方法

簡単インストーラが提供するアンインストーラで‘さまれぼ!’をアンインストールすると、インストール先のフォルダが削除されず、中にはファイルが残っていた。残っていたのはインストール後に作成されたファイルだった。インストール先の「install.dat」にインストールされたファイルが記録されていて、アンインストーラはそのファイルを削除するようだ。
それで、簡単インストーラの「アンインストールの設定」でインストール先のフォルダを削除するように指定した。
Einstall14

この設定で作成したインストーラで、一旦インストールした後にアンインストールすると、やはりファイルは消えずに残っている
「アンインストールの設定」で個別に指定したフォルダが削除されるのは、中にファイルやサブフォルダが存在しない場合だけらしい。誤ってユーザーのデータを削除しないようにという配慮のようだが、結構指定が面倒になる。ファイルやサブフォルダがあっても削除できるようなオプションが欲しい

インストール先のフォルダを削除したい場合、次のように設定すればいちいち削除フォルダを指定せずに済むようだ。伝聞なのは、方針変更によりインストール先のフォルダ削除をやめ、実際にテストしてはいないため。ユーザーが作成したデータベースファイルは消さずに残した方が良いだろうと考えたのだ。

  1. 「アンインストールの設定」でインストール後に作成されたファイルを削除対象としてファイル名や拡張子で指定する
  2. 「処理」メニューの「処理順序の指定」を選択する
  3. 「アンインストール」タブの「アンインストール時の処理順番を指定する」をチェックする
  4. 「処理リスト」の「指定ファイル/フォルダの削除」を選択する
  5. 「上へ」ボタンで「ファイル/フォルダの削除」の上に移す

Einstall15

このように指定すると、まずインストール後に作成されたファイルが指定ファイルとして削除され、その後でインストーラが導入したファイルやフォルダが削除されるが、その際、空になったフォルダは自動的に削除される。
一方、処理順序が標準設定のままだと、仮に指定ファイルが削除されてもフォルダは削除されないので、削除したいフォルダもファイル同様に「アンインストールの設定」で指定する必要がある。
尚、インストーラが導入したファイルやフォルダの削除は最下層から順番に行われ、フォルダ内が空になればフォルダを削除して、さらに上位のフォルダを対象に同様の削除処理を繰り返すようだ。そのため、インストール後に作成されたフォルダは「アンインストールの設定」で指定する必要があるかもしれない。

ちなみに、「処理順序の指定」で「指定レジストリの削除」にチェックがない状態でも「アンインストールの設定」で指定したレジストリは削除される(これは実際にテストで確認した)。「チェックを外すと該当処理は無効になります」とあるので削除されないのかと考えていたが、別の意味なのか?あるいは現時点でのバグかもしれないので、チェックしておいた方が良いかもしれない。

2009年1月31日 (土)

簡単インストーラでプロジェクトごとに文言を変える

‘さまれぼ!’本体のインストーラとライセンスファイルのインストーラとで画面上のメッセージを変えるには、プロジェクトごとに言語を変えれば良いと思いついた。
尚、「EI_MODERN.LNG」に直接手を加える必要があるが、修正ミスにより簡単インストーラが正常に動作しなくなる可能性があるので、注意してもらいたい。修正前のファイルをリネームして保存しておくのが良いだろう。

具体的な手順だが、まず言語を追加する必要がある。これは簡単インストーラが起動されていない状態で行う。

  1. 「EI_MODERN.LNG」をオープンする
    簡単インストーラ導入先フォルダ内の「Module\EI_MODERN.LNG」をメモ帳などのテキストエディタでオープンする。
  2. [ResourceString_1041]セクションをコピーする
    このファイルはWindowsのINIファイル形式なのだが、[ResourceString_1041]セクションを丸々コピーして、コピーしたセクションの名前を[ResourceString_1042]など他のセクションと重複しないものに変更する。尚、一つのセクションは160行以上ある。
  3. セクション内の項目値を変更する
    セクション先頭の「LanguageName」行に分かりやすい名前を付ける。次に「LanguageCode」行にはセクション名に使った「1042」などの数字部分を設定する。
  4. 「Module\EI_MODERN.LNG」を保存してクローズする

これで言語が追加され、次のような感じになる。
Einstall09

次は、簡単インストーラでの作業になる。

  1. プロジェクトメニューから「プロパティ」をオープンする
  2. 「モジュール/言語」タブの言語を選択する
    Einstall10
  3. 「編集」ボタンを押して言語データを編集する
    Einstall11
  4. 「OK」ボタンを繰り返し押して、プロパティ画面を閉じる

言語データの編集は、直接「EI_MODERN.LNG」を編集しても行えるが、簡単インストーラ上で作業したほうが安全だろう。

同様の手順で、ライセンスファイル用の言語を用意してプロジェクトに設定すると、インストーラはそれぞれ次のような画面になる。

Einstall12

Einstall13

2009年1月30日 (金)

簡単インストーラを使って差分ファイル提供

‘さまれぼ!’のライセンス購入者(ユーザ)には、購入後に送るライセンスファイルをインストールしてもらう必要がある。2つのファイルをコピーするだけだが、できるだけユーザの手を煩わせたくはない。もちろん簡単インストーラを使えば良いのだが、高々20KB程度のファイルをコピーするには大げさな感じがする。
それで、アーカイバを探すことにした。
条件は二つだけ。

  1. 複数ファイルを1ファイルで提供する
  2. インストール先をレジストリから取得する

二つ目の条件を満たすものがなかなか見つからなかったが、「udm差分ファイル作成ツール」を見つけた。なかなか高機能なのだが、営利目的で使うので有料。製品に対価を支払うのは当然だが、試して、支払って、プロテクト解除して、と考えると面倒で迷っていた。しかし、状況が変わった。
オプションソフトの顧客抽出をユーザーに試用してもらえるように、ライセンスファイル導入時には説明書をスタートメニューに登録するなどの処理を行うことにした。
こうなると、使い慣れた簡単インストーラでも役不足ではない。
インストール開始時と完了後に画面表示するようにして、試してみた。
機能的には問題なかったが、インストール画面上のメッセージがふさわしくない。ライセンスファイル用の「EI_MODERN.LNG」を用意して、インストーラ作成時に入れ替える方法をまず思いついた。しかし、いちいち入れ替えるのは面倒で、操作ミスも考えられる。
どうしようかと考えていると、ふと裏技的な方法を思いついた。それについては次回に。

尚、差分提供に簡単インストーラを使用する場合は、アンインストーラの設定に注意が必要だ。アンインストール情報を差分用で置き換えてしまわないようにしなければならない。「アンインストールの設定」の「アンインストール機能を有効にする」のチェックを外してアンインストーラを使わないようにするか、差分用のアンインストーラを別に作成するかになる。アンインストール情報(INSTALL.DAT)に差分で提供したファイルやショートカットを追加してくれるといいんだけどね。

2009年1月29日 (木)

簡単インストーラでファイルを更新できない?~2

その後の作者とのやり取りで、簡単インストーラで作成したインストーラはタイムスタンプとバージョンをチェックして上書きするかどうかを決定することがわかった。ファイルのタイムスタンプとバージョンがインストール先のものより新しい場合に上書きするらしい。
そしてこのチェックは、ファイル/フォルダ設定のファイルオプションにより無効にすることができる。
Einstall08

初期状態ではファイルオプションのチェックはないのだが、上の画像のように下二つをチェックすれば無条件でコピーするようになる。この設定で試してみると、暫定的に修正したプログラムではなくても上書きされた。

確かに、今回の‘さまれぼ!’バージョンアップでは、EXEやDLLのタイムスタンプは新しくなっているが、バージョンは変えていない。この点については説明できるが、次の点の説明は付かない。

  • 独自形式でバイナリ化したファイルが上書きされない
    テキストファイルを独自の形式でバイナリ化しているが、これらはEXEやDLLと同じ形式のバージョンは持たない。にもかかわらず、上書きされなかった。
  • インストール先の「INSTALL.DAT」内のバージョンが変わっていない
    アンインストールを有効にしているため、インストール先フォルダに「INSTALL.DAT」ができる。このファイルのタイムスタンプは変わるものの「ReleaseVersion」は変わっていなかった。もちろん簡単インストーラのプロジェクトでは「ReleaseVersion」を一つ上げている。
    これは、暫定版プログラムでも更新されなかった。

作者にその旨を報告すると、タイムスタンプかバージョンのいずれかが新しい場合に上書きするように修正した暫定版が提供された。試してみると、ファイルオプションのチェックをしなくても上書きされるようになった。
きっと次のバージョンでは問題が解消されたものが提供されるだろう。

2009年1月27日 (火)

簡単インストーラでファイルを更新できない?

簡単インストーラの最新版を使って作成したインストーラで‘さまれぼ!’のバージョンアップを行ったところ、インストール先に存在するファイルの更新が行われないという現象をXPとVista双方で確認した。インストール先を指定した後の進捗表示でファイルをコピーするような表示は行われるのだが、インストール完了後に確認するとファイルは更新されていない。インストール先に存在しないファイルはコピーされるので、新規導入は問題ない。
作者に問い合わせたところ、暫定的に修正したファイルが送られてきて、それを使うと更新されるようになった。
この問題が全ての環境で発生するものかどうかはわからないが、とりあえずご報告まで。

2009年1月26日 (月)

簡単インストーラでインストール先フォルダを変える~解決編

さて、「すべての環境で同一の初期インストール先を使用する」のチェックを外した状態で、レジストリ・指定パスの二段階で指定できないかを作者に問い合わせた結果だが、

>「旧バージョンが検索できなかった場合のインストール先の指定」と同じようなものを設定できるようにするのであれば、あまり難しくないので対応は可能

といった内容の丁寧な回答をいただいた。
こちらとしては願ってもない話で、対応をお願いした。そして三日後、対応が済んだというメールをいただいた。対応時期は聞いていなかったが、早くても1~2週間くらいはかかるだろうと思っていたので、素早い対応に驚いた。

すぐに最新バージョンをダウンロードすると、「アプリケーション情報の設定」の中の「インストールフォルダ」タブに「インストール先フォルダ」「検索できなかった場合のフォルダ」の二つのタブ(ボタン)が追加され、それぞれでOSごとの指定ができるようになっていた。

「インストール先フォルダ」タブではレジストリ設定を参照するようにした。
Einstall05

「検索できなかった場合のフォルダ」タブでは標準で「Program Files」を使用するようにして、
Einstall06

Windows Vistaの場合だけ絶対パスを使用するようにした。
Einstall07

XPとVistaで動作確認して期待通りだったので、すぐにメールを送り、結果報告と感謝の気持ちを伝えた。

作者のNobukichiさんのおかげで懸念事項を解消できたのだが、改めて感じたのはKasperskyトラブルに対するJustSystems(ジャストシステム)の対応の悪さだ。自社製品ではないために限界はあるにしろ、2ヶ月近くも問題に対応できていないばかりか、経過報告もない。
おそらく、EXEpress等でも今回のような対応は期待できないだろう。
Nobukichiさんの今回の対応は、‘さまれぼ!’でもぜひ見習いたい。

2009年1月25日 (日)

簡単インストーラでインストール先フォルダを変える~問題編

Windows Vistaでインストール先を「C:\Program Files」にすると問題が生じる可能性があるため、簡単インストーラでインストール先を変えることにしたのは既報の通りである。
「アプリケーション情報の設定」の中の「インストールフォルダ」タブにある「すべての環境で同一の初期インストール先を使用する」のチェックを外すと、OSによりインストール先を指定できるようになる。
Einstall3

ところが、この設定では新規導入には使えてもバージョンアップには使えない。なぜなら、「すべての環境で同一の初期インストール先を使用する」のチェックを外すと、以下の「旧バージョンが検索できなかった場合のインストール先の指定」がなくなるためである。
Einstall1

バージョンアップでは、まずレジストリからインストール先の取得を試みて、取得できなかった場合に指定のパスを使うことになる。ところが、「旧バージョンが検索できなかった場合のインストール先の指定」がないため、レジストリから取得するか、指定パスを使うかの一方しか選べない。

その対策として、最悪の場合は、新規導入用とバージョンアップ用とでインストールファイルを分けなければならないが、これではXP用とVista用とで分けるのと変わらない。
そこで、独自にプログラムを用意することで対応できないか考えた。
簡単インストーラでは、「インストーラの設定」の中の「ファイルの実行」タブでファイルを追加する際に「処理」を選ぶことで、インストール時やアンインストール時に独自のプログラムを実行することができる
Einstall4

これを利用するわけだ。

  • インストール先を保存したレジストリ設定があるかどうかチェックして、設定がなければレジストリに設定するプログラムを用意する
  • 簡単インストーラではレジストリを参照してインストール先を取得するようにしておき、インストール前に上記プログラムを実行する

問題は、「処理」の選択肢の中で一番早いタイミングと考えられる「インストール処理前に無条件に実行する(ファイルのコピー前)」がインストール先決定前かどうかということだ。「ファイルのコピー前」を素直に取れば、インストール先決定後の可能性が高い。

実際に試してみる前に、「すべての環境で同一の初期インストール先を使用する」のチェックを外した状態で、レジストリ・指定パスの二段階でチェックできないかを作者に問い合わせることにした。
そして、作者からは素晴らしい回答を得られたのだが、それについては次回「解決編」で。

2009年1月20日 (火)

簡単インストーラでOSごとにインストール先を変える

Windows Vistaで‘さまれぼ!’のインストール先フォルダを「C:\Program Files」にすると問題が生じる可能性がある件で、対応を考えた。
マイクロソフトは、データなど変更が生じるファイルを「C:\ProgramData」などに格納してほしいのだろうが、この時期に大幅な修正はできない。
OSごとにインストール先を変更できないかと簡単インストーラを見てみると、それらしい設定が見つかった。
Einstall1

「すべての環境で同一の初期インストール先を使用する」のチェックを外すと、予想通り、OSによりインストール先を指定できるようになった。
Einstall2

それで次のように設定してみたのだが、XPとVistaとでインストール先が変わることが確認できた。
Einstall3

2009年1月19日 (月)

Windows Vistaでのインストール先フォルダに問題が・・・

Windows Vistaで‘さまれぼ!’のテストを行っていて、おかしな現象に見舞われた。
‘さまれぼ!’をアンインストールしても消えずに残ったファイルがあり、Explorerでフォルダごと削除した。しかし、Pyxisファイラで見ると、ファイルが残っている。再度Explorerで確認すると、確かに消えている。

実はこのファイルは、以前、問題があって改修したもので、Pyxisで上書きしようとしたが、エラーが出てできなかった。そのため、Explorerで上書きしたものだ。この時、ファイルが更新されたことをExplorerでタイムスタンプを見て確認している。
しかし、上書き後も問題が解消されない。解消されないはずはないのでPyxisで確認すると、上書き前のタイムスタンプのまま。Explorerで削除してからコピーしてもみたが、Pyxisで見ると古いまま。
確認のため、別のフォルダにシステム一式を丸ごとコピーして‘さまれぼ!’を実行すると、期待通りの動作をした。
どうもPyxisでの見え方が正しいようだ。

なぜこのようなことが起きるのか?
勘の良い方ならお気付きだろうが、実はインストール先は「C:\Program Files」内にあり、ここに問題があった。
Vistaがこのフォルダを保護するため、「C:\Users\[ユーザー名]\AppData\Local\VirtualStore\Program Files」下にもファイルを保存するようになっている。それを「C:\Program Files」と合成したものが、Explorerで見えるようだ。

‘さまれぼ!’のインストールは「C:\Program Files」内に行われたようだが、動作ログなどは「C:\Users」下にもできていて、アンインストール後も削除されずに残っている。
問題のファイルは双方に残っていて、「C:\Users」下のものだけが新しいファイルに置き換えられている。プログラム実行時には「C:\Program Files」内の古いファイルが参照されたのだろう。
ちなみに、Pyxisを管理者として実行する(Pyxisのショートカットで右クリックして現れるメニューから行う)と、Explorerと同じく「C:\Program Files」内から削除されたように見えた。
また、以前はPyxisからインストーラを実行できなかったのだが、できるようになっていた。管理者権限を持つので「認識できない発行元」とインストール確認が行われることがなく、エラーが返らないためだろう。

マイクロソフトのおかしな「仕様」には慣れているが、また余計な時間を費やされてしまった。
インストール先フォルダが「C:\Program Files」のままだと、動作の上でも問題が発生する可能性がある。回避するには導入先を「C:\Program Files」以外にしなければならないが、Windows XPでは問題ないので「C:\Program Files」にしたい。
どう対応しようか?

2008年11月 7日 (金)

インストーラ作成ソフト評価10~簡単インストーラ(ロゴ変更手順)

「簡単インストーラ」で作成したインストーラの左下に表示される「簡単インストーラ」というロゴだが、変更できることがわかった。
(注)プログラムが正常に動作しなくなる可能性があるので、作業は慎重に行ってください。

  1. 簡単インストーラのインストール先フォルダを開く
    (初期状態では「C:\Program Files\Matsuoka\einstall2」)
  2. 「Module」フォルダを開く
  3. 「EI_MODERN.LNG」ファイルをテキストエディタで開く
    (ロゴだけではなく、プログラム上では変更できない文字列も全て変更できる)
  4. “簡単インストーラ”部分を変更する
    [ResourceString_1041]
    0=さまれぼ!
  5. 上書き保存する。

以上の手順で修正を行った後、インストーラを作成すると次のようになった。
Installer37

期待した通りの結果で、インストーラについての最大の不満点が解消できた。
そこで、試用期限が迫っているものもあり、他のインストーラ作成ソフトは全てアンインストールすることにした。その際、気になった点が幾つかあった。
「CreateInstall Free JP」のアンインストールでは、「SayoxSetupPro」インストール時と同じくKasperskyのプロアクティブディフェンスに引っかかった。また、最後にアンインストールした理由を教えてくれるか、というメッセージが出たのは面白い。
「SayoxSetupPro」は、アンインストール後もファイルが二つ残っていた。インストール後に作成あるいは更新されたファイルのようだ。

最後に、簡単インストーラ作者の「nobukichi」さん、丁寧に回答してくださり、ありがとうございました。
今後も引き続き改良を続けられるとのことで、心強く思います。

2008年11月 6日 (木)

インストーラ作成ソフト評価9~簡単インストーラ(Vista)

これまでの検証作業の結果、「簡単インストーラ」に決め、サポートページを読んでみた。
すると、その中に気になる記述があった。
「CAB形式で作成したインストーラをWindows Vista上で実行した場合、解凍は行われるがインストーラが起動しない現象が発生する」というものだった。原因は不明で、CAB32.DLLがVista対応していないため、LHA形式を使うようにということだ。
既報の通り、ファイルサイズや解凍速度の点でLHA形式よりCAB形式の方が利便性が高い
CAB32.DLLを作成したLightShipのサイトを見ると2002/7/22が最終更新のままで、Vista対応を行うのかどうかわからないので、原因を考えてみた。

別件でのVista対応作業の経験を含め、次の事象を確認している。

  • インストーラをPyxisファイラで起動しようとするとエラーになって起動できなかったので、Explorerで起動すると、UACに引っかかっていた
  • インストーラではない普通のプログラム(管理者権限を要求していない)でもUACとなるVistaが存在したが、Vistaを再導入してWindows Updateを行うとUACが発生しなくなった。尚、このVistaはXPからのアップグレードだった。

これらのことから、CAB版でもPyxisファイラと同様のことが起こっているのではないかと推測した。つまり、自己解凍ファイルを解凍後にインストーラ本体を起動しようとするのだが、UACが発生してエラーになっているのでは?ということ。
手元のVistaではCAB版でも正常に動作するので検証できないが、もしも問題が発生する環境が見つかれば、解凍した状態でインストーラ本体をExplorerで起動してみることで確認できる。

このような理由から、とりあえずCAB版でリリースしようかと考えている。

2008年11月 5日 (水)

インストーラ作成ソフト評価8~簡単インストーラ(ロゴ変更)

今回は「簡単インストーラ」のロゴ変更を行ってみた。BMPファイルとICOファイルを指定することができる。
とりあえず、適当に探したBMPファイルを指定してみると、オープニング画面は次のようになった。
Installer36

この表示になるまで位置指定やオプションを何度か変えて試したのだが、結局、左下の「簡単インストーラ」ログではなく、上部の白い領域の背景になるらしい。
残念
まあ、現状のままでも対して目立たないので構わないが、できれば「CreateInstall」のように送金すれば左下のロゴを変更できるようにしてもらえないかと思う。

追記:ロゴ変更できることがわかりました(手順は2008年11月7日の記事で紹介)

2008年11月 4日 (火)

インストーラ作成ソフト評価7~SayoxSetupPro

最後の候補である「SayoxSetupPro Version 4.10.0」を使ってみたのだが、インストール段階で問題が出た。Kasperskyのプロアクティブディフェンスに引っかかったのだ。
Installerx2

ここで拒否して終了し、再度インストールを実行すると今度は引っかからなかった。

さて、実際に使ってみると、すぐに不満な点が見つかった。
まず、同意書(使用許諾書)としてテキストファイルを指定できず、エディットボックスで入力するようになっている。まあ、コピー&ペーストするだけなので大した手間ではないが、文面変更は使い慣れたエディタで行いたいので、テキストファイルを使いたい。
これについては、SayoxSetupPro.exeと同一ディレクトリに「同意書.txt」がある場合は、自動的に反映されることがヘルプに書いてあった。しかし、テキストファイルは開発システム用フォルダ内に置きたいので、不便であることに変わりはない。

次にインストールするファイル/フォルダの設定を行ったのだが、これが非常に使いにくい
まず、ファイルを追加するためには、「EXEpress CX」のように一つ一つファイルを選択しなければならない。ただ、[Shift]押しながらのクリックなどで複数ファイル選択はできるようだったので、10ファイルくらいを選択してみた。しかし、一つも追加されない。それでファイル数を半分に減らしてみると、今度は追加できた。色々試した結果、どうやらファイルパスを受け取るためのバッファを500バイト程度しか用意していないらしいことがわかった。ファイル名が途中までしか受け取れないまま追加してしまったケースさえあった。
また、終了時の状態や直前の状態を覚えていないプログラムを個人的に「バカソフト」と呼んでいるのだが、ファイル選択を行ったフォルダを覚えておらず、いつもプロジェクトファイルのあるフォルダが真っ先に表示される。5ファイル程度しか一度に選択できないため、何度もファイル選択を行う必要があるのだが、一々フォルダを変えなければならず、面倒なことこの上ない。
しかも、サブフォルダがある場合は、一々フォルダ名を入力してのフォルダ作成を行う必要がある。

ヘルプを読む限り、更新などを行う差分インストーラ作成機能があるなど優れた点もあるようだが、小さなプログラムならともかく、‘さまれぼ!’では全く使い物にならない。
プロアクティブディフェンスの件もあり(作成したインストーラで表示されてはたまらない)、実際にインストーラを作成することもなく使用を断念した

2008年11月 3日 (月)

インストーラ作成ソフト評価6~簡単インストーラ(CAB版)

「簡単インストーラ」のファイルサイズが気になったので、CAB形式でインストーラを作成してみる。圧縮レベルが指定できるが、「標準」とする。尚、LHA形式も「標準」の圧縮レベルで扱っていた。
作成したインストールファイルのサイズは25,235,919バイトで、「EXEpress CX」程ではないがかなり小さくなった

実際にインストールしてみたが、オープニング画面前の解凍処理時間が大幅に短縮された。LHA形式の半分以下という感じ。意外だった。
Installer35

尚、インストール後、Windowsの作業フォルダに「EINSTALL\20081103_103444\INSTALL.EXE」が残っていて、アンインストール後も削除されないままだった。
今まで気付かなかったのはファイルではなくフォルダだったためだろうと思ったが、念のため、LHA形式でも確認することにした。
その結果、同じようにアンインストール後もEINSTALLフォルダが残った。

ついでに解凍時間も計測してみたのだが、118秒もかかっていた。
これは半分以下というレベルではないと考えCAB形式でも計測してみると、21秒だった。5分の1足らずで、これほどの差があることに驚いた。
LHA形式ではファイルごとに解凍率を表示しているが、これまでの開発経験上、表示を行う時間も軽視できない。この表示をやめるだけで、結構な時間短縮になるのではないか?

今回の検証の結果、簡単インストーラを使うのならCAB形式にすべきだということがわかった。

2008年11月 2日 (日)

インストーラ作成ソフト評価5~簡単インストーラ

今回は「簡単インストーラ Ver.2.38.0.0」を使ってみたのだが、使う以前に問題発覚、インストール時にファイル共有関係のメッセージが表示された。
Installerx1

実行中のプログラムを順次終了させたのだが、その都度表示される。
結局、ファイラPyxisを終了させると消えたのだが、おそらくUNLHA32.DLLなどで引っかかっていたのだろう。原因となるファイルが何か表示してくれれば、すぐに対処できたのだが。

さて、何とかインストールできたので、早速使ってみた。メインウィンドウの表示順に従って設定を進めたのだが、結構使いやすい
インストールするファイルの設定では、ウィザード形式でファイル設定を追加できるようになっている。「CreateInstall Free」のようなフォルダ指定ではなく、「EXEpress CX」のようにファイル一覧を作成していくタイプだが、指定フォルダ内の構造をそのまま登録する機能があるので簡単。とはいえ、ファイル構成に変更があった場合は、設定し直さなければならない点は「EXEpress CX」と同じ。
ただ、個別のファイルを登録することには意味があり、ファイルごとにコピー方法などの細かいオプション設定ができる。動作するWindowsバージョンをファイルごとに指定することもできる。
また、バージョンアップで不要になり、削除したいファイルも設定できる。これは便利だと思うが、既に登録済みのファイルを削除対象に変更できず、改めて登録しなければならない点が残念。

一方、わかりにくい箇所もあった。
例えば、スタートメニューの「プログラム」下に「さまれぼ!」フォルダを作り、その中にショートカットを作る場合、ヘルプを読んで「さまれぼ!\説明書」と指定した。ショートカット項目のコピーができないので非常に手間がかかったのだが、コピーできないのはファイルやレジストリでも同じ。プログラミング上、修正は簡単だと思うのだが、
それはさておき、実際にインストールした際には「さまれぼ!」の部分をユーザが入力するようになっていた。その結果「さまれぼ!」フォルダの下に「さまれぼ!」フォルダができていた。その後の試行錯誤、インストール設定で「グループ名選択画面の表示」のチェックを外すことで回避できることがわかったが、この辺りの説明が全くない
また、「アプリケーション情報の設定」としてメインファイル名を指定できるのだが、インストールするファイルの中から選ぶようになっている。これがヘルプに記載されていない。チップヘルプでわかったのだが、文章が長い割りに2~3秒で消えてしまうので、何度も表示させなければならなかった。
インストールファイル作成には結構時間がかかるのだが、完了時にメッセージ表示がないのも不親切。
インストールファイルのサイズは31,236,291バイトで一番大きいが、CAB形式も指定できるので小さくできるかもしれない。

準備が出来たので、実際にインストールを行ってみた。
入力可能なウィンドウが表示される前に次のウィンドウが長い間続いた。解凍処理が他の二本とは比べ物にならないくらい長い
Installer20

そしてようやくオープニング画面。画像はロゴ指定ができる程度で派手さはない。他言語対応のためもありメッセージはボタンのラベルに至るまで全て変更できる
Installer21

次に使用許諾表示。ウィンドウ幅は十分で、最後までスクロールすると<同意します>ボタンが有効になり、それをチェックして初めて次に進めるようになる。理想通り。
Installer22

Installer23

Installer24

インストール先フォルダの指定を行って<次へ>ボタンを押すと、スタートメニューフォルダ指定を行った後、内容確認を行ってインストール開始。ただし、上述の通りスタートメニューフォルダ指定は行わないようにこの後変更した。
Installer25

Installer26

Installer27

Installer28

Installer29

そしてインストール完了。ここに至るまでの画面を表示するかどうかを細かく設定できる。上記手順は、ドキュメント表示を除く全画面表示にチェックが入っている状態。
Installer30

ウィンドウ左下に「簡単インストーラ」表示があるが、これがロゴに相当するものなら変更できるようだ
インストール先のフォルダ内にはアンインストール用のものなのか、「install.DAT」ができていた。テキストファイルなので、ユーザに改変されないか少し心配。
インストールには一番時間がかかった。特に解凍時間が長かったが、ファイルコピーやインストール完了後に<完了>ボタンを押した後も時間がかかった。

続いて、コントロールパネルの「プログラムの追加と削除」からアンインストールを行った。
インストール時と同じデザインで統一感がある。
Installer31

Installer32

Installer33

Installer34

Windows Vista上でのインストール/アンインストール時のユーザーアカウント制御(UAC)は、他の二本と同じだった。

機能的には十分で、操作等も良く考えられている。フリーウェア(寄付歓迎)だが、シェアウェアに全く引けを取らない。それどころか、機能的には三本の中で一番整っているのではないか。とはいえ、項目コピーができないなど、操作性にはまだまだ改善の余地がある。
解凍処理に時間がかかるのはUNLHA32.DLLの性能なので仕方ないが、その他の箇所は改善できるのではないか?
インストーラ画面の設定で進捗状況表示をしない設定にしてみたが、ファイルコピー時のインジケータ表示がなくなっただけだった。むしろ、インジケータを残してファイル名表示をやめたほうが時間短縮になるのではないか?

2008年11月 1日 (土)

インストーラ作成ソフト評価4~EXEpress CX 5

今回は「EXEpress CX Ver. 5.02」を使ってみた。

二つのプログラムに分かれていて、書庫ファイル作成部とインストーラ作成部が独立している。そしてインストーラ作成プログラムから書庫ファイル作成プログラムが呼び出せるようになっている。

書庫ファイル作成プログラムの操作性は、はっきり言って悪い。ウィンドウ左部は書庫ファイルに格納するファイル/フォルダのツリー(書庫ツリー)、右部にはExplorerのようなツリーが表示されていて、右部から左部にファイルやフォルダをドラッグ&ドロップして書庫ツリーを完成させていく。ファイルを複数選択することはできないので、非常に手間がかかる。幸い、Explorerなどからドラッグ&ドロップできるので、Explorerを使えば複数のファイルを一気に登録できる。
しかし、根本的な問題として、「CreateInstall Free」のようにルートになるフォルダを指定できないので、ファイルに増減があると、一々設定し直さなければならない。例えば、「SMS.UP」フォルダごと書庫ツリーに登録しまった場合、導入先フォルダ名を「SMS」とすると、「SMS」下に「SMS.UP」というフォルダができてしまう。

この書庫ファイルの設定はファイルに保存できるのだが、インストーラ作成から書庫ファイル作成を呼び出した際は何も登録されていない初期状態になっているので、一々ファイルに保存した設定を読み出さなければならない。また、書庫ファイルを無条件にデスクトップ上に作成してしまう。この辺のセンスは如何なものか?

ただし書庫ファイルはCAB形式なので、使いやすいCABファイル作成ツールを探すことで改善できる。自分の場合は、使い慣れたファイラPyxisで簡単に作成できる。
さらに、書庫ファイルが独立しているため、一度作成してしまえば以降の作成時間が不要な分、さまざまな設定を試しながらインストーラを作成できる点も評価できる。

インストーラ作成プログラムの設定はわかりやすい。ただ、ヘルプがメインウィンドウより前面に常時表示されてしまうため、ヘルプを大きくするとメインウィンドウが下に隠れてしまうので、ヘルプを消す必要がある。ただし、ヘルプが重要な詳細設定では、詳細設定ウィンドウをヘルプより前面に出せるので、それほどマイナスにはならないかもしれない。
機能的には、導入先のWindowsをXPやVistaに制限できるし、管理者権限を持つユーザに制限することもできるスタートメニューにコメントを付けることもできる。導入先フォルダとは別のフォルダにファイルをコピーすることもできる。
しかし、なぜかレジストリ設定ができないインストール先だけはレジストリに保存できるものの、その値を利用できないのでは、バージョンアップ時にインストール先をレジストリから決定できない。この点については、DLL形式の拡張モジュールが利用できるようなので対応できるのかもしれない(拡張モジュールはユーザー側で開発する必要がある)。

設定を終えて作成したインストールファイルのサイズは22,919,345バイトで、かなり小さい
そして実際にインストールを行ってみた。

まず、オープニング画面。左部のパネルや黄色い著作権表示の上のバナーなどは変えることができる。
Installer09

次に使用許諾表示。ウィンドウ幅が広く、最後までスクロールすれば<同意する>ボタンが有効になるようになっていて、満足できる。
Installer10 (Installer10.jpg挿入)

コピー先フォルダの指定を行って<次へ>ボタンを押すと、インストール開始。ただし、導入先が存在しない場合は確認メッセージが表示される。
Installer11

Installer12

Installer13

Installer14

そしてインストール完了。
Installer15

全体を通してウィンドウ左下に「EXEpress CX」のロゴが表示されているが、この上でマウスカーソルが指差しの形に変わり、クリックすると「EXEpress CX」の著作権表示が行われる。このロゴを変更するための設定は見つからず、ライセンスを購入しても変えられるという記述はないので、変更できないのだろう。
CABファイルの高い圧縮率の反動でインストールスピードが落ちるのではないかと懸念していたが、遅いと感じることはなかった
インストール先のフォルダ内にはアンインストール用に「epuninst.exe」ができていた。

続いて、コントロールパネルの「プログラムの追加と削除」からアンインストールを行った。
Installer16

Installer17

Installer18

Installer19

えらく素っ気無いし、中身が空のウィンドウが長く表示されている。おそらくファイル削除中だと思われる。まあ、不満があれば自分でアンインストーラを用意することもできるようにはなっている。
尚、アンインストール後、Windowsの作業フォルダに「epuninst.bin」が残っていた。

Windows Vista上でのインストール/アンインストール時のユーザーアカウント制御(UAC)は、「CreateInstall Free」と同じだった。

インストーラのデザインは「EXEpress CX」ロゴ以外に不満はない。また、サイトには「50万本以上の出荷実績があり高い安定性を誇る」とあり、実際にその通りなら安心できる。
しかし、これほどの出荷実績があるのなら書庫ファイル作成プログラムをもう少し何とかしてもらいたかった。また、レジストリ設定がないなど機能的にも不満が残った。

2008年10月31日 (金)

インストーラ作成ソフト評価3~CreateInstall Free JP

「CreateInstall Free v4.14.3」を使ってみた。

インストーラ設定はわかりやすく操作性も良かった
特に、インストールするファイルの指定は簡単で、フォルダを指定するだけでその中のファイルやサブフォルダが導入対象になる。フォルダ内のファイルが変わっても設定し直さなくて良い点が嬉しい。指定フォルダ名自体は導入先で使われないので、何でも良い。例えば、「SMS.UP」フォルダを指定しても導入先フォルダ名を「SMS」とすれば、「SMS」下に「SMS.UP」下のフォルダやファイルがコピーされる。尚、このフォルダとは異なるフォルダからのファイル/フォルダ追加もできるので、インストールファイルが複数のフォルダに分かれていても問題はない。
このファイル追加やレジストリ・ショートカットなど、一覧表示で複数項目を登録するものは項目のコピーが行えるようになっているので、使いやすい。
欠点としては、まずショートカットにコメントを付けられない点。そのため、スタートメニューでプログラムなどの説明表示ができない。
また、導入先のWindowsをXPやVistaに制限できない点や、管理者権限を持つユーザに制限できない点も残念。まあ、あれば良かったという程度だが。

設定を終えて作成したインストールファイルのサイズは30,652,929バイト。
ただ、圧縮方式は幾つか選べるようになっていて、上記はDefaultの場合なので、より圧縮率を高めることも可能。

準備が出来たので、実際にインストールを行ってみた。
まず、オープニング画面。ダイアログフォント・テーマ・ロゴ・画像は設定時に指定できるので、デザインの自由度は高そうだ。
Installer01

次に使用許諾ウィンドウが小さいので不自然に折り返しが入っているが、元になるテキストファイルの改行位置を変えれば済む。ただ、もう少しウィンドウが大きくても良いと思う。残念なのは、最後まで読まなくてもボタンをチェックすれば処理が継続できる点。最後まで読めばボタンが有効になるとかして欲しかった。
Installer02

さらにインストール先の指定を行って<次へ>ボタンを押すと、すぐにインストール開始。
Installer03

Installer04

そしてインストール完了。
Installer05

オープニング画面や完了画面は表示させないことも可能で、インストール前にReadmeファイルを表示させることもできるようだ。
全体を通してウィンドウ左下に「CreateInstall Free」と表示されているが、有償のユーザ登録を行うと任意のテキストを設定できるようになるらしい。ただ、海外なのでクレジットカードは少し不安。
インストール先のフォルダ内にはアンインストール用に「uninstall.exe」と「uninstall.ini」ができていた。

続いて、コントロールパネルの「プログラムの追加と削除」からアンインストールを行った。
Installer06

Installer07

Installer08

Windows Vistaでもインストールとアンインストールを行ったが、ユーザーアカウント制御(UAC)に引っかかった。
インストール時は「認識できない発行元」と表示されてインストール処理を行うかどうかの確認が行われ、アンインストール時も確認が表示が行われた。

初期状態でデザインがユニークで、総じて満足できる内容。特に設定が簡単で、ファイル構成が変わっても再設定が不要なのが良い。インストールのスピードも特に不満は感じなかった。ショートカットのコメントなしが惜しい。

2008年10月30日 (木)

インストーラ作成ソフト評価2~簡単インストーラ EZINST

ソースが公開されているので多少の手直しできると考えて、候補に入れた。
サイトを確認したのだが、使用許諾の同意をとる機能がなさそうだ。この程度を追加するのは大した手間ではないかもしれないが、ページ内で書かれているようにデザインが簡素。
‘さまれぼ!’とのバランスが悪いので、使用を見送ることにした。

インストーラ作成ソフト評価1~候補

サロン管理システム‘さまれぼ!’も完成間近になり、インストーラを作成することにした。
自作することも一瞬考えたが、時間が惜しいので既存の作成ソフトを使うことにした。
そうしてかねてよりVectorなどで探していたのだが、最終的に次のソフトを候補とした。

次回から一つ一つについて検討する。

2009年11月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

カテゴリー

無料ブログはココログ