首页 > 解决方案 > 如何以编程方式确定 Windows 中是否安装了 Mono 64 位以及安装在何处?

问题描述

我找到了这些注册表设置

在此处输入图像描述

假设用户安装了 Mono 64 位 MSI,我可以在 C# 代码中读取注册表并依赖

我问是因为

  1. 我没有在 Mono 网站上找到这个文档(例如Mono FAQ: Technical , Install Mono on Windows , Mono Runtime Documentation , Mono Runtime Documentation
  2. 也许有更好/替代的方法。(例如 GAC ......我不热衷于 GAC 但也许......)

(我假设 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node 下的任何内容都是 32 位的,并且不会指示 64 位单声道。)


更新我在 Mono-Github 上问过,这是他们的回答:https ://github.com/mono/mono/issues/10535

标签: c#windowsmonoregistry

解决方案


.NET 提供了一系列用于读取注册表项的类 下面是如何做到这一点的示例。另一个例子是here

在您的情况下,关键位置是发布的图片中的 1 号,关键是“架构”,它是“x64”等等

试试上面链接中的代码,看看是否有效。需要做一些适应。

如果您收到有关管理权限的错误,请尝试以管理员身份运行 Visual Studio。


推荐阅读