João Henrique Braga Ответов: 2

Как встроить SQL server CE в исполняемый файл моего приложения?


Я разрабатываю приложение Windows Forms на языке C # в сообществе Visual Studio 2019.

Я использую базу данных SQL Server CE, она работает правильно в моем приложении, однако при установке моего приложения на другой компьютер приложение генерирует следующую ошибку:
"System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'System.Data.SqlServerCe,"

Что я уже пробовал:

Я использую innosetpu, чтобы сделать установщик моего приложения, насколько я понимаю, я считаю, что я должен взять DLL, которые я использовал из SQL Server CE вместе с исполняемым файлом моего приложения, однако каждый раз, когда я пытаюсь просто взять его, ошибка, которую я в конечном итоге удаляю dll ...

João Henrique Braga

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

0x01AA

Прочитайте эту:
развертывание - как развернуть SQL Server Compact Edition 4.0? - переполнение стека[^]

Вы найдете там, какие COM должны быть зарегистрированы во время установки, а также, если вы предпочитаете жесткий способ, как использовать COM register free.

2 Ответов

Рейтинг:
9

Gerry Schmitz

Вот мой раздел Inno "файлы" из моей последней установки CE. (Windows 10 имеет SQLite "встроенный" и является моим текущим предпочтением)

; SQL CE
Source: "..\bin\Release\x86\*.dll"; DestDir: "{app}\x86"
Source: "..\bin\Release\x86\Microsoft.VC90.CRT\*.*"; DestDir: "{app}\x86\Microsoft.VC90.CRT"

Source: "..\bin\Release\amd64\*.dll"; DestDir: "{app}\amd64"
Source: "..\bin\Release\amd64\Microsoft.VC90.CRT\*.*"; DestDir: "{app}\amd64\Microsoft.VC90.CRT"


Рейтинг:
0

RickZeeland

SQL Server Compact Edition устарел, никаких новых версий или обновлений не планируется, поэтому, возможно, лучше поискать альтернативу.
Если ваши требования просты вы можете попробовать LiteDB[^] который не нужно устанавливать, так как это просто dll, которую вы можете распространять вместе с вашим приложением.

Если вы хотите придерживаться SQL Server CE взгляните на:
GitHub - domgho/InnoDependencyInstaller: модульный установщик зависимостей Inno Setup[^]
Он поддерживает установку всех видов предварительных условий, таких как .NET framework, SQL Server, распространяемые файлы C++ и т. д.


Maciej Los

5ed!

João Henrique Braga

Но как я могу распространять библиотеку dll вместе с моим приложением?

RickZeeland

просто добавьте его в свой скрипт InnoSetup или скопируйте папку bin со всеми файлами .exe и .dll.

Maciej Los

Я хотел бы дать вам еще 5 за вторую часть вашего ответа, но я не могу :(

RickZeeland

Лентяй :(