Как создать базу данных SQLite, используя настраиваемые действия в wix, Visual Studio - PullRequest
0 голосов
/ 03 мая 2019

Моему приложению требуется база данных 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).

...