Setupファイルの書式

PDICの初期設定を行うためのsetup.iniファイルや、INIファイル入力INIファイル出力で使用するファイルの書式を示します。

ここでは、SETUP.INI の記述方法の視点で述べています。

※この機能はサポート外です。正式なサポートを受けたい場合はご相談ください。

注意:

SETUP.INIの設定には、レジストリ内容の詳細を理解している必要がありますが、現在のところまだ説明書を作成していません。

SETUP.INIの設定を誤ると、PDICが起動しなかったり、異常終了したりする可能性が十分あります。

最初は、PDICのレジストリHKEY_CURRENT_USER\Software\ReliefOffice\PDIC2の内容を参照しながら試してみてください。

ファイル形式はUTF-16またはShiftJISである必要があります。(日本語Windows以外ではShiftJISは使用できません)

[SETUP]セクション

SetupCode=

セットアップコードで、このコードによって、SETUP.INIをレジストリに登録するかどうかをPDICが判断します。このコードは必ず必要です。このキーが無いとレジストリの設定は実行されません。

このキーの用途は、SETUP.INIを新しいものに変えたときに、すでにインストール済みのPDICが再SETUPを行う必要が有るかどうかの判断に使用します。最初この値は1にしておき、バージョンを上げるたびに1ずつ増やしていくとよいでしょう。

このコードを0にした場合は、PDICが起動するたびにSETUP.INIファイルをレジストリへ登録します。

SetupCodeの値は、PDICのレジストリSetupに保存されています。

SetupKey=

セットアップを行う固有の名前を定義します。ここを指定しないとSetupCodeは PDICのレジストリ SetupのSetupCodeと比較してレジストリへコピーを行うかどうかの判断をしますが、SetupKeyを指定すると、SetupKeyと同じ名前のキーと比較してコピーの判断を行います。

ここは無くても構いませんが、ほかのSETUP.INIとの競合を避けるため、固有の名前を定義しておいたほうがいいでしょう。

また名前に登録できる文字には制限があります。なるべく英数字だけを使うようにしてください。大文字小文字の区別もありません。

CmdLine=

SETUP.INIを登録後、実行したいPDICU.exeのコマンドラインオプションを指定できます。[SETUP]セクションで指定したオプションは一度だけしか実行されません。PDICが一度起動すると、この項目は削除されます。

もし常に実行させたい場合は、[COMMON]セクションにCmdLine=によって指定してください。ただしこれはレジストリに残り、一般ユーザーには変更が難しいのでINIファイルを配布する場合はあまり利用しないようにしてください。

 

[任意のセクション]

[SETUP]セクション以外は、そのままレジストリへ登録されます。

通常のWindowsのINIファイルとほぼ同じですが、レジストリ固有の構造に対応するために次のいくつかの特殊ルールが有ります。

 

1.セクション名の階層指定

[Key1\Key2\...]

レジストリは階層構造を持ちますが、INIファイルは本来持っていません。それに対応するために、\記号を使用します。たとえば、辞書グループのレジストリは階層構造を持っていますので、

[Group\英和辞書]

とすれば、辞書グループ固有の設定のレジストリを設定することができます。

 

2.キーと値の記述方法

Keyname=Value

このとき、Valueは文字列として登録されます。Valueの中に制御文字を含めたい場合は、\記号を使用します。

\記号そのものをあらわす場合は、\\と2回続けます。ファイル名を記述する場合は注意してください。

制御文字:

\0     ヌル文字(この記号は後述するMULTI_SZでのみ使用できます)

\r     復帰($0D)

\n     改行($0A)

\x00 16進数(必ず2桁)

注意:文字列は日本語であると仮定して扱っています。したがって、欧州言語で使用する特殊文字をそのまま埋め込んでしまうと、うまくいかない場合があります。

 

3.数値形式

#Keyname=....

通常データは文字列として登録されますが、キーの名前の先頭に#記号を付加することにより、それを10進数として扱います。

また、数値の先頭に x を付けた場合、16進数として扱います。

例:

#ABC=100

#ABC=x64

 

4.バイナリ形式

%Keyname=Value

バイナリデータとして登録します。

Valueは16進数で、2桁ずつ続けて記述してください。

例:

%Binary=50444943

“PDIC”という文字列になる

 

5.MULTI_SZ形式

$Keyname=Value

レジストリにはREG_MULTI_SZ形式というものがあり、その形式で登録するための形式です。

Valueには文字列を記述します。文字列の各区切りは、\0です。レジストリの仕様により、本来ならばMULTI_SZの最後は\0を2つつける必要がありますが、ここでは必要ありません。

 

6.キーの削除

!Keyname=

先頭に!を付けるとそのキーは削除されます。

 

7.コメント

行頭を;(セミコロン)にした場合は、コメントとして扱います。