gpt4 book ai didi

WiX Burn 3.7 MsiNTSuitePersonal 显示 Windows 7 Home Basic 的错误值

转载 作者:行者123 更新时间:2023-12-04 05:04:06 27 4
gpt4 key购买 nike

我正在使用 Burn 来安装我的先决条件。先决条件之一要求我检查当前的操作系统是否为 Home Basic Windows 7 版本。我尝试使用 MsiNTSuitePersonal 进行检查,如下所示。

<ExePackage Id="someId"
Cache="no"
Compressed="no"
PerMachine="yes"
Permanent="yes"
Vital="yes"
InstallCommand="/q"
SourceFile="Redist\some.exe"
DisplayName="Display something"
InstallCondition="(MsiNTSuitePersonal = 1)"/>

以下是来自 WiX Burn Setup 的日志。

[093C:02E0][2013-04-01T17:14:21]i052: Condition '(MsiNTSuitePersonal = 1)' evaluates to false.



以上条件适用于 Wix 3.7 Burn。在 Windows 7 Home Basic 上它总是给我错误的结果,而在 MSI 中使用相同的东西它可以完美地工作。请参阅以下日志。

Property(S): MsiSystemRebootPending = 1 Property(S): VersionMsi = 5.00 Property(S): VersionNT = 601 Property(S): WindowsBuild = 7600 Property(S): ServicePackLevel = 0 Property(S): ServicePackLevelMinor = 0 Property(S): MsiNTProductType = 1 Property(S): MsiNTSuitePersonal = 1



另外,我尝试使用注册表检查相同的条件,但是如何比较 InstallCondition 中的字符串?

我想做以下事情。
<ExePackage Id="UWSOptionfor7Home"
Cache="no"
Compressed="no"
PerMachine="yes"
Permanent="yes"
Vital="yes"
InstallCommand="/q"
SourceFile="Redist\UltiDev\UltiDev Web Server Setup.exe"
DisplayName="UltiDev Web Server"
InstallCondition="(IsWin7PersonalEdition = 'Terminal Server Personal')">

最佳答案

我相信问题在于您指的是 MsiNTSuitePersonal这是 Windows Installer 的内置属性。您正在寻找的 Burn 中的变量是 NTSuitePersonal (注意:它没有前缀 Msi ,因为它不是由 Windows Installer 提供的)。

完整列表见Burn Built-in Variables .

关于WiX Burn 3.7 MsiNTSuitePersonal 显示 Windows 7 Home Basic 的错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15742877/

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