gpt4 book ai didi

wix - 在产品条件之前执行自定义操作

转载 作者:行者123 更新时间:2023-12-02 06:39:02 26 4
gpt4 key购买 nike

基本上我需要在安装之前验证某个程序没有运行。这是通过自定义操作完成的,该操作设置属性 APPRUNNING:

<CustomAction Id="CheckingAppIsRunning"
BinaryKey="AppIsRunning"
DllEntry="AppIsRunning"/>

<Binary Id="AppIsRunning"
SourceFile="CustomActions.CA.dll" />

但在显示的消息中,APPRUNNING似乎为null,即根本没有设置(应该是“0”或“1”)。

<Condition Message="Exit all instances of [APPNAME] before installation (APPRUNNING = [APPRUNNING]).">
<![CDATA[APPRUNNING = "0"]]>
</Condition>

<InstallExecuteSequence>
<Custom Action="CheckingAppIsRunning" Before="LaunchConditions" />
</InstallExecuteSequence>

我想在条件检查时没有执行自定义操作。自定义操作后执行条件检查的选项有哪些?

最佳答案

LaunchConditions操作计划在 InstallUISequenceInstallExecuteSequence 中运行。只要您仅将自定义操作安排到 InstallExecuteSequence,该属性就不会在 InstallUISequence 中触发 LaunchConditions 时设置。

您应该在两个序列中安排您的 CheckingAppIsRunning 自定义操作。你可能还想用 Execute='firstSequence' 属性来定义它——这样它就会运行它遇到的第一个序列。

其实我就是这个意思:

<InstallUISequence>
<Custom Action="CheckingAppIsRunning" Before="LaunchConditions" />
</InstallUISequence>
<InstallExecuteSequence>
<Custom Action="CheckingAppIsRunning" Before="LaunchConditions" />
</InstallExecuteSequence>

以及定义:

<CustomAction Id="CheckingAppIsRunning" BinaryKey="AppIsRunning" DllEntry="AppIsRunning" Execute="firstSequence"/>

关于wix - 在产品条件之前执行自定义操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11668875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com