基本上,我正在尝试制作现有英文 msi 文件的本地化拷贝。 如果我用正确的 wxl 文件和代码页重建 MSI,这需要很长时间,而且我需要超过 25 种语言的安装程序。我能够访问所有其他本地字符串,例如控件上的文本,但我找不到更改错误表的方法。
我尝试使用 Orca 导出我的 MSI 的所有表,但没有“错误表”。
我还尝试了以下代码来访问错误表,但失败了。
//string strControlName = "Back";
//string sql = String.Format("SELECT Text FROM Control WHERE Control='{0}'", strControlName);
//ABOVE SQL EXECUTES SUCCESSFULLY
string sql = "SELECT Error FROM Error";
view = database.OpenView(sql);// THROWS EXEPTION AND FAILS.
view.Execute(null);
record = view.Fetch();
if (record != null)
{
retVal = record.get_StringData(1);
}
System.Console.WriteLine("retVal = " + retVal);
我提到了 MSDN Error Table对于以上。 请建议...
最佳答案
如果您自己不向 MSI 添加错误表,Windows 安装程序将回退到它自己的错误消息(遵循用户语言选择 IIRC)。如果你想要一个错误表,你必须自己添加它。
关于c# - 在 msi 中访问错误表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3262586/