我想获得安装程序所在的路径,比如如果setup.exe在d:\aa\setup.exe,那么我想获取d:\aa这个路径,而不是程序要安装的目的路径。求教各位,谢谢!

解决方案 »

  1.   

    应该如何获取呢?
    Assembly asm = Assembly.GetExcutingAssembly ();
    [TARGETDIR] 
    上面这些都只能获取目的路径。
      

  2.   

    String Path=AppDomain.CurrentDomain.BaseDirectory.ToString()
      

  3.   

    相对路径:System.Environment.CurrentDirectory(随用户的操作而改变);
    程序安装后的路径:AppDOmain.CurrentDomain.BaseDirectory;(只要程序安装了,就永远不变)穷风了,给点分吧~
      

  4.   

    2楼和3楼的结果获得的是system32路径,不是源路径阿?
      

  5.   

    你的意思是不是獲取指定文件的根文件夾,如果這樣,下面程式你可以看下:
      使用System.IO命名空間下的Directory類的GetDirectoryRoot()方法  string MyRoot=System.IO.Directory.GetDirectoryRoot("setup.exe");如果獲取當前程序所在的文件夾則如下:  System.IO命名空間下的Directory類的GetCurrentDirectory()方法  string MyRoot=System.IO.Directory.GetCurrentDirectory();                    穷风了,给点分吧~
      

  6.   

    楼上的结果出来的还是c:\windows\system32,不是我想要的目录。setup.exe不论放在哪,用以上方法获取的结果都是c:\windows\system32,而不是setup.exe所在的真实路径,为什么呢?
      

  7.   

    在您的整個系統中(c;d:e:......),不可能只有一個名為setup.exe文件吧......