C# デスクトップ アプリケーションのセットアップ プロジェクトを作成しています。Access データベースの接続文字列にはどのデータ ソースを記述すればよいでしょうか?また、ソリューション プロジェクトのどこにデータベース ファイルを配置すればよいでしょうか?
質問する
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 を使用することもできます。XmlFile
util
于 2013-02-25T01:16:50.420 に答える