Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wix 特征元素中的组件排序_Wix_Wix3.5 - Fatal编程技术网

Wix 特征元素中的组件排序

Wix 特征元素中的组件排序,wix,wix3.5,Wix,Wix3.5,我想替换安装程序已安装的文件。在下面的代码中,“OneCoreFiles”组件应该第一次安装这些文件(正在工作),而“ConfigCopyFile”组件应该替换该配置文件 但是代码并没有像预期的那样工作。首先执行组件'ConfigCopyFile',然后执行'OnecoreFiles'。我希望它以另一种方式工作 我仍然在学习WIX,并且认为Feature元素中的组件是按照声明的顺序执行的 代码段: <Component Id="ConfigCopyFile" Guid="{98E61055

我想替换安装程序已安装的文件。在下面的代码中,“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确实公开了驱动事情顺序的序列表(例如创建文件夹然后复制文件),但它不会在复制该文件之前对该文件进行微观管理

安装执行序列

桌子