18

在继续安装之前,我想验证 .NET Framework 4.0 和 4.5 都应该安装在服务器上。因此我使用了以下代码段,但我不知道 4.5 验证,它没有在链接参考中列出

<PropertyRef Id="NETFRAMEWORK40FULL"/>
    <Condition Message='This setup requires Microsoft .NET Framework 4.0 Full package or greater needs to be installed for this installation to continue.'>
      <![CDATA[Installed OR NETFRAMEWORK40FULL]]>
    </Condition>
4

1 回答 1

46

NETFRAMEWORK45属性可以与NETFRAMEWORK40FULL. 请注意,.NET Framework v4.5 没有“客户端”或“完整”框架。只有一个。所以下面的代码应该做你想做的事:

<PropertyRef Id="NETFRAMEWORK40FULL"/>
<PropertyRef Id="NETFRAMEWORK45"/>

<Condition Message='This setup requires Microsoft .NET Framework 4.0 Full package or greater needs to be installed for this installation to continue.'>
  <![CDATA[Installed OR NETFRAMEWORK40FULL]]>
</Condition>
<Condition Message='This setup requires Microsoft .NET Framework 4.5 package or greater needs to be installed for this installation to continue.'>
  <![CDATA[Installed OR NETFRAMEWORK45]]>
</Condition>

请注意,.NET Framework v4.5 是 .NET Framework 4.0 的就地升级,因此检查两者可能会使您陷入永远无法同时满足这两个条件的情况。您可能只想检查是否安装了 .NET Framework v4.0.NET Framework v4.5。这种情况看起来更像:

<Condition Message='This setup requires Microsoft .NET Framework 4.0 Full or 4.5 package or greater needs to be installed for this installation to continue.'>
  <![CDATA[Installed OR NETFRAMEWORK40FULL OR NETFRAMEWORK45]]>
</Condition>
于 2013-04-30T16:32:29.180 回答