在安装时将文件从安装位置复制到wix中的另一个位置

时间:2010-12-06 06:15:45

标签: wix windows-installer file-copying

我创建了一个msi安装文件,其中包含“Sample”文件夹中的一些文件,这些文件应该复制到 temp 文件夹中。有谁建议怎么做?

2 个答案:

答案 0 :(得分:10)

这样的事情:

   <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="MyVendor" Name="MyVendor">
            <Directory Id="INSTALLDIR" Name="MyDir">
                <Component Id="MyFileId" Guid="...G1...">
                    <File Id="MyFileId" Name="MyFile" Source="...blabla...\MyFile" KeyPath="yes" >
                    </File>
                </Component>


     <DirectoryRef Id="TARGETDIR">
            <Component Id="MyFileCopyId" Guid="...G2...">
                <RemoveFile Id="MyFileRemoveId" Name="MyFile" On="install" Directory="MyCopyDir" />
                <CopyFile Id="MyFileCopyId" FileId="MyFileId" DestinationDirectory="MyCopyDir" />
            </Component>


    <Feature Id="MyFeature" ... >
            <ComponentRef Id="MyFileId" />
            <ComponentRef Id="MyFileCopyId" />

重要的Xml元素是CopyFile。您需要创建一个新组件,它是第一个组件的副本(当然,具有不同的ID,guids,...)。两个组件都需要在功能中声明。

答案 1 :(得分:2)

CopyFile元素是你的朋友。您可以多次将其嵌套在原始File元素下,具体取决于您需要复制它的次数。放入正确的目标文件夹,让Windows Installer完成剩下的工作。