【问题标题】:how to auto-select source file when build a install packet构建安装包时如何自动选择源文件
【发布时间】:2011-02-15 02:12:17
【问题描述】:

我有以下要求: 两个文件夹 A 和 B,对于文件 a,如果它存在于 A 中,我们将它构建到我们的安装包中,否则我们使用文件夹 B 中的文件 a 作为默认选择。如何实施?请帮忙。

【问题讨论】:

    标签: wix filechooser


    【解决方案1】:

    我会说这项工作应该在 WiX 和您的构建引擎之间分配。此外,大部分的责任都在于构建引擎。

    在 WiX 中,您可以通过以下方式(它是 Component 元素的子元素)创作相关文件(我们称之为 a.txt):

      <File Id="myfile" KeyPath="yes" Source="$(var.DataFolder)\a.txt" />
    

    这样,您应该将 DataFolder 变量的值传递给candle.exe(WiX 的编译器)。这可以通过多种方式完成,通过命令行或通过项目设置(如果您创作 *.wixproj)。假设您使用第一个选项进行此操作,并且您的构建引擎是 NAnt:

      <candle out="${out}\\" rebuild="true">
         <defines>
            ...
            <define name="DataFolder" value="${data.folder}" />
            ...
         </defines>
         <sources basedir="${dir}">
            <include name="**.wxs"/>
         </sources>
      </candle>
    

    请注意,这只是一个示例,供您参考。 WiX 也是friendly with MSBuild

    然后构建引擎负责选择正确的${data.folder},在您的情况下是 A 或 B。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-15
      • 1970-01-01
      • 1970-01-01
      • 2018-04-06
      • 1970-01-01
      • 2019-01-15
      • 2012-09-21
      • 1970-01-01
      相关资源
      最近更新 更多