1。你可以单独写个附加数据库的模块,文件路径指定为本地路径同一文件下的数据文件,但复制文件时连同他和数据库文件一同复制,当安装完成时调用一下它即可。
2。我是自己写的安装程序,复制文件时,我知道文件的目的路径,所以我执行完安装后,就把数据库附加了。
3,我还写了一个连同msde一块安装的程序,只不过是把附加模块程序的路径写到注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce下,这样当机器下一次启动(因为安装了msde后要重启)时就把数据库附加了。再就是我觉得SqlConnection和数据库路经没什么关系吧,//得到当前路径
string path=Application.ExecutablePath;
string pathdb=path.Replace("sqltool.exe","sinofin_data.mdf");
string pathlog=path.Replace("sqltool.exe","sinofin_log.ldf");
SqlConnection connect = new SqlConnection(constr);connect.Open();


SqlCommand dbCommand = new SqlCommand();
dbCommand.Connection=connect;

dbCommand.CommandText="exec sp_attach_db @dbname = N'sinofin', @filename1 = N'"+pathdb+"', @filename2 = N'"+pathlog+"'";dbCommand.ExecuteNonQuery();