【问题标题】:Create file in installation folder using WiX custom action使用 WiX 自定义操作在安装文件夹中创建文件
【发布时间】:2014-07-17 16:30:38
【问题描述】:

我尝试创建一个 安装程序,它需要在安装后在程序文件夹中创建一个文件。为此,我创建了一个自定义操作,但我现在遇到了以下问题:

为了写文件,我需要知道session["INSTALLDIR"]的安装目录,只有在执行动作"immediate"时才可用。

但是,如果我在“安装文件”之后运行“立即”,则目标目录还不存在。如果我运行“延迟”,它存在,但我无法访问session["INSTALLDIR"]

如果我在“InstallFinalize”之后运行“立即”,我可以获得变量并且目录存在,但我没有被提升,因此不允许写入文件。

将文件写入安装目录的正确组合是什么?

【问题讨论】:

  • 是什么样的文件?
  • 它实际上是一个 XML 配置文件 - 我已经发现了 util:XmlFile ;-) +1 有正确的想法...

标签: wix wix custom-action


【解决方案1】:

您需要使用 CustomActionData 从延迟 CA 访问属性值。你需要类似this

another answer

【讨论】:

  • 谢谢 - 如果您是 WiX 新手,很难找到合适的问题放入搜索引擎...
【解决方案2】:

除了使用内置扩展而不是自己编写自定义操作之外,下一个级别是如何将复杂性/自定义操作移出安装程序?

一种想法是将其写入注册表。另一个想法是让读取值的应用程序能够自行确定安装目录。一种可能是通过反射获取位置,另一种可能是查询 MSI API 以了解产品的安装位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    相关资源
    最近更新 更多