我用C#+SQL Server2000做了一个程序,现要做安装程序,在安装程序中我加入了自定义操作,以便在程序安装时能够自动附加上数据库及数据库用户设定操作。
现在有两条语句不是特别清楚:
1。怎么判断我的安装程序是在哪个路径启动的?
我的实现语句如下
string [] drives=Directory.GetLogicalDrives();
foreach(string str in drives)
 { if(str!="A:\\"&&str!="B:\\")
    { string searchFile=str+"Setup.exe";
      FileInfo fi=new FileInfo(searchFile);
 if(fi.Exists)
 {   StartStr=str;
     StartStr+="\\";
     break;
 }
     }
 }
字符串StartStr就是我要获取的安装程序启动路径,用上述代码只能将安装程序拷贝到莫个盘的根目录下才能执行安装操作。
我试着用过StartStr=Application.StartupPath;但没成功。不知StartStr = Environment.CurrentDirectory; 是否可用,这二者的区别何在!
2。怎么获取在安装程序启动时弹出的对话框中文件夹选项所输入的路径字符串变量,简单点说就是当操作员在对话框中给出一个路径后,在我的自定义操作中怎么获得这个值。
我用了一个简单的方法,destinationDir="C:\\Program Files\\我的程序名";
这样实现对程序的安装太过于刻板,如我的数据库就只能加到这个目录中,当碰到数据库增加数据时对C:盘就有了压力。
希望有过此实际操作的能给与帮助,谢谢!
另外,不知谁能否提供一段unmanage c++源代码给我,该源码实现判断目标机上是否已装.NET framework和MSDE,如没有则自动安装。我在网上没有搜到该段代码,但知道它存在!这段代码我用我所有剩余的分数(400)相求,如解决,立即给分!