gpt4 book ai didi

wix - 对特征元素中的组件进行排序

转载 作者:行者123 更新时间:2023-12-01 01:31:32 25 4
gpt4 key购买 nike

我想替换我的安装程序已安装的文件。在下面的代码中,“OneCoreFiles”组件应该第一次安装文件(这是有效的)并且组件“ConfigCopyFile”应该替换该配置文件。

但是代码没有按预期工作。组件“ConfigCopyFile”首先被执行,然后是“OnecoreFiles”。我希望它以另一种方式工作。

我还在学习 WIX 并认为 Feature 元素中的组件是按照它们声明的顺序执行的。

代码片段:

<Component Id="ConfigCopyFile" Guid="{98E61055-5A84-4003-90D1-7A67677D7465}">
<Condition>CONFIGFILEEXISTS</Condition>
<CopyFile Id="ConfigFileId" SourceProperty="CONFIGFILEEXISTS" DestinationProperty ="INSTALLDIR"/>
</Component>

<Feature Id="ProductFeature" Title="OneCore Features" Level="1">
<ComponentRef Id="LogEntries" />
<ComponentGroupRef Id="OneCoreFiles" />
<ComponentRef Id="AppDBConfiguration" />
<ComponentRef Id="SqlServerConfiguration" />
<ComponentRef Id="OracleConfiguration" />
<ComponentRef Id="IISConfiguration" />
<ComponentRef Id="ConfigCopyFile" />
</Feature>

这应该很容易解决。我是不是错过了什么。请指教。

最佳答案

您以错误的方式思考 WiX。它不是一种脚本语言。它是一种表示 Windows Installer 数据库的方式,它本质上是声明性的,而不是强制性的。如果我列出一堆组件和文件,则文件将被复制的顺序是不确定的。我只是说需要安装这些文件而不是如何安装它们。

Windows Installer 确实公开了驱动事物顺序的序列表(例如创建文件夹然后复制文件),但它不会微观管理到在该文件之前复制此文件的级别。

Suggested安装执行序列

InstallExecuteSequence table

关于wix - 对特征元素中的组件进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4491337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com