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

2023-11-26

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

我的目标是能够遍历目录,搜索所有(例如 *.exe)文件并将它们复制到预定义的目标文件夹。事情是,我don't知道这些文件是什么以及它们的名称,所以我无法在 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 读取,这是可以的,但是如果有子文件夹怎么办?如何向下查找具有特定扩展名的文件?或者还有另一种方法可以做到这一点......?

安装后删除这些相同的文件也是如此...

非常感谢您提供的任何帮助!


一种方法是使用 John Robbin 的命令行工具Paraffin。它会自动遍历您选择的目录并创建引用这些文件的 WiX 片段。 Paraffin 对此非常有用,因为它支持稍后添加新文件,而无需为旧文件创建新的 GUID - 即它支持不断发展的项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用通配符复制多个文件/使用 Wix 递归复制 的相关文章

随机推荐

  • Linq To Sql 和全文搜索 - 可以做到吗?

    有没有人想出一种执行全文搜索的好方法 FREETEXT CONTAINS 对于使用标准 LinqToSql 查询语法的任意数量的任意关键字 我显然希望避免必须使用存储过程或必须生成动态 SQL 调用 显然 我可以将搜索字符串输入到使用 FR
  • 如何在某些元素上禁用 Cufon?

    我目前在您的网站上使用 Cufon 其类似于Cufon set fontFamily DIN Medium replace h1 现在 对于单个 H1 标签 我希望禁用 Cufon 这不会将 H1 标签更改为任何其他标签 它必须保持原样 如
  • Delphi非对称加密

    我正在寻找非对称加密算法的 Delphi 实现 而不依赖于外部 DLL 有可用的吗 我的目标是使用公钥 私钥对加密 解密字符串 或字节数组 安全黑盒Eldos 提供原生 全面的解决方案 包括证书管理和对外部加密设备 即 USB 令牌 的访问
  • 在 Android 中以管理员身份禁用应用程序之前需要密码

    我正在开发一个作为Admin 我可以使用以下代码来做到这一点 演示 DeviceAdminReceiver jav public class DemoDeviceAdminReceiver extends DeviceAdminReceiv
  • 使用 Bouncy Castle 签署 CSR

    我找不到任何描述如何使用 BC 签署 CSR 的代码 文档 作为输入 我有一个 CSR 作为字节数组 并且希望获得 PEM 和 或 DER 格式的证书 我已经走到这一步了 def signCSR csrData Array Byte ca
  • View 被推出 ConstraintLayout 中的约束

    我有一个约束布局与图像视图和 3 个链式文本视图 with a spread inside链条款式
  • R:将“特殊”字母转换为UTF-8?

    我在匹配表时遇到问题 其中一个数据帧包含特殊字符 而另一个数据帧不包含特殊字符 示例 做 安娜县 vs 多纳安娜县 这是一个可以重现输出的脚本 library tidyverse library acs tbl df acs fips pl
  • C++11 初始值设定项列表失败 - 但仅限于长度为 2 的列表

    我发现了一个不起眼的日志记录错误 因为长度为 2 的初始值设定项列表似乎是一个特殊情况 这怎么可能 该代码是使用 Apple LLVM 版本 5 1 clang 503 0 40 编译的 使用CXXFLAGS std c 11 stdlib
  • 如何在 SQLAlchemy 中使用 joinload/contains_eager 来实现启用查询的关系(lazy='dynamic' 选项)

    我有 SQLAlchemy 声明的以下模型类 class User Base id Column Integer primary key True name Column String nullable False unique True
  • 在 Matplotlib 中以科学记数法显示第一个小数位

    我目前正在使用 y 轴的科学记数法生成不同的数字 导致某些图上的刻度为 2 或 6 而另一些图上的刻度为 2 5 或 8 9 我希望 y 轴上始终保留一位小数的刻度 即使它添加了零 这是一个例子 import matplotlib pypl
  • 了解 Python 配置文件输出

    我正在尝试使用 Python 分析器来加速我的代码 我已经能够确定几乎所有时间都花在哪个特定函数上 但我无法弄清楚该函数中的时间花在哪里 下面是配置文件输出 其中显示 appendBallot 是罪魁祸首 耗时近 116 秒 下面 我有 a
  • 如何在Linux内核设备驱动程序中使用定时器?

    我想在 Linux 设备驱动程序中实现一个计数器 该计数器在每个固定时间间隔后递增 我想在计时器的帮助下做到这一点 示例代码片段将非常有用 看看下面的文章IBM Developerworks 计时器和列表 有一个如何使用 Linux 内核定
  • Swift 中忽略参数的用途是什么

    在 Swift 中 您可以编写以下内容 func foo Int gt return 1 其中下划线是被忽略的参数 我只是因为文档才知道这一点 但想不出任何关于为什么你会这样做的用例 我错过了什么吗 在以下情况下 忽略参数 或元组的成员 它
  • HtmlAgilityPack ——
    是否会因某种原因自行关闭?

    我只是写了这个测试来看看我是否疯了 using System using System Collections Generic using System Linq using System Text using HtmlAgilityPac
  • 是否有一种颜色混合算法可以像混合真实颜色一样工作?

    常见的 RGB 颜色混合与绘画颜色的混合有很大不同 它是光的混合而不是颜料的混合 例如 Blue 0 0 255 Yellow 255 255 0 Grey 128 128 128 应该是蓝色 黄色 绿色 是否有任何已知的颜色混合算法可以像
  • 如何复制 iOS 10 的 Apple Music“查看和弹出操作菜单”

    iOS 10 有一个我想复制的功能 当您在 Apple Music 应用中 3D 触摸专辑时 它会打开如下所示的菜单 然而 与普通的窥视和弹出不同 当您抬起手指时 它不会消失 我该如何复制这个 我最接近复制它的是以下代码 它创建了音乐应用程
  • 异步/等待与BackgroundWorker

    这几天我测试了 net 4 5和c 5的新特性 我喜欢它的新异步 等待功能 早些时候我用过后台工作者使用响应式 UI 在后台处理较长的进程 我的问题是 在拥有这些不错的新功能之后 我什么时候应该使用 async await 以及什么时候使用
  • 如何关闭弹出窗口并重定向父窗口

    string dialog url http www facebook com dialog oauth client id app id redirect uri Server UrlEncode my url scope permiss
  • 如何从 MATLAB 中的字符串输入创建函数指针?

    如果我使用inlineMATLAB 中的函数 我可以创建一个函数名称 该函数名称可以根据之前的选择做出不同的响应 if someCondition p inline a b a b else p inline a b a b end c p
  • 使用通配符复制多个文件/使用 Wix 递归复制

    我对 Wix 以及一般的安装人员 完全是菜鸟 所以请原谅我 我的目标是能够遍历目录 搜索所有 例如 exe 文件并将它们复制到预定义的目标文件夹 事情是 我don t知道这些文件是什么以及它们的名称 所以我无法在 wxs 文件中将它们一一键