VBの依頼が来たんですが、
ひょんなことからインストーラーもお願いしますとか、
普通にインストーラー作るの面倒だし、
InnoSetupを使ってさらっと作ろうという方向で考えていたのだけれど・・・
案の定、お客さんの要望がどんどん膨らんでいって、
デフォルトのテンプレートだけじゃとても対応できないという。
1.シリアルの入力画面
2.ライセンスコードの入力画面
3.シリアル+ライセンスの組み合わせのチェック
4.入力されたシリアル+ライセンスの保存
5.他、画面の文言の調整
InnoSetupについては完全に初心者なもので
・
Inno Setup 日本語デベロッパーズ・
Inno Setup Help等のページを見ながらで
最初はほんとよくわからん状態。
日本語デベロッパーズだけじゃ
まったく情報が足らなくて理解できなかったのだけれど、
ひとまず InnoSetup Help の Setup Script Sections が大事でした。
それぞれのセクションを簡単に説明すると
----
[Setup] 基本設定
[Tasks] セットアップ時にショートカット等を作成する設定
[Files] インストールするファイルの設定
[Languages] セットアップ表示言語の設定
[Messages] セットアップ画面のメッセージ文字列の設定
[Registry] セットアップでレジストリに入力する設定
[Run] セットアップ後プログラムを実行する設定
[Code] セットアップ時に動作するプログラム設定
----
4は[Registry]で保存する形にしてしまえば解決かしら。
5も[Messages]で対応ができそう。
1-3は設定だけでは厳しそうなので
[Code]セクションで対応するしかないようです。
当初、シリアルとライセンスコードは
ランダムの英数字だけという認識でいたのですが、
シリアルはハイフンで2つに分けたものにして、
ライセンスはハイフンで4つにわけて入力させたいとか。
それだけならともかく、1のボックスで
ハイフンも一緒に入力する形でいいのかと聞いてみたらNGで
ハイフンをボックスの中に設置するか
ハイフンで区切るところでボックスを分けてほしいみたいな。
InnoSetupでできることもろくに把握してないのに無茶振りだわー
[Code]セクションはPascalでコーディングできます。
むかーしむかーしあるところでDelphiなんてさわっていたのが、
今頃役に立つとかなかなかの驚き。
しかしながら、日本語のサイトでInnoSetupをどんだけ探そうが
サンプルコードなんて出てこない始末。
仕方ないからHelpと英語サイトのサンプルを見ながら組み立て
サンプルを見てすぐわかったのは
----
TInputQueryWizardPage テキストボックス
TInputOptionWizardPage ラジオボタン
TInputDirWizardPage ディレクトリ選択ボックス
TInputFileWizardPage ファイル選択ボックス
上記のクラスでインストーラー画面のページに
それぞれ入力欄を表示することができるようになっている模様
ただし、テキストボックス・ラジオボタン等を
組み合わせて表示することは無理なので、
さらにカスタムしたいなら TWizardPage クラスを利用して、
自分でインストーラページを作成する必要があるようだ。
とりあえず、ある程度できそうなところまでは理解して、
ほっとしたところで・・・・え・・・・?
サンプルソースが見たいって?
今度気が向いたら載せます。
PR