gpt4 book ai didi

Windows Installshield 条件未被触发

转载 作者:可可西里 更新时间:2023-11-01 11:15:20 25 4
gpt4 key购买 nike

我们的产品安装程序是用 installshield 编写的。我正在努力做一个简单的安装程序更改,它将检查注册表值,如果该值设置为 1,它将返回一条错误消息并中止安装。

<table name="AppSearch">
<col key="yes" def="s72">Property</col>
<col key="yes" def="s72">Signature_</col>
<row><td>SecureLayerEnabled</td><td>securelayerEnabled</td></row>

<table name="RegLocator">
<col key="yes" def="s72">Signature_</col>
<col def="i2">Root</col>
<col def="s255">Key</col>
<col def="S255">Name</col>
<col def="I2">Type</col>
<row><td>securelayerEnabled</td><td>2</td><td>SYSTEM\CurrentControlSet\Control\SecureLayer\State</td><td>Version</td><td>2</td></row>

下面是 InstallExecuteSequence 中定义的条件--

<row><td>VM_ErrNoSecureBoot</td><td>Not Installed And (SecureLayerEnabled="1")</td><td>401</td><td/><td/></row>

我已经检查过,在机器中,值 SYSTEM\CurrentControlSet\Control\SecureLayer\State--> Version 设置为 1。但是,安装程序不会触发此检查。有趣的是 Version 是 REG_DWORD 类型。但是,如果我将版本类型更改为 REG_SZ,则条件会成功触发。但是当 Version 的类型为 REG_DWORD 时,我需要让它工作。我试图在如下情况下删除 ""--

Not Installed And (SecureLayerEnabled=1)

但即使这样也行不通。任何有关如何在 Version 类型为 REG_DWORD 时使其工作的帮助将不胜感激

最佳答案

在使用REG_DWORD类型时,Installshield一般会在其前面加上'#'以区别于其他类型。尝试以下条件:

未安装并且 (SecureLayerEnabled=#1)

关于Windows Installshield 条件未被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57038641/

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