【问题标题】:How do I make features in an MSI Feature Table automatically selected when their parents are selected如何在选择父项时自动选择 MSI 功能表中的功能
【发布时间】:2012-07-28 19:04:53
【问题描述】:

在我的具体示例中,我正在查看 FarManager 3 的夜间构建。但是,这同样适用于 FarManager 2.0。

默认情况下,安装 FarManager 时不会选择插件功能。您可以使用以下命令从非交互式命令行安装中选择功能:

msiexec /i "farSetup.msi" /passive ADDLOCAL=Addons,Colors,Macros,SetUp,Shell,XLat'

由于功能表,我认为应该可以只使用 ADDLOCAL=Addons 来完成。如果您打开Orca 中的功能表,您会看到以下插件的子功能。

有没有办法修改特征表,让ADDLOCAL=Addons 隐含Colors、Macros、SetUp、Shell 和XLat 的clild 特征

【问题讨论】:

  • 虽然 FAR 在 meta 上被视为一个坏标签,但这个问题纯粹是关于 MSI 行为(FAR 是安装程序所针对的应用程序,而不是“我的应用程序”),并且没有t 应该作为淘汰的一部分被关闭。

标签: windows-installer far


【解决方案1】:

您是否尝试过指定包含msidbFeatureAttributesFollowParent(值2)和msidbFeatureAttributesUIDisallowAbsent(值16)的属性,将您带到26?根据Feature table documentation,这应该将功能状态联系在一起。当然如果你想让子特征保持不被选中,这是不可行的。

【讨论】:

  • 我会尝试通过转换来做到这一点。如果可行,我会将其标记为正确,并向 Far Developer 建议他们使用此方法。
  • 我使用您建议的功能创建了一个转换,并使用msiexec /i Far30b2782.x86.20120730.msi TRANSFORMS="Far-3.mst" ADDLOCAL=Addons 应用了它。这符合我的要求。我还将 Addons 的 Display 更改为 3,以便它会自动扩展。我现在很好奇是否可以为交互式安装自动选择属性,但可以选择取消选择它们。我尝试了几种属性排列,但似乎找不到。
  • 只要确保也尝试使用 UI(特别是功能选择对话框),因为我不清楚结果行为是什么,或者你想要它是什么。
  • 当您在 UI 中尝试属性级别 26 时,这些值会自动选择且无法取消选择。
【解决方案2】:

严格来说,没有。

但是,您可以拥有类似 INSTALLADDONS=1 的属性,然后在功能条件中使用该属性。当属性包含插件时,您还可以有一个自定义操作,将其他功能名称添加到 ADDLOCAL 属性。

【讨论】:

  • 也许我误读了这个问题。 Michael 的答案可能正是您想要的。
  • 我认为您没有误读这个问题。假设它在我测试时有效,我会让他对你的权利。但是,您的策略是有效的,我当然会提出该策略。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-16
  • 1970-01-01
  • 1970-01-01
  • 2017-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多