非常感谢您的帮助。
你试图安装 MySQL 服务器。这应该是你犯错的第一个提示。大多数服务器应用程序都是设计用于安装在服务器上而不是客户端上。值得注意的一点是,服务器应用程序喜欢假定它们拥有服务器。这对于客户端应用程序来说是一个巨大的错误。
既然我们已经确定自己的做法是错误的,我们需要选择要做什么。我们有两个选择:
我个人建议尽快切换到 SQLite(或类似产品)。这是“正确的”方法,而且您不必维护多年的黑科技。
您已经被警告了。以下是您需要注意和解决的一些问题:
因此,考虑到所有这些因素,我会建议您设置一个可复制的 MySQL。
我已经在另一个问题上发布了答案。
我们采用了不同的方法。我们编写了一个包装器,在调用MySQL之前生成配置文件,以正确设置基本路径等。然后我们安装了另一个使用标准安装程序的服务。这个服务将负责启动MySQL和其他所需的后台程序(在我们的情况下是Apache)。由于MySQL是由我们部署的,我们希望对其拥有完全控制。
因此,通过这种方法,您可以简单地将MySQL软件包与您的安装一起包含,并只需要担心安装自己的服务。
@Orion Edwards
非常感谢您提供的步骤。我也有同样的疑问。事实上,我们之前放弃了SQLite,因为我们的独立应用程序需要一些程序和外键约束。但现在我觉得,如果要部署在客户机上,SQLite始终是一个更好的选择。
目前,我必须坚持使用MySQL。因此,我正在使用不同类型的脚本和机制来处理不同的可能情况。例如:
这种方法可行吗?还是有更好、更合适的方法来实现这个功能?
将来我想我会坚持使用SQLite! :-p
可以尝试使用Visual Studio的打包和部署工具,如果您使用本地连接(MySQL .NET组件)而不是ODBC连接,它应该会自动引入MySQL依赖项。无论如何,它都允许您将其他软件添加到安装程序中,并在需要时自动解压缩。我曾经使用它来部署使用从MySQL网站下载的MySQL库或CoreLab的第三方MySQL库的C#应用程序。