お世話になっております。
表題の通り、Windows(Shipping構成)のゲーム本体の実行ファイル(-Win64-Shipping.exe)のプロパティに、任意の「ファイルバージョン」を設定する方法について質問です。
【質問内容】
1.実行ファイル(-Win64-Shipping.exe)の「ファイルバージョン」を指定する場合、以下の通り DefaultGame.ini に設定するアプローチで認識は合っているでしょうか。
[/Script/EngineSettings.GeneralProjectSettings]
ProjectVersion=1.0.0.0
2.上記の設定でパッケージ化を試したのですが、出力された実行ファイル(-Win64-Shipping.exe)のプロパティを確認すると、意図した値ではなくエンジンの内部バージョン(5.x.x.x 等)が表示されてしまいます。
上記の設定方法に誤りがある、もしくは他に正しい設定手順や追加で必要な項目(別の .ini ファイルへの追記など)がございましたら、方法を教えていただけると幸いです。
お忙しいところ恐縮ですが、ご確認よろしくお願いいたします。
[Attachment Removed]
お世話になっております。
結論からお伝えします。
実行ファイルのプロパティに出力されるFILEVERSION/PRODUCTVERSIONは
iniファイルでは無く.rcファイルで設定する事で変更可能です。
続いて手順になります。
- Visual Studioからrcファイルを追加します。種類はバージョン情報になります。※手順1-1.pngと手順1-2.png 参照 [Image Removed]
- Intermediateに.rcと.hと.apsが生成させるので任意の場所に移動させます。※手順2-1.png参照 [Image Removed]
- Generate Visual Studio project filesをする
- .rcファイルをVisual Studioで開いて変更する※手順4-1.png参照 [Image Removed]
- Visual Studioでソリューションのビルドをして.rcファイルがコンパイルされているかチェック
- エディタを開いてパッケージをして確認
になります。
お手数をおかけしますが、ご確認の方何卒よろしくお願い申し上げます。
[Attachment Removed]
ご返答ありがとうございます。
提示いただいた方法を試したところ、無事にゲーム本体の実行ファイル(-Win64-Shipping.exe)の「ファイルバージョン」を変更できることを確認いたしました。
また、追加で1点質問させてください。
パッケージ化の出力先のトップ階層に生成される、ショートカット元の実行ファイル「[プロジェクト名].exe」(※-Win64-Shipping.exe ではないほうの実行ファイル)についても、同様にプロパティの詳細を設定したいと考えております。
このトップ階層にある「[プロジェクト名].exe」のプロパティの内容を変更する方法についても、ご教授いただけますと幸いです。
お手数をおかけしますが、ご確認のほどよろしくお願いいたします。
[Attachment Removed]
お世話になっております。
その件に関しては下記でも言及されていますが、任意のバージョンにカスタムした.rc ファイルを Engine/Source/Programs/Windows/BootstrapPackagedGame/Private/
配下に作成してBootstrapPackagedGame [Content removed]
この方法以外では外部ツールとbatファイルを利用して任意のexeファイルの情報変更が可能です
手順は
1.GitHub Releases から
rcedit-x64.exe
を取得します。Releases · electron/rcedit · GitHub
2.batファイルを作ります。下記に中身の例を記載しておきます
@echo off
setlocal
rem ==== 修正対象 exe====
set EXE_PATH="任意のEXEファイルのフルパス"
rem ==== 任意のバージョン情報 ====
set VERSION=1.2.3.4.5.6.7.8.9
set COMPANY=Your Company
set PROJECT=Test56.XXX
rcedit-x64.exe "%EXE_PATH%" ^
--set-file-version "%VERSION%" ^
--set-product-version "%VERSION%" ^
--set-version-string "CompanyName" "%COMPANY%" ^
--set-version-string "FileDescription" "%PROJECT%" ^
--set-version-string "FileVersion" "%VERSION%" ^
--set-version-string "InternalName" "%PROJECT%" ^
--set-version-string "OriginalFilename" "%PROJECT%.exe" ^
--set-version-string "ProductName" "%PROJECT%" ^
--set-version-string "ProductVersion" "%VERSION%"
if errorlevel 1 (
echo Failed to update version info.
pause
exit /b 1
)
echo Version info updated successfully.
pause
3.rcedit-x64.exeと.batファイルを同フォルダに入れておきます
4.batを実行
どちらでも同じ結果になりますので任意の方法を選択して頂ければと存じます。
[Attachment Removed]
お世話になっております。
追加質問へのご返答ありがとうございます。
>任意のバージョンにカスタムした.rc ファイルを
>Engine/Source/Programs/Windows/BootstrapPackagedGame/Private/
>配下に作成してBootstrapPackagedGame ターゲットを再ビルドし、パッケージして頂くと変更可能
こちらの返答内容を試したところ、変更できることを確認いたしました。
本件につきましては、これにて対応完了(クローズ)としていただけたらと思います。
ご対応いただきありがとうございました。
[Attachment Removed]