用mysql c#创建安装包

时间:2011-06-21 09:36:36

标签: c# mysql winforms installer

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

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

由于

2 个答案:

答案 0 :(得分: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可能是更好的选择。

答案 1 :(得分:1)

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

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

This tutorial可以帮助您迈出第二步。