【问题标题】:creating installer package with mysql c#用mysql c#创建安装程序包
【发布时间】:2011-09-19 08:59:59
【问题描述】:

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

我以前在这个板上看到过类似的问题,但他们的解决方案中没有一个是明确的。

谢谢

【问题讨论】:

    标签: c# mysql winforms installation


    【解决方案1】:

    如果我理解您的问题,您可以使用“Prerequisites in Windows Installer Deployment

    因此,您将 mysql 安装程序添加为先决条件,然后您可以安装应用程序并执行用于创建数据库和其他资源(如表、视图和存储过程)的脚本。

    This tutorial可以帮助你完成第二步。

    【讨论】:

      【解决方案2】:

      当遇到类似情况时,我只是在应用程序中包含了一个 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 可能是更好的选择。

      【讨论】:

      • 您好先生,现在我也面临同样的问题。我有 2 个 .exe 文件,一个用于客户端计算机,第二个用于管理计算机,两者都是网络连接的。我已经用 SQLite db 开发了 WPF windows 应用程序。如何从管理员机器访问数据库到其他客户端机器?
      • 我已经用 SQLite db 开发了 WPF windows 应用程序。或者,如果它在 Sqlite 中不可能,我可以在 MySql 中迁移它。我是否需要许可证(付费)才能在商业上分发 MySQL ?我不能使用付费的一个数据库。实际上,我希望它可以部署在其他机器上,而不必在每台机器上单独/单独安装 mysql。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多