VS2010程序打包
今天,小白就来给各位做个打包的新手教程,此文仅是为了记录自己的学习过程与方便其他初次接触的打包的朋友们总结一下,希望大家能够受用。废话不多说,下面我们就来讲解下打包工程。首先,在项目中添加一个安装项目,然后可以自定义最终的Exe执行名称,如下图。
接下来,在应用程序文件夹中右键,选择必要的文件。(将你你已经生成并运行的程序找到如标记文件夹下的文件,全部添加进去,包括数据库,配置文件等内容。但是要注意将文件夹建立的相对应,文件结构一致)
同时,把需要创建程序快捷方式的图标也添加进来:后缀名为:ico

接下来,在创建的项目名称(Setup1)上点击右键:属性,然后接下来选择系统必备,即选择.NET的版本,和Windows Installer3.1(可选项),并 选择:“从与我应用程序相同的位置下载系统必备组件”,这样安装包就会打包.NET FrameWork ,在安装时不会从网上下载.NET FrameWork组件;但是安装包会比较大。(3.5的尤其大!因为他包括了2.0,3.0,3.5的.net framework环境),在vs2010下面,如果要打包.net framework 2.0,可以选择3.5,里面就自动包含了2.0的环境,但是这样会照成安装包200多M,如果要解决这个问题,可以从安装过VS2005或者vs2008的电脑的安装目录如:C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages 下找到dotnetfx文件夹 copy到VS2010安装目录如:C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages下。这样在系统必备里面就可以选择2.0的环境了。

见链接:http://www.cnblogs.com/wangqc/p/vs2010framework3_5sp1.html,接下来,点击应用程序文件夹,可以通过设置参数来设置安装文件的目录(路径),如下图。第一个为系统主目录(默认C:\Programe),第二个为公司名([Manufacturer]),第三个为应用程序名称,这样在安装时就会创建两层的文件路径。需要删除DefaultLocation中的:[Manufacturer] 。删除后只有应用程序的名称。

然后左击点击项目名称(setup1),在属性中设置参数如下图:其中Author 为作者;Manufacturer为公司名称;ProductName为应用程序的名字;
例如我们设置为:BeyondKKO;Manufacturer:自由公司;ProductName:串口测试。把InstallAllUsers 设置为True 。(这样在“控制面板”程序中会显示公司的名称;
在安装时会默认为“任何人”,否则默认为“只有我”)

接下来就轮到创建应用程序图标与在安装程序中加入写在功能了。首先要为主程序创建快捷方式,即在应用程序文件夹”中的.exe文件中,点击右键,创建快捷方式:

然后将新建号的快捷方式重命名“前台收银系统”,然后点击右键属性:选择Icon

确定后,拖动此设置好的快捷方式到“用户桌面”,然后在用户的‘程序’菜单”中添加一个文件夹,命名为:“前台收银系统”,然后同样的方式创建一个快捷方式,拖动到“前台收银系统”中;
然后给.NET应用程序创建一个卸载程序:在“应用程序文件夹”中添加:C:Windows\System32\Msiexec.exe,右键创建快捷方式,重命名为:卸载,把此快捷方式拖动到“前台收银系统”中;


点击项目名称(Setup1),在属性中找到:ProductCode,复制此ProductCode ,粘贴到“卸载”快捷方式的Arguments属性,前面加/x空格


完成以上步骤,就可以生成解决方案了。生成解决方案后,在debug文件夹中就是我们需要的安装包.该文件夹下面的exe文件就是可执行安装文件了。
如果上面有什么讲的不明白的地方,可以qq联系我,可以看联系方式。
VS2010程序打包的更多相关文章
- VS2010程序打包操作(超详细的)
		
1. 在vs2010 选择“新建项目”----“其他项目类型”----“Visual Studio Installerà“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, ...
 - VS2010程序打包操作
		
摘录:http://www.cnblogs.com/daban/archive/2012/06/27/2565449.html 1. 在vs2010 选择“新建项目”----“其他项目类型”-- ...
 - VS2010程序打包操作--超详细
		
