|
白雲斎です。
大きなお世話ではありますが、マクロ・インストーラついて考えてみました。
以下、長文で失礼します。
■インストーラ
・秀丸、鶴亀共通のインストーラを作成する。
(仮に、「macInstall.exe」とする。)
・マクロ配布者には、インストールに必要なファイルを作成してもらう。
(仮に、拡張子を、「*.minf」、TEXT形式とする)
・拡張子「*.minf」と「macInstall.exe」を関連付ける。
・マクロ使用者には、該当するマクロ群の中から「*.minf」ファイルを
ダブルクリックしてもらう。
・「macInstall.exe」は、「*.minf」ファイルの内容を読み込んで処理する。
・インストールに成功すれば、履歴を取る。(アンインストールの時に、
この履歴を参照して削除するファイルを決定する。)
※【「*.minf」ファイル作成】
手作業で「*.minf」ファイルを作成するのが困難な人のために、
「macInstall.exe」で「*.minf」ファイルを作成出来るようにする。
(ウイザード形式?)
■マクロ配布者での想定されるケース
(1) 単一マクロの配布、フォーラムへのアップ
【CASE 1】
インストーラなんて難しいことを言わずに、配布したマクロを使用者が移動
やコピーなどして自己責任でして欲しい。
・現状と同じく、使用者の自己責任で操作してもらう。
(フォーラムへのアップは、これのみが適用されるものとする。)
【CASE 2】
インストーラを使用したい。
・配布者は、インストールの場所を選択できる。
(A) 「マクロ用フォルダ」直下にインストール
・インストーラは、単に「マクロ用フォルダ」にコピーするだけ。
(同一ファイル名が既存する場合を想定して、複数のファイル名
を指定できるようにする。全てがダメなら、問い合わせ。)
(B) フォルダを新規作成してその中にマクロを入れる。
・「(2) 複数マクロの配布...」を参照。
(2) 複数マクロの配布(フォルダ等も含む)
フォルダを新規作成して、そこにマクロ群をインストールする。
この方法を唯一無二の方法とする。
(同一フォルダ名が既存する場合を想定して、複数のフォルダ名を指定でき
るようにする。全てがダメなら、問い合わせ。)
■インストール用のデータ・ファイル
----「*.minf」---------------------------------------------------------
signature= ……………… 作成者の署名 (*1)
macroName= ……………… 配布マクロの名前 (*1)
macroVersion= ………… 配布マクロのバージョン (*1)
macroTitle= …………… マクロビューで表示される(フォルダ)タイトル
targetEXE= ……………… マクロが秀丸、鶴亀どちらをターゲットにするか。
( 0=両方、1=秀丸、2=鶴亀 )
hidemaruVersion= ……… 秀丸のバージョン指定
turukameVersion= ……… 鶴亀のバージョン指定
installMode= …………… インストール方法の種類を指定
( 0=複数モード、1=単一モード )
saveNames= ……………… 単一マクロ時に付ける保存名の複数候補
saveDirNames= ………… ディレクトリ作成モードの時に付ける
ディレクトリ名の複数候補
fileList={} …………… インストールしたいファイル名一覧
publicList={} ………… 実行可能なマクロとして公開したいファイル名一覧
notOverwrite={} ……… バージョンアップ時に上書きして欲しくない
ファイル名一覧 (*2)
-----------------------------------------------------------------------
(*1) 配布マクロのバージョンアップ時は、インストール履歴から
"signature, macroName, macroVersion"
を探索し、比較、検討、処理する。
(*2) 基本的に「*.ini」ファイルはバックアップする?
●複数モードで配布したい場合の例
----「配布物一覧」-------------------------
AAAA.mac
BBBB.mac
XXXX.ini
readme.txt
subdir\CCCC.mac
subdir\DDDD.mac
-------------------------------------------
----「*.minf」の内容 ----------------------
signature=秀まるお
macroName=Sample Macro
macroVersion=1.0
macroTitle=インストール試験用マクロ
targetEXE=1
hidemaruVersion=317
turukameVersion=
installMode=0
saveNames=
saveDirNames=sample;test;temporary
fileList={
AAAA.mac;
BBBB.mac;
XXXX.ini;
readme.txt;
subdir\CCCC.mac;
subdir\DDDD.mac
}
publicList={
AAAA.mac: インストールの成否を確認する;
BBBB.mac: 'execmacro' の動作確認をする
}
notOverwrite={
XXXX.ini
}
-------------------------------------------
●単一モードで配布したい場合の例
※readme.txt等の説明書を含める場合は、マクロと同一名とする?
----「配布物一覧」-------------------------
AAAA.mac
-------------------------------------------
----「*.minf」の内容 ----------------------
signature=秀まるお
macroName=Sample Macro
macroVersion=1.0
macroTitle=単一モードインストール試験
targetEXE=2
hidemaruVersion=
turukameVersion=235
installMode=1
saveNames=sample01;sample02;sample03
saveDirNames=
fileList={
AAAA.mac
}
publicList={
AAAA.mac: インストールの成否を確認する
}
notOverwrite={}
-------------------------------------------
|
|