.net - inno setup 检查 dotnet core 是否安装
问题描述
Inno setup 检查 dotnet core 是否已安装。在注册表编辑器中找不到 .net 核心的 REG_DWORD。有人可以帮我在注册表编辑器中找到 .net 核心版本以检查是否安装了 .net 核心
解决方案
当前运行dotnet --version
或者dotnet --info
可能是最简单的方法。我想,因为 .net 核心可以安装在任何地方(Mac、Linux、Windows),他们决定坚持使用 CLI。
我见过有人HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x64\...
用来检查版本,但我相信这不是跨 .net 核心版本、操作系统版本、32 位和 64 位等的一致解决方案,所以尽量避免使用注册表
您还可以以编程方式dotnet
在Program Files
. 如果它在那里,请转到host/fxr
子目录并在那里找到最新版本,即
C:\Program Files\dotnet\host\fxr\*VERSION*\hostfxr.dll
顺便说一句,hostfxr.dll
库公开了一个 export hostfxr_get_available_sdks
。您可以加载库并调用此 API(无需设置)以获取已安装 SDK 的列表 - 这类似于dotnet --info
.
另外,请查看这个问题- 您可以找到更多检查 .net 核心版本的方法。
我希望它有帮助
推荐阅读
- r - 以列名中的字符串为条件,从现有列中变异一个新列并粘贴值
- reactjs - React 在使用 Context 时会抛出错误。错误:元素类型无效:需要一个字符串(对于内置组件)
- geode - PC1 宕机后集群宕机
- python - jupyter book 警告:文档不包含在任何目录树中
- c++ - 警告视为错误(可能在此函数中未初始化使用)
- php - Laravel 资源 whenLoaded hasManyTrough 关系
- javascript - 如何检测嵌入在 WordPress 中的 MUX 视频是流式传输还是播放固定长度的视频?
- javascript - 使用 Jest 在全局范围内声明的测试变量
- ruby-on-rails - Elasticsearch 6.8:将渗透器添加到具有“join”类型的“parent_mapping”字段的索引时获得“mapper_parsing_exception”
- security - 计算 MTTR(天)