作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个安装了一些 EXE 文件的 WiX 项目。一个是“主”可执行文件,其他是帮助诊断问题的支持程序。
主要可执行文件是可选的,支持程序将自行运行。通常,最终用户会安装第三方程序而不是我的主要可执行文件。
在 WiX 安装程序的末尾,我希望有一个“启动程序”复选框,以便在安装程序关闭后立即运行该程序。
我可以根据 INSTALLLEVEL 属性隐藏该复选框,但这仅根据用户选择“典型”还是“完整”安装而变化。我想根据主要可执行功能是否安装来隐藏它。
像这样的东西是理想的:
<Feature Id='MainProgram' Title='MainExe'
Description='This application stores and displays information from our hardware.'
ConfigurableDirectory='INSTALLDIR' Level='4'
AllowAdvertise='no'>
<ComponentRef Id='MainExecutable' />
<ComponentRef Id='SQLLibrary' />
<ComponentRef Id='ProgramIcon' />
<ComponentRef Id='RemovePluginsFolder'/>
<Property Id='ShowFinalCheckbox'>1</Property> #<--This won't work, but I'd like it to.
</Feature>
最佳答案
SetProperty 元素可用于在操作之前或之后更改属性的值。要根据可执行文件的安装状态设置值,我将使用 Conditional Statement Syntax in MSI SDK 中记录的组件状态组合。 。您必须尝试一下这个示例,但我认为这会让您更接近。
<SetProperty Id="ShowFinalCheckBox" Value="1" After="CostFinalize">?MainExecutableComponent>2 OR $MainExecutableComponent>2</SetProperty>
上面的 MSI SDK 链接中解释了其中的所有魔力。
关于installation - 如何在 WiX 中创建条件属性? (几乎就像“如果-那么”),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/480258/
我是一名优秀的程序员,十分优秀!