目前,如果用户在
Windows XP上,我有以下片段来检查和安装Windows Installer 4.5.
<Fragment> <Property Id="WinXPx86HasInstaller"> <![CDATA[VersionNT = 'v5.1' AND VersionMsi >= "4.5.6001.22159"]]> </Property> <PackageGroup Id="Windows.Installer.4.5"> <ExePackage Id="WinXp_x86" Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="yes" InstallCommand="/norestart /passive" SourceFile="WindowsXP-KB942288-v3-x86.exe" DownloadUrl="http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsXP-KB942288-v3-x86.exe" DetectCondition="WinXPx86HasInstaller" InstallCondition="NOT WinXPx86HasInstaller"> <ExitCode Behavior="forceReboot" /> </ExePackage> </PackageGroup> </Fragment>
但是,这不起作用,即使安装它,属性“WinXPx86HasInstaller”也总是计算为false.
我究竟做错了什么?
有点烦人的是,与WiX不同,没有办法轻松测试Burn InstallConditions – 只有DetectConditions在运行时打印在日志中.花了一段时间测试反向InstallConditions作为DetectConditions [*],这个片段似乎适合我:
<!-- Windows Installer 4.5 --> <Fragment> <PackageGroup Id="WindowsInstaller45"> <ExePackage Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="yes" SourceFile="redist\WindowsXP-KB942288-v3-x86.exe" DownloadUrl="http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsXP-KB942288-v3-x86.exe" InstallCondition="VersionNT=v5.1 AND NOT VersionNT64 AND VersionMsi < v4.5" InstallCommand="/quiet /norestart"> <ExitCode Behavior="forceReboot"/> </ExePackage> <ExePackage Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="yes" SourceFile="redist\WindowsServer2003-KB942288-v4-x86.exe" DownloadUrl="http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsServer2003-KB942288-v4-x86.exe" InstallCondition="VersionNT=v5.2 AND NOT VersionNT64 AND VersionMsi < v4.5" InstallCommand="/quiet /norestart"> <ExitCode Behavior="forceReboot"/> </ExePackage> <ExePackage Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="yes" SourceFile="redist\WindowsServer2003-KB942288-v4-x64.exe" DownloadUrl="http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsServer2003-KB942288-v4-x64.exe" InstallCondition="VersionNT=v5.2 AND VersionNT64 AND VersionMsi < v4.5" InstallCommand="/quiet /norestart"> <ExitCode Behavior="forceReboot"/> </ExePackage> <MsuPackage Cache="no" Compressed="no" Permanent="yes" Vital="yes" KB="KB942288" SourceFile="redist\Windows6.0-KB942288-v2-x86.msu" DownloadUrl="http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/Windows6.0-KB942288-v2-x86.msu" InstallCondition="VersionNT=v6.0 AND NOT VersionNT64 AND VersionMsi < v4.5"/> <MsuPackage Cache="no" Compressed="no" Permanent="yes" Vital="yes" KB="KB942288" SourceFile="redist\Windows6.0-KB942288-v2-x64.msu" DownloadUrl="http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/Windows6.0-KB942288-v2-x64.msu" InstallCondition="VersionNT=v6.0 AND VersionNT64 AND VersionMsi < v4.5"/> </PackageGroup> </Fragment>
原文地址:https://www.jb51.cc/windows/364275.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。