如果机器上没有安装.NET 4.0框架,是否有标准/首选方法可以在NSIS安装程序中自动下载和安装它?
在旧版本的框架上,有几个示例可以使其工作,但似乎没有一个适用于4.0版本。在我自己编写代码之前,我想知道这方面是否已经有现成的解决方案。
感谢您的时间。
问题是什么?解决方案应该与其他 .NET 版本相同。
像这样的解决方案应该可以工作:
ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client" Install
IntOp $8 $0 & 1
结果在寄存器 $8 中。
将 Client
替换为 Full
可以检测非客户端版本。
为什么不在NSIS安装程序中包含.NET 4.0 redist,并在检测不到4.0注册表条目时执行它呢?
如果您认为50 MB太大,无法与安装程序一起打包,那么只需在需要时下载即可。
如果您列出了尝试过但未成功的方法,那会很有帮助。(我怀疑您可能已经看到了第三个链接,而语言规范让您感到困惑?)