1. 在vs2010 选择“新建项目”----“其他项目类型”----“Visual Studio Installerà“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, ...
 - VS2010程序打包操作(超详细的)转
		
1. 在vs2010 选择“新建项目”----“其他项目类型”----“Visual Studio Installerà“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, ...
 - VS2010程序打包操作(结合图片详细讲解)
		
附视频教程:http://www.cnblogs.com/mengdesen/archive/2011/06/14/2080312.html 1. 在vs2010 选择“新建项目”----“其他项 ...
 - VS2010开发程序打包详解
		
VS2010开发程序打包详解 转自:http://blog.sina.com.cn/s/blog_473b385101019ufr.html 首先打开已经完成的工程,如图: 下面开始制作安装程序包. ...
 - C#windows应用程序打包(VS2010+SQLServer2008)
		
C#windows应用程序打包(VS2010+SQLServer2008) 开发环境:VS2010+SQL Server 2008 操作系统:win7_32bit 旗舰版 开发语言:C# 项目名称:学 ...
 - 以向VS 程序打包集成自动写入注册表功能为例,介绍如何实现自由控制安装过程
		
最近由于项目部署时需要更灵活的控制程序安装的流程以及自定义安装行为,特意研究了一下VS程序打包,把解决办法和大家分享一下. 以VS2010为例: 这是一个已经设置好最基本的Visual Studio ...
 - VS2012程序打包部署详解
		
VS2012没有自带打包工具,所以要先下载并安装一个打包工具.我采用微软提供的打包工具: InstallShield2015LimitedEdition.下载地址:https://msdn.micr ...
 
随机推荐
- epoll 实际使用
			
void DataHandle::recv() { sleep(2); _data_router -> readInfoHw(&mInfo); ALOGD(SYS ...
 - 蓝牙4.0(包含BLE)简介
			
1. BLE (低功耗蓝牙)简介 国际蓝牙联盟( BT-SIG,TI 是 企业成员之一)通过的一个标准蓝牙无线协议. 主要的新特性是在蓝牙标准版本上添加了4.0 蓝牙规范 (2010 年6 月 ...
 - Linq中常用的方法
			
这几天闲着也是闲着,就仔细的研究了一下Linq的语法,还有他的一些扩展方法的使用. 下面是一些常用的扩展方法. Aggregate 自定义的聚合计算 All 检测序列中所有元素是否都满足指定的条件 A ...
 - QTextCodec::makeDecoder函数,plugins需要是动态链接库
			
QT中的QString内容使用Unicode作为文本编码.但是实际系统中通常采用的是其他编码,例如GBK,utf8等.为了便于兼容这些格式,QT中还设置了两个字符串类型: QCString类: C类型 ...
 - springmvc返回值、数据写到页面、表单提交、ajax、重定向
			
实验是在前一篇文章的项目上做的: 数据写到页面 后台往前台传数据 TestController添加 /** * 方法的返回值采用ModelAndView, new ModelAndView(" ...
 - golang  json  string  remove  field
			
golang中如何移除多余的field? 同样是json结构,不能像js 的json一样 delete key 直接移除,网上找了很多相似的,还没找到解决办法,先mark一下 感谢大神提供解决思路,设 ...
 - C++经典编程题#2:大象喝水
			
总时间限制: 1000ms 内存限制: 65536kB 描述 一只大象口渴了,要喝20升水才能解渴,但现在只有一个深h厘米,底面半径为r厘米的小圆桶(h和r都是整数).问大象至少要喝多少桶水才会解 ...
 - imx6 framebuffer 分析
			
分析imx6 framebuffer设备和驱动的注册过程. Tony Liu, 2016-8-31, Shenzhen 相关文件: arch/arm/mach-mx6/board-mx6q_sabre ...
 - ie8兼容border-radius方法
			
<!doctype html><html> <head> <meta charset="utf-8" /> &l ...
 - :first与:first-child的区别
			
说的简单,:first表示单个元素,:fisrt-child表示的多个元素(集合). 如果追求深一点的话, 1.$(:first).css()表示全局或局部全局的第一个,也就是表示单个元素 2.$(: ...