访问msi中的错误表

时间:2010-07-16 06:57:56

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

基本上我正在尝试制作现有英文msi文件的本地化副本。 如果我使用正确的wxl文件n代码页重建MSI需要很长时间,而且我需要使用超过25种语言的安装程序。我可以访问所有其他本地字符串,如控件上的文本n,但我找不到更改错误表的方法。

我尝试使用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。 请建议......

1 个答案:

答案 0 :(得分:1)

如果您没有自己向MSI添加错误表,Windows Installer会回退到它自己的错误消息(遵循用户语言选择,IIRC)。如果你想要一个错误表,你必须自己添加它。