因为业务需要,项目中需要把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. Python变量运算字符串等

    一,作用域 操作 name = 'liuyueming' if 1==1:... print name... liuyueming 两次回车执行 修改代码 >>> if 1==1:. ...

  2. java中一个重要思想:面向对象

    面向对象: 1, 面向过程的思想(合适的方法出现在合适的类里面) 准备去一个地方: 先买车, 挂牌, 开导航, 踩油门, 过黄河, 穿越珠穆朗玛峰... 2, 面向对象的思想 我开着车去, 车怎么去随 ...

  3. docker安装hadoop集群

    docker安装hadoop集群?图啥呢?不图啥,就是图好玩.本篇博客主要是来教大家如何搭建一个docker的hadoop集群.不要问 为什么我要做这么无聊的事情,答案你也许知道,因为没有女票.... ...

  4. IE6.0升级的两种通用代码

    随着W3C组织开始针对新的Web标准提案日期的到来,HTML5以及CSS3的新时代即将到来,同时微软的Win8以及IE10的出现也带给了这个世界奇妙的结构. 微软早在不再给WinXP做技术支持时,IE ...

  5. 连锁反应confirm

    <script> function del(){ var flag = confirm("你真要删除么?"); if( flag ){ alert("我已被你 ...

  6. Appium 1.6.4 环境搭建流程(Java, Android+IOS, Windows+Mac)

    Appium1.6.4已经出来一段时间了,快速给大家串一下怎么搭建,贴了下载链接 1 基础环境: Windows + Mac: Java JDK 1.8+ (需配置环境变量),Appium1.6.4的 ...

  7. Word Ladder II 2015年6月4日

    Given two words (start and end), and a dictionary, find all shortest transformation sequence(s) from ...

  8. ACL配置

    标准acl 1-99:抓源地址 扩展acl 100-199:抓源地址,目标地址,具体数据包(如:icmp,tcp,udp,ospf,ip等) 实验内容 1:ACL实现禁止192.168.1.0网段所有 ...

  9. WPF 简易的跑马灯效果

    最近项目上要用到跑马灯的效果,和网上不太相同的是,网上大部分都是连续的,而我们要求的是不连续的. 也就是是,界面上就展示4项(展示项数可变),如果有7项要展示的话,则不断的在4个空格里左跳,当然,衔接 ...

  10. Java经典编程题50道之八

    求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制. public class Example ...