【问题标题】:How to use if..else condition in Wix toolset?如何在 Wix 工具集中使用 if..else 条件?
【发布时间】:2016-10-24 11:29:34
【问题描述】:

这是我的要求:如果 web.config 文件存在于 D:\default\website\web.config 我必须将一些文件复制到 D:\default\website 位置,否则将相同的文件复制到 C:\inetpub\ wwwroot 位置。

如何在.wxs文件中写入这个条件?

【问题讨论】:

    标签: wix wix3.5 wix3 wix3.7 wix3.6


    【解决方案1】:

    您必须在DirectorySearch 元素下嵌套FileSearch 元素才能检测文件的存在。

    <Property Id="WEB_CONFIG_UNDER_D">
        <DirectorySearch Path="D:\default\website"
            Depth="0"
            AssignToProperty="no"
            Id="DefaultWebsiteSearch">
            <FileSearch Name="web.config"
                Id="webconfigSearch" />
        </DirectorySearch>
    </Property>
    

    您现在可以检查属性 WEB_CONFIG_UNDER_D 是否存在,然后根据该属性使用不同的 TargetDirectories。

    我不确定您要达到的目标。如果您想正确地创建一个新网站,您将不得不采取更复杂的路线,如 SO 问题wix installer / Create web-site and assign the new or exisiting web app pool 中所述。

    【讨论】:

    • 如何使用 .. 检查 WEB_CONFIG_UNDER_D 是否存在
    • 如果 web.config 文件存在,我有一些文件要复制到 D:\ 驱动器,否则我必须复制到 C:\
    • <if><else><endif> 构造与预处理器变量结合使用。这意味着这个结构只有在你想检查开发者机器上的条件时才有意义。上述性质可以简单地用作特征条件。创建两个功能,一个安装到 D:,另一个安装到 C:
    猜你喜欢
    • 2019-04-25
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多