从C#VS2013中查找win7中的安装路径(有exe文件,但当前未运行)



从C#VS2013,我想获得在win 7上安装的应用程序的完整路径。

该帖子有7种方法在:

   http://stackoverflow.com/questions/6041332/best-way-to-get-application-folder-path

无法帮助我,因为我不需要当前运行的应用程序的路径

我需要已安装的应用程序的路径(但当前未运行)。

我试过

  string [] allfiles = Directory.GetFiles(path, "*", SearchOption.AllDirectories) 

  http://stackoverflow.com/questions/23736343/recursive-search-for-files-in-root-directory-and-subfolders

但是得到了:

 Additional information: Access to the path 'C:Program FilesMSSomeAppDATA' is denied.

我的C#代码:

 FileInfo executableFileInfo = new FileInfo("MyApplication.exe"); // It has been installed on win 7.
 string executableDirectoryName = executableFileInfo.DirectoryName;

这刚刚返回了我当前的VS2013工作目录。但是,实际上,"MyApplication.exe"是在C:\MyPath上安装的。

我需要获得完整的文件路径C:\MyPath\,所有的libs和exe文件(MyApplication)都在那里。

有什么建议吗?感谢

好吧,你可以使用类似的东西:

    string[] paths = 
    System.IO.Directory.GetFiles(System.Environment.SpecialFolder.ProgramFiles,
 "MyApplication.exe", System.IO.SearchOption.AllDirectories);

这将在程序文件文件夹及其所有子文件夹中查找名为MyApplication.exe的文件,并返回所有匹配的完整路径

最新更新