我正在开发一个项目,需要应用程序执行 .exe 文件。这里的问题是我无法保证文件将始终位于用户计算机上的同一位置,我的应用程序无法知道 .exe 文件的位置。
例如,我的应用程序需要执行 mongod.exe ,它位于(默认情况下)以下位置: C:\ Program Files \ MongoDB \ Server \ 3.2 \ bin \ mongod.exe
问题在于并非总是如此,用户可能已将此应用程序安装到其他位置,因此我无法假设 .exe 文件的路径始终每个客户都一样。
目前我正在使用 Settings.settings 文件存储文件的默认文件路径:
然后,用户可以编辑 app.config 文件,或者我可以提供UI以允许用户更改文件路径。
所以我的问题是,有更好的方法吗?
答案 0 :(得分:0)
在Registry中搜索Mongodb.exe文件的路径非常有用。尝试从注册表项中找到exe路径。
RegistryKey key = Registry.LocalMachine.OpenSubKey(“Software \ MongoDB \ MongoDB Connector”); if(key!= null) { Object o = key.GetValue(“InstallPath”); }
Object o将给出MongoDB.exe文件的路径。
P.S。:如果您的应用程序无权访问本地计算机的注册表,则此方法将无法正常工作