因为业务需要,项目中需要把asp.netmvc项目打包成exe安装程序给客户,让客户直接可以点下一步下一步安装部署web程序,并且同时要将IIS服务和mysql一同安装到服务器上,因为客户的电脑可能是64位也可能是32位,所以在打包的时候就需要打包成两份安装包。研究了几天终于有所收获,下边就是打包的步骤。

打包步骤:

一、前期准备

1、将asp.netmvc发布到本地目录中

2、数据库准备,准备两个免安装的mysql数据库,分别是64位和32位。分别在两个版本的数据库系统设置账户密码,并且与asp.netmvc中配置的相对应,分别在两个版本的数据库中新建asp.netmvc所对应的数据库和表,以及初始数据,当然也可以不用提前在建好数据库表和初始化数据,可以在安装的时候在设置数据库密码,初始化数据库也行,但是尝试了多次很容易出错,所以就选择提前初始化好数据库,然后直接打包的方法,这样制作更简单方便,不容易出错,新建完成之后在数据库目录中就会有对应的文件。

mysql 可以打包到docker吗 mysql数据库打包_数据库

分别在mysql的数据库中新建一个bat批处理程序,用于安装mysql服务

 

mysql 可以打包到docker吗 mysql数据库打包_安装包_02

 

批处理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、创建打包项目

 

 

mysql 可以打包到docker吗 mysql数据库打包_mysql_03

 

 

mysql 可以打包到docker吗 mysql数据库打包_mysql 可以打包到docker吗_04

 

 

mysql 可以打包到docker吗 mysql数据库打包_安装包_05

 

 

mysql 可以打包到docker吗 mysql数据库打包_数据库_06

mysql 可以打包到docker吗 mysql数据库打包_mysql_07

点下一步

 

mysql 可以打包到docker吗 mysql数据库打包_数据库_08

 

选择.net运行版本,可以在这用默认的联网下载,也可以提前下载好.net运行环境然后一块给打包到安装包中,选择默认的URL下载的,安装程序的时候安装包会小一点,但是需要电脑联网才能安装,如果选择提前下载好,在这一块给打包进安装包,安装包会比较大,安装的时候不需要网络就也可以安装,具体根据个人情况进行选择

 

mysql 可以打包到docker吗 mysql数据库打包_mysql_09

 

我选择提前下载好的.net安装包

 

mysql 可以打包到docker吗 mysql数据库打包_mysql 可以打包到docker吗_10

下一步

 

mysql 可以打包到docker吗 mysql数据库打包_数据库_11

mysql 可以打包到docker吗 mysql数据库打包_mysql_12

 

 

mysql 可以打包到docker吗 mysql数据库打包_数据库_13

 

 

 

 

 

 

下一步

 

 

 

mysql 可以打包到docker吗 mysql数据库打包_数据库_14

mysql 可以打包到docker吗 mysql数据库打包_mysql_15

 

 

mysql 可以打包到docker吗 mysql数据库打包_安装包_16

 

 

mysql 可以打包到docker吗 mysql数据库打包_测试_17

 

 

mysql 可以打包到docker吗 mysql数据库打包_mysql_18

2、配置打包项目权限

 

 

mysql 可以打包到docker吗 mysql数据库打包_测试_19

 

4、添加mysql的免安装版程序

 

mysql 可以打包到docker吗 mysql数据库打包_mysql_20

 

 

mysql 可以打包到docker吗 mysql数据库打包_mysql_21

 

 

5、设置windows应用

 

mysql 可以打包到docker吗 mysql数据库打包_测试_22

 

6、将IIS添加到打包项目中,安装程序的时候可以连同IIS一块打包,IIS安装程序是一个bat批处理程序,网上可以下载

 

mysql 可以打包到docker吗 mysql数据库打包_安装包_23

 

7、添加mysql安装事件,安装应用程序的同时将mysql安装到系统中

 

mysql 可以打包到docker吗 mysql数据库打包_安装包_24

 

 

mysql 可以打包到docker吗 mysql数据库打包_mysql 可以打包到docker吗_25

选择File,文件选择框,选择之前准备的mysql的安装bat文件

 

mysql 可以打包到docker吗 mysql数据库打包_mysql_26

 

 

mysql 可以打包到docker吗 mysql数据库打包_数据库_27

 

 至此一个简易的安装包制作完成,点击buld发布生成安装包

 

mysql 可以打包到docker吗 mysql数据库打包_测试_28