как развернуть sqlite с помощью .Net - PullRequest
2 голосов
/ 16 сентября 2010

Я получил сообщение от пользователя, что, когда они установили мое приложение .net 2.0, они получили сообщение, что ссылка на system.data.sqlite.dll не найденаЯ использую Inno, чтобы установить его в ту же папку, что и исполняемый файл, и никаких проблем от других.Имеет ли какое-либо значение то, что является локальным свойством copy, когда я добавляю ссылку в VS?Насколько я понимаю, это влияет только на запуск под VS.Пока у пользователя есть sqlite в той же папке, что и исполняемый файл, не должно ли это быть все, что нужно?Может ли быть разрешение или другая проблема безопасности, которая блокирует установку DLL?sqlite.dll нужно зарегистрировать?- никто другой не должен был.

Ответы [ 2 ]

4 голосов
/ 16 сентября 2010

Да, если он находится в папке с исполняемым файлом, он работает. Но вам придется иметь дело с 32-битными и 64-битными архитектурами, для этого есть отдельные сборки. 32-разрядный файл находится в /System.Data.Sqlite.dll, 64-разрядный файл находится в /x64/System.Data.Sqlite.dll.

0 голосов
/ 17 сентября 2010

Как уже указывалось, это, вероятно, проблема архитектуры.На самом деле у нас та же проблема с Oracle.

У вас есть?Решения:

  1. Создайте два установщика: один x86 и один x64, использующие соответствующие библиотеки sql lite.
  2. Создайте интеллектуальный установщик, который скопирует соответствующий файл DLL в папку bin.
  3. Установите соответствующий SQL Lite в GAC.Вам может потребоваться создать установщик для этого, и вы, вероятно, захотите установить его как предварительное условие для своего приложения.

Если вы не привязаны к SqlLite, возможно, вы захотите взглянуть на SqlCe,Установщики уже есть и доступны в качестве обязательного компонента в Visual Studio, и есть вероятность, что они, вероятно, уже установлены на некоторых клиентских компьютерах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...