PS2EXE-GUIはMS公式ツールなので諸事情があっても使用しやすいが、
コメント以外の日本語は文字化けしてしまう。その対策をまとめました。
#メッセージ定義ファイルを用意
メッセージ定義のCSVファイルを用意(文字コードはSJISで保存)します。
msg.csv
name, message
msg1, 完了しました。
title1, 完了
#定義ファイルを読み込むPowerShell
定義ファイルと同じパスに、EXE化するPowerShellを作成します。
encodingFix.ps1
$MsgFile = ".\msg.csv"
#アセンブリのロード
Add-Type -AssemblyName System.Windows.Forms
#SJISでCSVファイルを読み込み
$msgs = import-csv $MsgFile -Encoding Default
$msgs | %{
if ($_.name -eq "msg1") {
[string]$msg1 = $_.message
}
if ($_.name -eq "title1") {
[string]$title1 = $_.message
}
}
[System.Windows.Forms.MessageBox]::Show($msg1, $title1, "OK", "Info")
#PS2EXE-GUIで同じパスにEXE化
PS2EXE-GUIで同じパスにEXE化して、実行すると、日本語が文字化けしません。