コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【雑記】.exe のプロパティの詳細を設定する方法

はじめに

f:id:baba_s:20220115191930p:plain

.exe を右クリックして「プロパティ > 詳細」を選択した時に表示される情報を

f:id:baba_s:20220115191933p:plain

変更する方法を紹介していきます

目次

GoRC.exe の入手

http://www.godevtool.com/

上記のページにアクセスして

f:id:baba_s:20220115192240p:plain

「Download GoRC~」をクリックして GoRC.exe を入手します

Resource Hacker の入手

上記のページにアクセスして

f:id:baba_s:20220115192506p:plain

「ZIP install」をクリックして ResourceHacker.exe を入手します

resources.rc の作成

VS_VERSION_INFO VERSIONINFO
FILEVERSION     1,2,3,4
{
    BLOCK "StringFileInfo"
    {
        BLOCK "041104b0"
        {
            VALUE "FileDescription",    "【ファイルの説明】"
            VALUE "ProductName",        "【製品名】"
            VALUE "ProductVersion",     "5.6.7.8"
            VALUE "LegalCopyright",     "【著作権】"
            VALUE "OriginalFilename",   "【元のファイル名】"
        }
    }
    BLOCK "VarFileInfo"
    {
        VALUE "Translation", 0x411, 1200
    }
}

「resources.rc」という名前のファイルを作成して上記の内容を貼り付けます
ファイルの説明などは任意の文字列に置き換えます
ファイルの説明などに日本語を使う場合は Shift JIS で保存します

resources.res の作成

「resources.rc」が存在するフォルダに cd コマンドで移動して

GoRC.exe /fo resources.res resources.rc

上記のコマンドを実行して「resources.res」を作成します

script.txt の作成

[FILENAMES]
Exe=【プロパティの詳細を変更する .exe のファイルパス】
SaveAs=【プロパティの詳細を変更した .exe の保存先のファイルパス】
Log=【コマンドが成功したかどうかを出力するログファイルのパス】

[COMMANDS]
-addoverwrite 【resources.res のファイルパス】

「script.txt」という名前のファイルを作成して上記の内容を貼り付けます
.exe のファイルパスなどは任意の文字列に置き換えます

f:id:baba_s:20220115193319p:plain

たとえばプロパティの詳細を変更したい Game.exe が存在するフォルダに
resources.res と script.txt を格納している場合は

[FILENAMES]
Exe=Game.exe
SaveAs=Game.exe
Log=log.log

[COMMANDS]
-addoverwrite resources.res

このように記述します

.exe のプロパティの詳細を設定

「script.txt」が存在するフォルダに cd コマンドで移動して

ResourceHacker.exe -script script.txt

上記のコマンドを実行します

f:id:baba_s:20220115191933p:plain

これで .exe のプロパティの詳細を設定できます

トラブルシューティング

文字化けする場合

f:id:baba_s:20220115193930p:plain

プロパティの詳細が文字化けする場合は
resources.rc を Shift JIS で保存してから再度手順を踏みます

.exe のプロパティの詳細が設定されない場合

script.txt の Log に指定したパスにログファイルが出力されており、
コマンドに失敗した原因を確認できます

参考サイト様