我有一个用C#编写的winform应用程序。我的数据库位于MySql中。现在我希望它能够在其他机器上部署而无需在每台机器上单独/单独安装mysql。请建议我将我的MySql数据库与应用程序包含在一个安装程序中的方法,而无需在每台机器上安装mysql。或者,如果它在MySql中不可能,我可以在Sqlite中迁移它。请指出相关资源。
我之前在这个委员会上看到过类似的问题,但他们的解决方案中没有一个是明确的。
由于
答案 0 :(得分:2)
当遇到类似情况时,我只是在应用程序中包含一个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可以帮助您迈出第二步。