web-dev-qa-db-ja.com

WiXで.NETFramework4.5の事前リクエストを確認するにはどうすればよいですか

インストールを続行する前に、.NET Framework4.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>
18
Smaug

NETFRAMEWORK45プロパティは、NETFRAMEWORK40FULLと同じように使用できます。 .NET Frameworkv4.5には「クライアント」または「完全な」フレームワークがないことに注意してください。 1つだけです。したがって、次のコードはあなたが望むことをするはずです:

<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 Frameworkv4.5は.NETFramework 4.0のインプレースアップグレードであるため、両方をチェックすると、両方の条件を満たすことができない状況になる可能性があることに注意してください。 .NET Framework v4.0 または .NET Frameworkv4.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>
44
Rob Mensching