加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

wix – 默认情况下将子功能设置为不安装

发布时间:2020-12-13 22:26:44 所属栏目:Windows 来源:网络整理
导读:我有一个带有功能和两个子功能的WIX安装.我希望该功能是必需的,并且两个子功能是可选的,但默认情况下不安装.这是我的功能树: Feature Id="A" Level="3" AllowAdvertise="no" TypicalDefault="install" InstallDefault="local" Absent="disallow" Feature Id
我有一个带有功能和两个子功能的WIX安装.我希望该功能是必需的,并且两个子功能是可选的,但默认情况下不安装.这是我的功能树:

<Feature Id="A" Level="3" AllowAdvertise="no" TypicalDefault="install" 
         InstallDefault="local" Absent="disallow" >
  <Feature Id="A1" Level="1" AllowAdvertise="no" />
  <Feature Id="A2" Level="1" AllowAdvertise="no" />
</Feature>

我想添加:

<Property Id="INSTALLLEVEL" Value=3 />

将设置主要功能安装和子功能不安装.情况并非如此;默认情况下安装所有功能.

我正在使用WixUI_FeatureTree.我想知道这是否会搞乱INSTALLLEVEL属性.

那么我正在尝试甚至可能吗?如何默认禁用这两个子功能?

编辑:有趣.我设置INSTALLLEVEL = 1000并再次尝试,所有功能仍设置为安装. WixUI_FeatureTree可能会破坏INSTALLLEVEL吗?

解决方法

我认为你的问题在于覆盖USTequence执行的INSTALLLEVEL属性的值.添加代码

<Property Id="INSTALLLEVEL" Value=3 />

在安装过程的最初阶段初始化属性值.但是当您从对话框移动到对话框时,INSTALLLEVEL属性可能会在您看到FeathreTree对话框之前发生更改.请验证日志文件末尾的“Propery value changed”的详细日志条目和INSTALLLEVEL属性的最终值.
您可能需要创建自定义操作以将INSTALLLEVEL设置为您需要的任何值.
示例可以在WIX??源中找到:SetupType对话框正是这样:

<Control Id="TypicalButton" Type="PushButton" X="40" Y="65" Width="80" 
         Height="17" ToolTip="!(loc.SetupTypeDlgTypicalButtonTooltip)" 
         Default="yes" Text="!(loc.SetupTypeDlgTypicalButton)">
  <Publish Property="WixUI_InstallMode" Value="InstallTypical">1</Publish>
  <Publish Event="SetInstallLevel" Value="3">1</Publish>
</Control>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读