使用通配符复制多个文件/使用Wix递归复制

时间:2010-10-19 08:20:33

标签: wix windows-installer wix3

我是Wix(以及一般安装人员)的总菜鸟所以请原谅我。

我的目标是能够遍历目录,搜索所有*,例如* .exe文件并将它们复制到预定义的目标文件夹。事情是,我知道这些文件是什么以及它们的名字所以我不能在wxs文件中逐个输出它们......因此是通配符。

现在,我最终得到了类似的东西:

...
<Directory Id='TARGETDIR' Name='SourceDir'>
      <Directory Id='ProgramFilesFolder' Name='PFiles'>
        <Directory Id='MyDir' Name='TestProj'>
          <Component Id='MyComponent' Guid='PUT_GUID_HERE'>
            <CopyFile Id="CopyFiles" DestinationProperty="DESTDIR" SourceName="*.exe" SourceProperty="SRCDIR" />
          </Component>
        </Directory>
      </Directory>
</Directory>
...

嗯,如果我只是从SRCDIR阅读,那可以,但如果有子文件夹怎么办?如何查找具有特定扩展名的文件?还是有其他方法可以做到这一点......?

安装后删除这些文件同样如此......

非常感谢你们给予的任何帮助!

1 个答案:

答案 0 :(得分:8)

执行此操作的方法是使用John Robbin的命令行工具Paraffin。它会自动进入您选择的目录,并创建一个引用这些文件的WiX片段。 Paraffin非常适合这一点,因为它支持以后添加新文件而无需为旧文件创建新的GUID - 即它支持不断发展的项目。