我正在使用 Wix,并且我在 .net 中针对 Dotnet 4.0 编写了自定义操作。在安装过程中,欢迎 dlg 之后,在系统中检查 dotnet 框架,如果不存在,则会显示 dotnetframework 先决条件对话框。如果安装了点网框架,它将转到进度对话框,在该对话框中将调用用 .net 编写的自定义操作。但是在没有安装 dotnet 框架的系统上,msi 根本不会去welcomedlg 本身,它会抛出以下错误。在 customaction 配置中,有以下条目
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" />
<supportedRuntime version="v2.0.50727"/>
它显示以下错误 SFXCA: Extracting custom action to temporary directory: C:\DOCUME~1\\LOCALS~1\Temp\MSI34.tmp-\ SFXCA: Failed to get requested CLR info. 错误代码 0x80131700 SFXCA:确保安装了正确版本的 .NET Framework,或者 CustomAction.config 中存在匹配的 supportedRuntime 元素。如果要绑定到 .NET 4 或更高版本,请将 useLegacyV2RuntimeActivationPolicy=true 添加到元素。