【问题标题】:wix msi fails in licensed version of serverwix msi 在服务器的许可版本中失败
【发布时间】:2018-02-26 17:52:30
【问题描述】:

我必须修复的产品的旧 msi 在 Windows Server 2003 Standard 的 180 天试用版上运行,但在完全许可的版本中失败。 msi 是用 wix2 构建的(http://schemas.microsoft.com/wix/2003/01/wi 但已不存在)

当它在许可服务器上失败时,日志报告

CustomActionException: System.NullReferenceException

来自 CustomAction 函数,该函数从注册表中查找 SSRS 服务器路径和原始 SQL 服务器实例名称。

查看 MSI 自定义操作代码,我已验证 MSI 所需的注册表设置和服务器路径确实存在正确的数据。

是否有可能'session'在传递给自定义操作函数的参数中为空?

[CustomAction]
public static ActionResult FindSSRSPath (Session session)
{
    View ComboBoxView = session.Database.OpenView("select * from ListBox");
    View AvailableInstacesView = session.Database.OpenView("select * from AvailableInstances");
    ... etc

会话成员的使用是我在运行 msi 时无法验证的唯一代码部分。

会话怎么可能是空的?有没有办法检查或防止这种情况?

为什么这在 180 天试用版中有效,而在服务器的许可版本中无效? (我知道这是一个范围......)

【问题讨论】:

    标签: windows-server-2003 wix2


    【解决方案1】:

    MSI 仅适用于 x86 版本的服务器,不适用于 x64。微星没有警告这一点。警惕不发出警告的旧 MSI。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      • 2017-01-30
      • 2018-04-13
      • 1970-01-01
      • 2014-09-13
      相关资源
      最近更新 更多