c# - 使用 mysql c# 创建安装程序包

标签 c# mysql winforms installation

我有一个用 C# 编写的 winform 应用程序。我的数据库是MySql。现在我希望它能够部署在其他机器上,而不必在每台机器上单独/单独安装 mysql。请建议我如何将 MySql 数据库与应用程序包含在一个安装程序中,而无需在每台计算机上安装 mysql。或者,如果在 MySql 中不可能,我可以将其迁移到 Sqlite 中。请为我指出相关资源。

我以前在这个板上见过类似的问题,但他们的解决方案都不清楚。

谢谢

最佳答案

当遇到类似的情况时,我只是在应用程序中包含了 MySQL 发行版(这是出于内部目的,您可能需要许可证才能商业分发 MySQL)。

这就是我所做的:

  • 我在本地计算机上安装了 MySQL 服务器。我将其配置为数据文件夹和配置文件与 MySQL 服务器的其余部分位于同一文件夹中。然后,我创建了数据库、用户,并用相关数据填充了数据库。
  • 我在安装程序中包含了整个 MySQL 文件夹。安装程序只需将此文件夹复制到应用程序的目标文件夹即可。
  • 然后我可以像这样启动 MySQL:{app_folder}\mysql\bin\mysqld.exe --defaults-file="{app_folder}\my.ini"。为了停止 MySQL,我使用了:{app_folder}\mysql\bin\mysqladmin.exe -u youruser -p yourpassword shutdown。您可以让您的应用程序检查 MySQL 是否正在运行,如果没有运行则启动它。

这可能不是最好的解决方案,因为任何人都可以轻松访问数据库。另外我无法确认这是否适用于当前版本的 MySQL(您可能需要在配置文件中指定数据文件夹)。如果数据库仅由您的应用程序使用,SQLite 可能是更好的选择。

关于c# - 使用 mysql c# 创建安装程序包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6423214/

相关文章:

c# - 任务在应该完成的时候一直循环

c# - Xamarin 表格 : Embed symbols in text

.net - 组合框中每个项目的工具提示

c# - EventSystem OnPointerXXX 函数未被调用

php - 我坚持我的 SELECT sql 查询

mysql - 如何从物理文件恢复MySQL数据库

php - 在 2 个数据库之间共享用户

c# - 在等待时,当控制权转到调用者时,它是否处理 for 循环的下一次迭代(等待返回任务吗?)?

c# - 为什么实例化时 Unity Prefab 值错误?

c# - .NET - 使用基于表单的身份验证在 (Domino) 服务器上使用 HTTP 服务