私は VS2012 に Wix インストーラー プロジェクトを持っています。これは前回使用したとき (約 1 週間前) にうまくコンパイルされました。今日戻ってみると、約 15 個のコード ページ エラーが発生しました。
Error 6 A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
これらの最初は、次の行で発生します。
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine"
Manufacturer="(株)テイコク" />
そして、日本語のキャラクターのせいでwixが不幸だと思います。ただし、製品宣言では、コードページを 932 に設定しています。これは、日本語では正しいはずです。
<Product Id="*" Codepage="932" Language="1041"
Name="各務原市農地支援・畑地管理システムインストーラー" Version="1.1.0.0"
Manufacturer="(株)テイコク" UpgradeCode="PUT-GUID-HERE">
特に数日前は問題なく機能していたため、エラーの内容や解決方法が本当にわかりません...
必要な場合の完全な Wix コードは次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:net="http://schemas.microsoft.com/wix/NetFxExtension">
<Product Id="*" Codepage="932" Language="1041" Name="各務原市農地支援・畑地管理システムインストーラー" Version="1.1.0.0" Manufacturer="(株)テイコク" UpgradeCode="PUT-GUID-HERE">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Manufacturer="(株)テイコク" />
<UIRef Id="WixUI_Minimal" />
<UIRef Id="WixUI_ErrorProgressText" />
<PropertyRef Id="NETFRAMEWORK40CLIENT" />
<Condition Message="インストールするには.NETフレームワーク4.0が必要です。フレームワークをインストールしてからもう一度インストーラーを実行してください。">
<![CDATA[Installed OR NETFRAMEWORK40CLIENT]]>
</Condition>
<MajorUpgrade DowngradeErrorMessage="もっと新しいバージョンが既にインストールされています。" />
<MediaTemplate EmbedCab="yes" />
<Feature Id="ProductFeature" Title="MapManagerInstaller" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
<Icon Id="MapManager.exe" SourceFile="MapManager.exe" />
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="各務原市農地支援・畑地管理システム" />
</Directory>
<Directory Id="DesktopFolder" Name="Desktop">
</Directory>
<Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id ="ProgramMenuDir" Name="各務原市農地支援・畑地管理システム">
</Directory>
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="MapManagerProgramFiles" Guid="*">
<File Id="MapManagerExe" Name ="MapManager.exe">
<Shortcut Id="MapManagerDesktopShortcut" Directory="DesktopFolder" Name="各務原市農地支援・畑地管理システム" WorkingDirectory="INSTALLFOLDER" Icon="MapManager.exe" IconIndex="0" Advertise="yes" />
<Shortcut Id="MapManagerStartMenuShortcut" Directory="ProgramMenuDir" Name="各務原市農地支援・畑地管理システム" WorkingDirectory="INSTALLFOLDER" Icon="MapManager.exe" IconIndex="0" Advertise="yes" />
</File>
<File Id="AxInterop.SisLib" Name="AxInterop.SisLib.dll" />
<File Id="Interop.SisLib" Name="Interop.SisLib.dll" />
<File Id="ClassMap" Name="ClassMap.dll" />
<File Id="SuidenManager" Name="SuidenManager.dll" />
<File Id="HatachiManager" Name="HatachiManager.dll" />
<File Id="MapManagerShared" Name="MapManagerShared.dll" />
<RemoveFolder Id="INSTALLDIR" On="uninstall" />
</Component>
<Component Id="DesktopShortcut" Guid="*">
<Shortcut Id="DesktopShortcut" Name="各務原市農地支援・畑地管理システム" Target="[INSTALLFOLDER]MapManager.exe" WorkingDirectory="INSTALLFOLDER" />
<RemoveFolder Id="DesktopFolder" On ="uninstall" />
<RegistryValue Root="HKCU" Key="Software\MapMax\各務原市農地支援・畑地管理システム" Type="string" Value="" KeyPath="yes" />
</Component>
<Component Id="ProgramMenuDir" Guid="*">
<RemoveFolder Id="ProgramMenuDir" On ="uninstall" />
<RegistryValue Root="HKCU" Key="Software\MapMax\各務原市農地支援・畑地管理システム" Type="string" Value="" KeyPath="yes" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>
アップデート:
日本語のすべての文字をコード ページ 1252 の文字に置き換えると問題なく動作します。Wix はコード ページの仕様を無視し、代わりにデフォルトの 1252 を使用しているようです...
新しい Wix セットアップ プロジェクトでもこれを試しましたが、同じ問題が発生しています。
何か案は?