c# installshield 安装时调用批处理:
installshield(le版本) 调用cmd.exe /c "[INSTALLDIR]mysql_install.bat"
mysql自动安装:
步骤:
检查mysql服务是否存在 是否执行安装
删除当前盘符根目录的旧文件
复制程序安装目录的mysql文件到当前盘符根目录
安装mysql
设置用户和权限
启动mysql
执行初始化数据库脚本
删除当前程序安装目录的mysql文件
mysql_install.bat完整内容:
@echo off
wmic service where name='MySQL' get displayname | findstr "MySQL" && exit || goto setup
:setup
rd /s /q "%~d0\mysql-5.6.31-winx64"%
md "%~d0\mysql-5.6.31-winx64"
xcopy "%~dp0\mysql-5.6.31-winx64" "%~d0\mysql-5.6.31-winx64" /s /e /h
set path=%~d0\mysql-5.6.31-winx64\bin\;%path%
"%~d0\mysql-5.6.31-winx64\bin\mysqld" --install MySQL --defaults-file="%~d0\mysql-5.6.31-winx64\my-default.ini"
net start mysql
mysql -uroot -e "grant all on _wms.* to wms_user@'%' identified by 'wms_pwd'; flush privileges;"
mysql -uroot <"%~dp0\mysqlInit.sql"
rd /s /q "%~dp0\mysql-5.6.31-winx64"
下面是 隐藏命令行窗口(不推荐,上面的执行过程有点长,客户感觉不到程序在运行就会认为卡死而关闭安装界面,导致安装不成功)
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~fnx0"" h",0)(window.close)&&exit
:begin