我应该如何配置项目中其他exe文件的路径?

时间:2016-07-01 06:55:08

标签: c# filepath settings.settings

我正在开发一个项目,需要应用程序执行 .exe 文件。这里的问题是我无法保证文件将始终位于用户计算机上的同一位置,我的应用程序无法知道 .exe 文件的位置。

例如,我的应用程序需要执行 mongod.exe ,它位于(默认情况下)以下位置: C:\ Program Files \ MongoDB \ Server \ 3.2 \ bin \ mongod.exe

问题在于并非总是如此,用户可能已将此应用程序安装到其他位置,因此我无法假设 .exe 文件的路径始终每个客户都一样。

目前我正在使用 Settings.settings 文件存储文件的默认文件路径:

A setting in the Settings.settings file

然后,用户可以编辑 app.config 文件,或者我可以提供UI以允许用户更改文件路径。

所以我的问题是,有更好的方法吗?

1 个答案:

答案 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。:如果您的应用程序无权访问本地计算机的注册表,则此方法将无法正常工作