Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检测windows上是否安装了MongoDB_Windows_Mongodb - Fatal编程技术网

检测windows上是否安装了MongoDB

检测windows上是否安装了MongoDB,windows,mongodb,Windows,Mongodb,我需要在我的应用程序安装程序中检测MongoDB是否安装在Windows计算机上 有人知道我可以在注册表中查找什么以确保它已安装吗 我搜索了整个注册表,研究了SO和google几个小时。Mongo注册表项使用GUID键,因此每次安装都会更改,我认为在innosetup中找不到这种方式 我希望有人已经解决了这个问题,可以帮助我,这样我就不必花更多的时间重新发明轮子。感谢所有提供有用信息的人。Windows上MongoDB的默认安装目录为:C:\Program Files\MongoDB 参考: 还

我需要在我的应用程序安装程序中检测MongoDB是否安装在Windows计算机上

有人知道我可以在注册表中查找什么以确保它已安装吗

我搜索了整个注册表,研究了SO和google几个小时。Mongo注册表项使用GUID键,因此每次安装都会更改,我认为在innosetup中找不到这种方式


我希望有人已经解决了这个问题,可以帮助我,这样我就不必花更多的时间重新发明轮子。感谢所有提供有用信息的人。

Windows上MongoDB的默认安装目录为:
C:\Program Files\MongoDB

参考:

还有,对于注册表角度


更多信息,谷歌

问题是,用户可能已经通过zip文件安装了MongoDB,因此注册表中根本没有安装的任何痕迹。您可以多走一步,尝试连接到标准27017端口并尝试获取状态,但是如果mongodb目前没有运行呢?这里没有好的答案——只需询问用户是否安装了MongoDB以及目录是什么。它不是很“自动化”,但在这种情况下,它更可靠,问题更少。

在所有文件中搜索文件
mongod.exe
在这种情况下可能会起作用,如果用户已从zip文件安装,此方法仍然有效。

打开命令提示符并键入“cd c:\program files\mongodb\server\your version\bin”。输入bin文件夹类型“mongo start”后。如果连接成功或失败,则表示至少已安装。

`C:\Program Files`可能不存在;它在Win7 64位上有所不同,这取决于您运行的是32位还是64位应用程序,或者在Windows 8上,或者是否已将其配置为其他位置,或者语言是否为英语。(有关更多信息,请参阅google!)MongoDB也可能未安装在默认安装目录中。瞧,这不是问题的答案。谢谢你的尝试。这与Admdew在上面为检测注册表中的程序提供的链接相同,不幸的是,mongo不是以这种方式添加到注册表的,而是在GUID键下。我现在正在做的就是检测它是否安装在程序文件的某个位置,但正如Ken White所说,这并不是正确的方法。是的,我在谷歌上搜索了不少,如果你在那里找到了我忽略的答案,请与我分享!您可以尝试搜索mongodb文件mongod.exe…这可能有效。此外,如果mongo未在默认端口上运行,或者仅绑定到特定接口,该怎么办?如果他们选择在docker容器或VM中运行Mongo怎么办?这可能不会影响你的申请,但你将很难找到证据。我认为向他们询问mongo连接的详细信息是最好的选择