Моему приложению требуется база данных sqlite на стороне клиента для хранения данных из приложения.
База данных sqlite (например, Подробности) должна содержать таблицу (например, Данные).Пока я пытался создать базу данных с таблицей в папке
D:\tmp
, используя настраиваемые действия , база данных создается, но не может создать таблицу в ней.При создании таблицы процесс установки преждевременно останавливается .
Код, который я написал в настраиваемом действии:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using Microsoft.Deployment.WindowsInstaller;
using System.Data.SQLite;
namespace CreateDB
{
public class CustomActions
{
private static SQLiteConnection sqlite2;
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
session.Log("Begin CustomAction1");
try
{
if(!System.IO.File.Exists("D:\\tmp\\Details.sqlite"))
{
SQLiteConnection.CreateFile("D:\\tmp\\Details.sqlite");
using (sqlite2 = new SQLiteConnection("Data Source=D:\\tmp\\Details.sqlite"))
{
sqlite2.Open();
string sql = "CREATE TABLE data (name varchar(20), score int)";
SQLiteCommand command = new SQLiteCommand(sql, sqlite2);
command.ExecuteNonQuery();
}
}
}
catch
{
return ActionResult.Failure;
}
return ActionResult.Success;
}
}
}
Может кто-нибудь подсказать, каксоздать базу данных sqlite на стороне клиента с помощью пользовательских действий в wix (Visual Studio).