如果 .net4 框架不可用,对于静默安装,我需要在日志中添加消息,说明只有安装了 .net4framework 才能继续安装。这是否可以通过可以添加到 InstallExecuteSequence 的标准自定义操作来实现。
在 UI 模式下,我使用 NETFRAMEWORK40FULL 属性来检查 dotnetframework 的存在
如果 .net4 框架不可用,对于静默安装,我需要在日志中添加消息,说明只有安装了 .net4framework 才能继续安装。这是否可以通过可以添加到 InstallExecuteSequence 的标准自定义操作来实现。
在 UI 模式下,我使用 NETFRAMEWORK40FULL 属性来检查 dotnetframework 的存在
您可以使用自定义操作类型 19 来做到这一点。看起来您离目标仅一步之遥:
<CustomAction Id="DotNet4PrerequisiteAssert" Error=".NET 4 is not installed"/>
<InstallExecuteSequence>
<Custom Action="DotNet4PrerequisiteAssert" After="AppSearch">NOT Installed AND NOT NETFRAMEWORK40FULL</Custom>
</InstallExecuteSequence>
但我不确定你为什么不使用 LaunchCondition 而不是手动自定义操作。它应该在 UI 和静默模式下工作:
<PropertyRef Id="NETFRAMEWORK40FULL"/>
<Condition Message='This setup requires the .NET Framework 4.0 client profile installed.' >
<![CDATA[Installed OR NETFRAMEWORK40FULL]]>
</Condition>