微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 使用VisualStudio 2005应用程序部署MySQL服务器

我有一个使用MySQL作为数据存储引擎的Visual Studio 2005项目(C#),我想创建一个安装应用程序的MSI包,并在安装MysqL后静.我一直在调查它,但我找不到太多信息.

我已经静安装了MysqL软件包,并在CMD中配置了这两个语句

安装:

msiexec /qb /i "c:\MysqL.msi" /l* d:\log_MysqL_test.txt INSTALLDIR=d:\MysqL_test_mdps

配置:

D:\MysqL_test_mdps\bin\MysqLInstanceConfig.exe -i -q "-lD:\MysqL_config_log.txt" "-pD:\MysqL_test_mdps\bin" "-tD:\MysqL_test_mdps\my-template.ini" "-cD:\MysqL_test_mdps\my.ini" -v5.5.9 ServerType=DEVELOPMENT DatabaseType=MIXED ConnectionUsage=DSS Port=53306 ServiceName=MysqL_AGM RootPassword=root1234 SkipNetworking=no AddBinToPath=yes

但是现在我不知道如何说Visual Studio在安装我​​的应用程序之前或之后做它.我一直在谷歌,但我找不到任何有用的帮助.

我希望你能指导我:)

编辑:我一直在使用自定义操作解决方案,我发现这个article使用自定义安装程序类来执行自定义操作.它看起来很好,但我得到一个问题,因为当我的MSI包尝试启动第二个MSI安装程序(MysqL)时,我收到错误,代码为2869,显示“拒绝访问”.

我一直在寻找这个问题,看起来当第一个MSI尝试运行第二个MSI时,它没有应用正确的权限,安装失败……

你知道我能做什么吗?或者我如何启动第二个MSI安装程序?具有完全权限(或至少与第一个安装程序相同)

这是我用来创建Process对象的代码.

string arg1 = "/qb /i \"" + filepath + "\" /l* \"" + Path.Combine(installpath,logfile) + "\" INSTALLDIR=\"" + installpath + "\"";

Process p = new Process();
p.StartInfo.FileName = "msiexec.exe";
p.StartInfo.Arguments = arg1;
p.Start();
最佳答案
你不需要启动另一个msiexec.exe. Visual Studio还允许您将可执行文件用作自定义操作.所以自定义动作

见下文.图片来自这个link

在上面的链接中查看“将可执行文件调用自定义操作”部分.现在,如果这不起作用,则可以修改认的bootstrapper.

在此链接中查看0xA3的回复.
Running another program from c# setup project

它看起来并不复杂.

原文地址:https://www.jb51.cc/mysql/434060.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