转[WinForm] VS2010发布、打包安装程序(超全超详细)
1、 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”:
命名为:Setup1 。
这是在VS2010中将有三个文件夹,
1.“应用程序文件夹”表示要安装的应用程序需要添加的文件;
2.“用户的‘程序’菜单”表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe;
3.“用户桌面”表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式。
2、 应用程序文件夹中点右键 添加文件:表示添加要打包的文件;
添加的文件一般是已经编译过 应用程序的debug目录下的文件;
如果debug 下面有子文件夹 则需要“添加文件夹”,例如:data
然后把对应的子文件里的内容添加到此文件夹中;
把需要创建程序快捷方式的图标也添加进来:后缀名为:ico
3、 在创建的项目名称(Setup1)上点击右键:属性
选择系统必备:
然后选择.NET的版本,和Windows Installer3.1(可选项)
选择:“从与我应用程序相同的位置下载系统必备组件”
这样安装包就会打包.NET FrameWork ,在安装时不会从网上下载.NET FrameWork组件;但是安装包会比较大。
VS2010发布.NET2.0的版本,在创建安装程序时,需要设置启动条件:在项目名称(setup1)上,点击右键选择“视图”à“启动条件”:
然后VS2010会创建如下文件:
在“启动条件”中 , 点击“.NET Framework”在Version上面选择.NET Framework 2.0;
这样.NET Framework 2.0上创建的项目在安装时,就不会安装.NET3.5或其他版本,
也不会重启(解决.NET 2.0 创建的项目,安装.NET FrameWork3.5的问题)。
4、 设置安装文件的目录(路径):
创建的项目名称(setup1)点击左键(不是右键),在属性中设置参数如下图:
其中Author 为作者;Manufacturer为公司名称;ProductName为应用程序的名字;
例如我们设置为:BeyondKKO;Manufacturer:自由公司;ProductName:串口测试。
把InstallAllUsers 设置为True 。
(这样在“控制面板”程序中会显示公司的名称;
在安装时会默认为“任何人”,否则默认为“只有我”)
在应用程序上点击左键,如下图:第一个为系统主目录(默认C:\Programe),第二个为公司名([Manufacturer]),第三个为应用程序名称,这样在安装时就会创建两层的文件路径。需要删除DefaultLocation中的:[Manufacturer] 。删除后只有应用程序的名称。
5、 创建应用程序图标与卸载程序:
A.“在应用程序文件夹”中的.exe文件中,点击右键,创建快捷方式:
重命名“串口测试程序”,然后点击右键属性:选择Icon
双击进入选择我们之前添加的“MiXer.ico”
确定后,拖动此快捷方式到“用户桌面”
B. “用户的‘程序’菜单” 中添加一个文件夹,命名为:“串口程序”
然后同样的方式创建TEXTCOM.exe一个快捷方式(“串口测试程序”),拖动到“串口程序”中;
然后给.NET应用程序创建一个卸载程序:
在“应用程序文件夹”中添加:C:Windows\System32\Msiexec.exe
右键创建快捷方式,重命名为:卸载,把此快捷方式拖动到“串口程序”;
点击项目名称(Setup1),在属性中找到:ProductCode
复制此ProductCode ,粘贴到“卸载”快捷方式的Arguments属性,前面加/x空格
6、 完成以上步骤,就可以生成解决方案了。
7、 生成解决方案后,在debug文件夹中就是我们需要的安装包。
8、 安装完在开始菜单中有“串口程序”的文件夹,里面有我们创建的两个快捷方式;
桌面上也有快捷方式。
生成文件生成好,但会发现,里面有生成好几个文件夹,和.exe,.msi等好几个文件,看起来相当的麻烦,而且,如果 你有两个.exe文件要安装的话,这是相当麻烦 的一件事,难道我们要把文件一个一个的安装,带好几个文件去安装 一个软件,太麻烦 了点,幸好 ,winRar帮发我们一个大忙,他可以帮我们把好几个文件压缩成一个,并且 能提供解压后自动运行的功能 ,下面,我们来看看具体操作步骤!
1、首先,选取所有想要压缩和安装 的文件,右键,添加到压缩文件;
2、 选择创建自解压式压缩文件
3、选择高级--自解压选项--模式,选择解包临时文件夹
4、选择设置提取后运行 填入你要运行安装的文件,每行一个,可以有多个,也可是是不同的文件。
5、还有一些其他 设置如选择图标 和文本可以设置文本等,和解压时的图标 等!!!
转载于:https://www.cnblogs.com/chcong/p/4485544.html
转[WinForm] VS2010发布、打包安装程序(超全超详细)相关推荐
- c#开发的漂亮高仿QQ打包安装程序界面
c#开发的触摸屏打包安装程序:仿QQ登录密码输入框.自定义软件键盘:c#开发的仿QQ2013界面用户美化打包程序:整个程序使用vs2010开发:支持所有程序打包安装:源代码开放,可自己修改效果图如下: ...
- c#打包安装程序默认安装路径设置
c#打包安装程序默认安装路径设置
- 使用Inno Setup为Qt打包安装程序
参考博客1:go1 参考博客2:go2 使用打包后生成的安装程序进行安装时,可能会出现找不到 platforms文件夹的提示. 这个参考博客2,其中有这样一张图片: 按此炮制即可. 其他的几种打包安装 ...
- NSIS(Nullsoft Scriptable Install System)开源安装程序制作软件使用详细步骤(Windows系统下)
NSIS(Nullsoft Scriptable Install System)开源安装程序制作软件使用详细步骤(Windows系统下)安装包制作 1.软件详情 软件版本 版本说明 翻译跟进 2.教程 ...
- linux命令行开头是sh,shell脚本语言的使用(超全超详细)
1.shell的概述 shell 是一种脚本语言 脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译) shell 既是应用程序 又 ...
- ensp启动设备蓝屏_超全超详细的电脑蓝屏问题解决方案汇总
生活太难了!每天搬砖已经够不容易,电脑还作妖: 设计图还差最后一个图层,蓝屏了!!财务工资表格马上统计完,蓝屏了?!熬了一宿马上写完1万字稿件,蓝屏了- 今天,我就带大家轻松搞定蓝屏. 什么是蓝屏 蓝 ...
- linux中写脚本一般用语言,shell脚本语言的使用(超全超详细)
1.shell的概述 shell 是一种脚本语言 脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译) shell 既是应用程序 又 ...
- eNSP的安装【最全最详细教程】
eNSP的安装 [最全最详细教程] 目录 eNSP的安装 [最全最详细教程] 一.下载软件和插件 二.VirtualBox安装步骤 三.WinPcap安装步骤 四.Wireshark安装步骤 五.eN ...
- 超全超详细的HTTP状态码大全
超全超详细的HTTP状态码大全 本部分余下的内容会详细地介绍 HTTP 1.1中的状态码.这些状态码被分为五大类: 100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. ...
最新文章
- python多页网站目录_python 爬取页面所有的url
- List-style-type属性失效
- ajax img标签,如何将属性添加到img标签以用于ajax调用
- c语言入口及出口参数说明,麻烦帮忙指出一下这个函数的入口参数和出口参数呀!...
- 计算机科学825,2017年河南大学计算机与信息工程学院825专业基础课(软件工程导论、数据结构)之数据结构考研题库...
- Kenai.com 将与 java.net 合并
- WC2019 自闭记
- salt java 日志 乱码_Saltstack执行cmd.run重启tomcat后出现日志乱码(15)
- Java Class的热替换 自定义ClassLoader加载.class
- 特斯拉得克萨斯超级工厂正式开业 计划明年开始生产电动皮卡
- Hive中表名、别名的限制
- mysql实现不重复插入数据
- UEFI开发探索22 – 环境搭建3(使用UDK2018搭建)
- 基于R语言的地理探测器实现与问题研究
- 时钟芯片RX8025T的电源设计
- 基于AT91SAM7se512的串口通讯的实现
- 人脸识别技术流程、分析算法及重要技术发展
- jks文件转换keystore
- 通过输入ab包名和后缀名自动添加或修改ab包名(同一文件夹下的所有文夹都会被修改包括子文件夹)
- 朱慕慕:ui设计包括什么内容,ui设计包括有几部分内容?
热门文章
- const的使用CC++
- python中怎么做分组问题_详解Python中的分组函数groupby和itertools)
- json解析 子类和父类同名属性如何赋值_想学变量的解构赋值?看完这一篇就够了...
- 文本框换行_多行文本框的认识以及代码详解
- 数据结构和算法分析:第一章 引论
- php 工商银行公众号支付代码_微信支付PHP SDK —— 公众号支付代码详解
- MySQL乱码问题解决步骤详解
- Go语言实例化结构体——为结构体分配内存并初始化
- BZOJ4555[HEOI2016/TJOI2016]求和
- 剑指Spring源码(一)