c# - 在 msi 中访问错误表

标签 c# .net c++ windows-installer

基本上,我正在尝试制作现有英文 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/

相关文章:

c# - 通过 TemplateBinding 添加 RoutedEvent

c# - 什么 nhibernate 映射用于实体中的 string[]?

android - 将 SDL C++ 应用程序交叉编译到 Android

c++ - 段错误(核心转储) - 线程二叉搜索树

c# - 由另一个产生的调试进程

c# - 使用 SubmitChanges() 时数据库中的字段未更新

.net - 使用 LoadControl(Type, Object()) 以编程方式加载用户控件

c# - Docker-Compose YML 与 ASP.NET Core 2.2 Web API 和 SQL Server 2017

.net - 构建自定义 "ClaimsAuthorizationManager"Windows Identity Foundation 类的好方法是什么?

c++ - 人们会在 SphinxQL 上使用 SphinxAPI 的具体原因是什么?