リリーサ¶
リリーサについて¶
リリーサ (krkrrelease) は、吉里吉里Z の実行可能ファイルから、エンドユーザに配る実行可能ファイルを作るツールです。
次の処理を、この順序で行います。
- 元にする実行可能ファイルをコピーして、製品の名前に変える (元のファイルは書き換えません)
- 起動オプションを実行可能ファイルに埋め込む
- アイコンとバージョン情報 (製品名・著作権表示など) を差し替える
- セキュリティ設定 (
forcedataxp3など) を書き換える - プロジェクトの xp3 アーカイブを、実行可能ファイルの隣に置くか、実行可能ファイルに結合する (フォルダを指定すると、その場で xp3 を作ります)
- 電子署名 (
.sig) を作る
リリーサは 標準ツール の 1 つですが、Windows 専用です (Windows の実行可能ファイルのリソースを書き換えるため)。 対象は Windows 版の吉里吉里Z の実行可能ファイル (WINVER 版と SDL 版のどちらも) です。
Note: 吉里吉里2 の Releaser (krkrrel.exe) は、xp3 アーカイブの作成も行っていました。吉里吉里Z では、xp3 アーカイブの作成は xp3 アーカイブツール (krkrxp3) に分けています。リリーサも、フォルダを指定すれば中で同じ処理で xp3 を作ります。
吉里吉里2 の実行可能ファイルは、オプションや署名を書き込むための領域 (
XOPT_EMBED_AREA_など) を持っていましたが、吉里吉里Z の実行可能ファイルにはありません。吉里吉里Z では、埋め込みオプションを Windows のリソースとして持ちます。このため、吉里吉里2 の Releaser で吉里吉里Z の実行可能ファイルにオプションを埋め込むことはできません。
リリース設定¶
リリースの設定は JSON ファイル (例 release.json) に保存します。画面でもコマンドラインでも、同じ設定ファイルを使います。
設定ファイルの中の相対パスは、設定ファイルのあるフォルダを基準にします。
{
"exe": "krkrz64.exe",
"output": "release/game.exe",
"setOptions": true,
"options": "; 起動オプション\ndebugwin=no\n",
"icon": "game.ico",
"version": {
"FileDescription": "ゲームの名前",
"ProductName": "ゲームの名前",
"CompanyName": "制作者",
"LegalCopyright": "(C) 2026 制作者",
"FileVersion": "1.0.0.0",
"ProductVersion": "1.0.0.0"
},
"security": { "forcedataxp3": 1, "acceptfilenameargument": 0 },
"dataMode": "copy",
"data": "data",
"rpf": "",
"dataName": "data.xp3",
"signKey": "private.txt"
}
- exe
元にする吉里吉里Z の実行可能ファイルです。後ろに何も結合していないものを指定してください (xp3 を結合したものや、Authenticode の署名を付けたものは元にできません)。 - output
作る実行可能ファイルです。名前は自由に付けられます。 - setOptions / options
setOptionsが true のとき、optionsを起動オプションとして埋め込みます。書式は.cfファイルと同じで、1 行に 1 つ名前=値を書きます。;で始まる行はコメントです。
埋め込んだオプションは、最も優先度が低いオプションになります。実行可能ファイルと同じ名前の .cf ファイル (game.exe なら game.cf) やコマンドラインで指定したものが優先されます (コマンドラインオプション)。
- icon
差し替えるアイコン (.ico) です。複数のサイズを含むアイコンファイルを使えます。空なら変えません。
- version
バージョン情報の文字列です (エクスプローラのプロパティに表示されます)。空の項目は変えません。FileVersion と ProductVersion に 1.2.3.4 の形の版を書くと、数値の版も合わせて書き換えます。
- security
セキュリティ設定のうち、変える項目だけを書きます。
forcedataxp3: 1 にすると、プロジェクトを xp3 アーカイブ (data.xp3・data.exe・実行可能ファイルに結合したもの) からだけ読み込み、data フォルダなどは使わなくなりますacceptfilenameargument: 0 にすると、コマンドラインの引数をプロジェクトのフォルダとして扱いませんdisablemsgmap、disableapplock(WINVER 版はdisabled3d9も) も変えられます-
dataMode / data
プロジェクトの扱いです。dataには xp3 ファイルか、プロジェクトのフォルダを指定します (フォルダならリリーサが xp3 を作ります)。 -
none: データを扱いません copy: 実行可能ファイルと同じフォルダにdataName(既定data.xp3) の名前で置きます。吉里吉里は、実行可能ファイルと同じフォルダの data.xp3 を自動的にプロジェクトとして読み込みますbind: 実行可能ファイルの後ろに結合します。ファイル 1 つで配布できます- rpf
フォルダから xp3 を作るときのプロファイル (.rpf) です。空なら、フォルダのdefault.rpfがあればそれを、無ければ既定の分類を使います (xp3 アーカイブツール)。 - signKey
署名に使う秘密鍵です (キー・署名ツール で作ります)。指定すると、実行可能ファイルと、隣に置いた xp3 の.sigを作ります。空なら署名しません。
Note: 埋め込みオプションの値に日本語などを書くと、リリーサは
名前="\x65e5\x672c..."の形 (TJS の文字列のエスケープ) に直して埋め込みます。吉里吉里の実行可能ファイルの種類によって、オプションの行の文字コードの扱いが違うためです。
画面での使い方¶
krkrrelease を起動すると、リリース設定の画面が開きます (設定ファイルを引数に渡すと、それを読み込んだ状態で開きます)。
- «開く…» / «保存» で設定ファイルを読み書きします
- «元にする exe» を選ぶと (または «調べる» を押すと)、その実行可能ファイルの種類 (WINVER 版 / SDL 版)、今のセキュリティ設定、埋め込みオプションを表示し、セキュリティ設定の欄にその実行可能ファイルの項目を並べます
- 各欄に設定を入れて «作成する» を押すと、リリースします。行った処理と作ったファイルの一覧が表示されます
コマンドラインでの使い方¶
krkrrelease --cli run release.json [--force]
krkrrelease --cli info krkrz64.exe
krkrrelease --cli template release.json [--exe=krkrz64.exe]
- run: 設定ファイルに従ってリリースします。出力先が既にあるときは
--forceで上書きします - info: 実行可能ファイルの種類、セキュリティ設定、アイコンの有無、バージョン情報、埋め込みオプションを表示します
- template: 設定ファイルのひな形を書き出します
--json で結果を JSON で出します。終了コードは 0 = 成功、2 = 失敗です。
処理の順序と注意¶
リリーサは、リソースの書き換え → セキュリティ設定 → xp3 の結合 → 署名、の順に処理します。 この順序には理由があります。
- Windows のリソースを書き換えると、実行可能ファイルの後ろに付いたデータ (結合した xp3 や Authenticode の署名) は失われます。このため、リソースの書き換えは結合の前に行います
- 署名 (
.sig) はファイル全体を対象にするので、署名の後で実行可能ファイルを変えると、署名が合わなくなります
リリーサで作った後に、Authenticode の署名や、配信サービスの DRM の組み込みなどで実行可能ファイルを変える場合は、その後で キー・署名ツール で .sig を作り直してください。
実行可能ファイルへの xp3 の結合¶
吉里吉里Z は、実行可能ファイルの後ろに xp3 アーカイブが結合されていると、それをプロジェクトとして読み込みます (Windows 版と、SDL 版の Windows / Linux)。 探す順序は 起動 の «プロジェクトフォルダの決定順序» を参照してください。
リリーサの bind は、実行可能ファイルの末尾に、16 バイト境界から xp3 アーカイブを付け足します。
Linux 版の実行可能ファイルに結合する場合は、リリーサではなく手で付け足してください (例: cat krkrz data.xp3 > game。実行可能ファイルのサイズが 16 の倍数でなければ、間に 0 を詰めて揃えます)。