因为业务需要,项目中需要把asp.netmvc项目打包成exe安装程序给客户,让客户直接可以点下一步下一步安装部署web程序,并且同时要将IIS服务和mysql一同安装到服务器上,因为客户的电脑可能是64位也可能是32位,所以在打包的时候就需要打包成两份安装包。研究了几天终于有所收获,下边就是打包的步骤。
打包步骤:
一、前期准备
1、将asp.netmvc发布到本地目录中
2、数据库准备,准备两个免安装的mysql数据库,分别是64位和32位。分别在两个版本的数据库系统设置账户密码,并且与asp.netmvc中配置的相对应,分别在两个版本的数据库中新建asp.netmvc所对应的数据库和表,以及初始数据,当然也可以不用提前在建好数据库表和初始化数据,可以在安装的时候在设置数据库密码,初始化数据库也行,但是尝试了多次很容易出错,所以就选择提前初始化好数据库,然后直接打包的方法,这样制作更简单方便,不容易出错,新建完成之后在数据库目录中就会有对应的文件。
分别在mysql的数据库中新建一个bat批处理程序,用于安装mysql服务
批处理start_mysql.bat的内容为:
echo off
set path=%~dp0
echo install mysql service...
cd %path%\bin\
mysqld.exe --install mysql
echo start mysql Service
"%SystemRoot%"\system32\net start mysql
在批处理中之所以要cd到bin目录下之后再执行exe,而不是直接用exe的绝对路径来执行,是因为用户有可能会把程序安装到带空格的目录中如D:\Program Files (x86)
这种情况下如果用mysqld.exe的绝对路径来执行的话批处理会报错,导致安装失败
至此打包准备工作已经完成,下面是打包的具体步骤
二、打包
1、创建打包项目
点下一步
选择.net运行版本,可以在这用默认的联网下载,也可以提前下载好.net运行环境然后一块给打包到安装包中,选择默认的URL下载的,安装程序的时候安装包会小一点,但是需要电脑联网才能安装,如果选择提前下载好,在这一块给打包进安装包,安装包会比较大,安装的时候不需要网络就也可以安装,具体根据个人情况进行选择
我选择提前下载好的.net安装包
下一步
下一步
2、配置打包项目权限
4、添加mysql的免安装版程序
5、设置windows应用
6、将IIS添加到打包项目中,安装程序的时候可以连同IIS一块打包,IIS安装程序是一个bat批处理程序,网上可以下载
7、添加mysql安装事件,安装应用程序的同时将mysql安装到系统中
选择File,文件选择框,选择之前准备的mysql的安装bat文件
至此一个简易的安装包制作完成,点击buld发布生成安装包