inno setup检查dotnet core是不是已安装[关闭]

Posted

技术标签:

【中文标题】inno setup检查dotnet core是不是已安装[关闭]【英文标题】:inno setup check dotnet core is installed [closed]inno setup检查dotnet core是否已安装[关闭] 【发布时间】:2019-06-25 14:55:18 【问题描述】:

Inno 设置检查 dotnet 核心是否已安装。 在注册表编辑器中找不到 .net 核心的 REG_DWORD。 有人可以帮我在注册表编辑器中找到 .net 核心版本以检查是否安装了 .net 核心

【问题讨论】:

aaflalo.me/2020/06/net-core-detection-in-inno-setup 【参考方案1】:

当前运行dotnet --versiondotnet --info 可能是最简单的方法。 我想,因为 .net 核心可以安装在任何地方(Mac、Linux、Windows),他们决定坚持使用 CLI。

我见过有人使用HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x64\... 来检查版本,但我认为这不是跨 .net 核心版本、操作系统版本、32 位和 64 位等的一致解决方案,所以尽量避免使用注册表

您还可以通过编程方式在Program Files 中查找dotnet 文件夹。如果它在那里,请转到host/fxr 子目录并在那里找到最新版本,即

C:\Program Files\dotnet\host\fxr\*VERSION*\hostfxr.dll

顺便说一句,hostfxr.dll 库公开了一个导出 hostfxr_get_available_sdks。您可以加载库并调用此 API(无需设置)以获取已安装 SDK 的列表 - 这类似于 dotnet --info

另外,请查看this question - 您可以找到更多检查 .net 核心版本的方法。

希望对你有帮助

【讨论】:

好的,这显示了 you 如何检查运行时是否已安装,但现在 InnoSetup 如何检查运行时是否已安装。您能否提供一个代码示例来展示如何使用dotnet --info?那是我正在努力的部分,而不是命令本身。它将该命令及其输出集成到我的脚本/设置中。

以上是关于inno setup检查dotnet core是不是已安装[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Inno-Setup:如何让用户选择是不是自动启动?

inno setup怎么检测系统是不是安装了vcredist

Inno Setup:验证是不是安装了 .NET 4.0

如果安装了 MSXML 4.0,我如何检查 Inno Setup?

在关闭Inno Setup到Windows之前,发送关于重新检查PATH环境变量的消息[重复]。

Inno Setup 安装程序运行时命名检查问题