如何获得应用程序的安装path?

在使用C#的Windows中,如何从我的项目中获取软件的安装path(例如,考虑NUnit或其他任何类似MS词的软件等)? 另外如何设置我们在环境variables中设置的pathvariables,以便我们可以通过在命令提示符下input来运行应用程序。

就像我在“C:\ Program Files”中安装NUnit一样,我可以在cmd提示符下运行“NUnit”,但是如果我安装在不同的位置,我不能这样做。 我需要从我的项目中获取NUnit或安装在我的系统(Windows XP)中的任何其他软件的位置或path。

编辑:就像我可以从registry中获取已安装程序的path。 HKEY_CURRENT_USER-> SOFTWARE

使用系统和应用程序类。 这会给你各种信息。

EG:Application.ExecutablePath

它还提供了一些方法来做你想做的事情。

编辑:另请参阅注册表读/写说明在这里:

http://www.c-sharpcorner.com/UploadFile/sushmita_kumari/RegistryKeys102082006061720AM/RegistryKeys1.aspx?ArticleID=0ce07333-c9ab-4a6a-bc5d-44ea2523e232

string appFileName = Environment.GetCommandLineArgs()[0]; 

会给你可执行文件的完整路径

 string directory = Path.GetDirectoryName(appFileName); 

提取目录。

 string envPath = Environment.GetEnvironmentVariable("PATH"); Environment.SetEnvironmentVariable(envPath + ";" + yourPath); 

编辑当前进程的PATH环境变量。

 Application.ExecutablePath (includes filename) Application.StartupPath (not includes filename) 

这将为您提供应用程序启动的路径。 希望这将是安装路径。

Application.StartupPath用于获取c#中的安装位置。

就像如果我在“C:\ Program Files”中安装Nunit,我可以通过在cmd提示中给出'nunit'来运行它,但是如果我安装在不同的位置,我不能做同样的事情。

也许你正在使用Windows Vista,它可以在程序文件中搜索,但不会在其他文件夹中查找。

在使用C#的Windows中,如何获得软件的安装路径(例如考虑nunit)。

这取决于你如何安装应用程序。 安装程序知道路径,您可以编程安装程序将该路径写入某个地方,比如注册表。

另外如何设置我们在环境变量中设置的路径变量,以便我们可以通过在命令提示符下输入来运行应用程序。

如何获取和设置C#中的环境变量?