Wix .NET 4.0框架根目录

3

在Wix中使用.NET 3.5时,我可以使用[NETFRAMEWORK35INSTALLROOTDIR]获取到3.5根目录的路径,所以我可以像下面这样做... [NETFRAMEWORK35INSTALLROOTDIR]\aspnet_iapi.dll

我正在尝试类似的方式来指向.NET 4.0目录。我正在尝试通配符映射。以下是WIX Web应用程序扩展元素。

<iis:WebApplicationExtension CheckPath="no"
    Script="yes"
    Executable="[NETFRAMEWORK40INSTALLROOTDIR]aspnet_isapi.dll"
    Verbs="GET,HEAD,POST DELETE PUT"/>

问题是在IIS 6中,通配符路径始终为“aspnet_isapi.dll”,因此显然框架根变量无法工作。

我是做错了什么还是有其他可靠获取.NET 4.0根目录的方法?如果有影响的话,我正在使用WIX 3.5。

1个回答

5
答案在WixNetFxExtension文档中:

NETFRAMEWORK40FULLINSTALLROOTDIR

设置为.NET Framework 4.0完整版本的安装目录(%windir%\Microsoft.NET\Framework\v4.0)。此属性从WiX v3.5开始提供。

NETFRAMEWORK40FULLINSTALLROOTDIR64

设置为64位.NET Framework 4.0完整版本的安装目录(%windir%\Microsoft.NET\Framework64\v4.0)。此属性从WiX v3.5开始提供。

还有客户端配置文件的单独属性:

NETFRAMEWORK40CLIENTINSTALLROOTDIR

NETFRAMEWORK40CLIENTINSTALLROOTDIR64


谢谢,我在文档中找了很久,但不知道为什么找不到。 - Ronnie
我正在使用这个属性,但生成的输出日志显示该属性为空。我需要做什么才能获得该属性的路径? - Naveed Butt
除了命名空间和NuGet包之外,确保您添加PropertyRef <PropertyRef Id="NETFRAMEWORK40CLIENTINSTALLROOTDIR64" /> - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接