【问题标题】:Run wix custom action before installing files在安装文件之前运行 wix 自定义操作
【发布时间】:2015-12-19 17:36:34
【问题描述】:

我应该需要在文件安装开始之前运行 C++ wix 自定义操作。可能吗? 我的代码是

    <InstallUISequence>
    <Custom Action ="_EE10247D_B1B7_42F9_8BC9_A973E5755689" Before ="InstallFiles"></Custom>
    </InstallUISequence>
    <CustomAction Id="_EE10247D_B1B7_42F9_8BC9_A973E5755689" Execute="deferred" Impersonate="no" FileKey="FileDllId" adx:VSName="GuidAutoGen" DllEntry="GuidAutoGen" />

但错误消息是“错误 LGHT0094:未解决在“产品:{C095BA7A-0E1E-4679-AAC0-3C17C82BC5EA}”部分中对符号“WixAction:InstallUISequence/InstallFiles”的引用”

怎么了?

【问题讨论】:

    标签: wix custom-action


    【解决方案1】:

    链接器告诉你绝对真实。 “InstallUISequence”没有步骤“InstallFiles”。此步骤以另一个序列“InstallExecuteSequence”呈现。此序列在 InstallUISequence 之后执行。 在你的情况下,你应该写而不是你的代码:

    <InstallExecuteSequence>
       <Custom Action ="_EE10247D_B1B7_42F9_8BC9_A973E5755689" Before ="InstallFiles"></Custom>
    </InstallExecuteSequence>
    

    【讨论】:

      【解决方案2】:

      是的,您只需在延迟模式下在 InstallFiles 操作之前对其进行排序。如果您需要更多详细信息,您可能需要扩展您的问题。

      【讨论】:

      • 我用你的建议扩展了我的问题,但它没有编译。我哪里错了
      • 在不知道你的目标的情况下,很难说,但一般来说,如果你只想在安装文件之前运行代码,那么你会推迟它并在 InstallExecuteSequence 中。在 UI 序列中你需要它什么?延迟意味着执行顺序。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-12
      相关资源
      最近更新 更多