我正在为我的 C# 桌面应用程序创建一个安装项目。应该在访问数据库的连接字符串中写入什么数据源?我应该将我的数据库文件放在解决方案项目中的什么位置?
问问题
319 次
1 回答
0
例如,假设您使用的是 VS 安装项目,您需要将访问数据库文件添加为内容并将其放置在应用程序目录中。要在配置文件中指定位置,您需要编写一个自定义操作来相应地修改连接字符串。以下示例是在安装阶段(未测试)后设置连接字符串的安装程序类:
[RunInstaller(true)]
public partial class Installer1 : System.Configuration.Install.Installer
{
public Installer1()
{
InitializeComponent();
this.AfterInstall += new InstallEventHandler(Installer1_AfterInstall);
}
void Installer1_AfterInstall(object sender, InstallEventArgs e)
{
string sTargetDir = Context.Parameters["TargetDir"];
string sAppConfig = Path.Combine(sTargetDir, "<your app>.exe.config");
string sDBPath = Path.Combine(sTargetDir, "<your db>.mdb");
XDocument doc = XDocument.Load(sAppConfig);
var elem = doc.Root.Element("/configuration/connectionStrings/add[@name='<your connection name>']");
string connectionString = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", sDBPath);
elem.SetAttributeValue("connectionString", connectionString);
doc.Save(sAppConfig);
}
}
或者,您可以使用Wix
which has the XmlFile
utility in the util
extension which does it for you without you write a custom action.
于 2013-02-25T01:16:50.420 回答