因为业务需要,项目中需要把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发布生成安装包

利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包的更多相关文章

  1. [Tool]利用Advanced Installer建立x86/x64在一起的安装程式

    原文 [Tool]利用Advanced Installer建立x86/x64在一起的安装程式 之前使用InstallShield做安装程式时,如果要将程式放在Program Files的话,需要分别针 ...

  2. Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)

    Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer   Advanced Installer :Free for 30 da ...

  3. Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法

    原文:Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法 前几个月使用Advanced Installer 打包了一堆安装包,其中有使用默认主题的,也有根据 ...

  4. Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer

    Advanced Installer :Free for 30 days. All features. 下载地址:https://www.advancedinstaller.com/download. ...

  5. Advanced Installer 14.9 – WPF或winform应用程序打包成exe文件

    Advanced Installer14.9 下载地址:https://pan.baidu.com/s/1uj2QcxWcpGdqsjAinNPIAw 提取码:sa3r  选择Visual Studi ...

  6. C# winform Visual Studio Installer打包教程,安装包

    //具体打包过程,参考下面网址 https://www.cnblogs.com/dongh/p/6868638.html VS 扩展和更新-联机 搜索 Microsoft Visual Studio ...

  7. vs2010制作带卸载功能的安装包过程,及asp.net网站iis发布、备份数据库

    1:新建安装部署项目 打开VS编辑器,点击新建项目,选择:其他项目类型->安装与部署->安装项目,然后点击确定. 2 安装向导完成后即可进入项目文件夹: 双击"应用程序文件夹&q ...

  8. python3.5+installer 将.py 打包成.exe

    (1)下载安装installer,不如我安装在D:\Program Files\Python35,安装完成后,在D:\Program Files\Python35\Scripts可以找到install ...

  9. cocos2dx 3.x(在Mac平台下利用Eclipse打包安卓apk安装包详细教程)

    最近在学习cocos2dx在MAC上如何打包apk,今天先把安装JDK和ANT的过程记来. 首先,打开终端,输入"java -version" 点击回车后,出现如下提示: 我们的M ...

随机推荐

  1. 热切换Log4j级别配置

    欢迎和大家交流技术相关问题:邮箱: jiangxinnju@163.com博客园地址: http://www.cnblogs.com/jiangxinnjuGitHub地址: https://gith ...

  2. python 使用 'python -m pip install --upgrade pip'提示PermissionError: [WinError 5] 拒绝访问

    执行pip install --upgrade pip 提示"PermissionError: [WinError 5] 拒绝访问",如下图,由于更新的用户权限不够,换成管理员运行 ...

  3. Docker4Windows -- 从外部(非本机host)访问 由docker container运行的程序

    背景 当我们在windows 上面运行docker container的时候,我们需要借助于模拟器(例如,Virtual box/Hyper V),她的目的主要是在我们的windows系统上面模拟出一 ...

  4. 微信小程序开发之获取openid及用户信息

    1. 获取openid 1.1 获取code 调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的会话密钥(session_key).用户数据的加解 ...

  5. qt添加资源文件方法

    File->new file->file and classes->Qt->qt resources->   add name   add->add prefix- ...

  6. javaWeb学习总结(11)- 监听器(Listener)学习

    一.监听器介绍 1.1.监听器的概念 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动.监听器其 实就是一个实现特定接口的普 ...

  7. superagent和request结果转换区别

    superagent和request结果转换区别 使用superagent和request抓取页面内容时,两个抓取内容都可以被cheerio进行处理.但处理时有个细微差别. 1. 使用superage ...

  8. 为什么说上ERP找死?

    长期以来,管理软件领域流行着这样一句话“不上ERP等死,上了ERP找死”.根据为十九年管理软件开发的经验来看,“不上ERP等死”这句话不敢苟同,但“上了ERP找死”这句话倒有些同感.上ERP虽然不一定 ...

  9. hdu4638

    hdu4638 题意 给定一个序列,序列由1-N个元素全排列而成,求任意区间可组成的连续的段数,比如[1,2,4]两段{[1,2],[4]},[1,2,4,3]一段{[1,2,3,4]}. 对于查询的 ...

  10. 06.04 html

    域名跟ip地址是绑定的看某个网站的ip地址 可以ping网址知道ip地址   最终访问的都是ip地址  每个ip地址都对应了一个空间(一块区域 要用来存储内容)网页访问的原理: 客户端电脑发动请求到服 ...