使用WIX将现有本地文件复制到InstallDir

使用WIX将现有本地文件复制到InstallDir,wix,Wix,我正在创建一个WIX安装程序,我希望它查找一个特定的本地XML文件,该文件可能在用户的机器上,也可能不在用户的机器上。如果它找到了它,我希望它只需将它复制到InstallDir,并将所有dll一起部署 这可以通过自定义操作完成吗 比如: <Property Id="SETTINGSXMLFOUND"> <DirectorySearch Id="x86FolderLocation" Path="[ProgramFilesFolder]\Folder

我正在创建一个WIX安装程序,我希望它查找一个特定的本地XML文件,该文件可能在用户的机器上,也可能不在用户的机器上。如果它找到了它,我希望它只需将它复制到InstallDir,并将所有dll一起部署

这可以通过自定义操作完成吗

比如:

        <Property Id="SETTINGSXMLFOUND">
        <DirectorySearch Id="x86FolderLocation" Path="[ProgramFilesFolder]\FolderA\bin">
            <FileSearch Id="My_FileSearch" Name="*.xml" />
        </DirectorySearch>
    </Property>

    <Condition>
        <![CDATA[Installed AND SETTINGSXMLFOUND]]>
        <CopyFile ... </CopyFile>
    </Condition>


condition元素只能将Component、Control、Feature、Fragment、PermissionEx或Product作为父元素。此外,CopyFile将仅接受Componet或File作为父级。那么,也许一个组件可以工作?我没有对此进行测试,但这可能有效:

<Component Id="FileCopyComponent" Guid="*">
    <Condition><![CDATA[Installed AND SETTINGSXMLFOUND]]></Condition>
    <CopyFile Id="MyFileCopyId" FileId="MyFileId" DestinationDirectory="MyCopyDir"  />
</Component>

谢谢。由于几个问题,这不起作用,而且我的时间不多了,所以最终使用了C#CustomAction。