摘录:http://www.cnblogs.com/daban/archive/2012/06/27/2565449.html

 

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、  安装完在开始菜单中有“串口程序”的文件夹,里面有我们创建的两个快捷方式;

桌面上也有快捷方式。

(完)

经过自己的测试,发现只有把Debug文件夹整个都发给别的人,别人才能正常安装,否则就会出现错误。

VS2010程序打包操作的更多相关文章

  1. VS2010程序打包操作(超详细的)

    1.  在vs2010 选择“新建项目”----“其他项目类型”----“Visual Studio Installerà“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, ...

  2. VS2010程序打包操作--超详细

    1.  在vs2010 选择“新建项目”----“其他项目类型”----“Visual Studio Installerà“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, ...

  3. VS2010程序打包操作(超详细的)转

    1.  在vs2010 选择“新建项目”----“其他项目类型”----“Visual Studio Installerà“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, ...

  4. VS2010程序打包操作(结合图片详细讲解)

     附视频教程:http://www.cnblogs.com/mengdesen/archive/2011/06/14/2080312.html 1.  在vs2010 选择“新建项目”----“其他项 ...

  5. VS2010安装项目程序打包操作详解

    (转自:http://blog.sina.com.cn/s/blog_74f702e60101at62.html) 1.打开VS2010,选择 新建项目---其他项目类型---Visual Studi ...

  6. VS2010程序打包

    今天,小白就来给各位做个打包的新手教程,此文仅是为了记录自己的学习过程与方便其他初次接触的打包的朋友们总结一下,希望大家能够受用.废话不多说,下面我们就来讲解下打包工程.首先,在项目中添加一个安装项目 ...

  7. C#windows应用程序打包(VS2010+SQLServer2008)

    C#windows应用程序打包(VS2010+SQLServer2008) 开发环境:VS2010+SQL Server 2008 操作系统:win7_32bit 旗舰版 开发语言:C# 项目名称:学 ...

  8. VS2010开发程序打包详解

    VS2010开发程序打包详解 转自:http://blog.sina.com.cn/s/blog_473b385101019ufr.html 首先打开已经完成的工程,如图: 下面开始制作安装程序包. ...

  9. 以向VS 程序打包集成自动写入注册表功能为例,介绍如何实现自由控制安装过程

    最近由于项目部署时需要更灵活的控制程序安装的流程以及自定义安装行为,特意研究了一下VS程序打包,把解决办法和大家分享一下. 以VS2010为例: 这是一个已经设置好最基本的Visual Studio ...

随机推荐

  1. [Android学习笔记]jackson库的使用

    Jackson库一般用于序列化和反序列化操作,通常会涉及到的操作是: 1. Java Object -> Json String 2. Java Object -> Xml String ...

  2. hdu 4963(中途相遇法)

    题目链接:Dividing a String 题意:给定一个2*n(n<=20)的字符串及每个位置的字符包含的权重,求将该字符串分成两个子序列S1.T1,要求S1=T1且abs(weight1- ...

  3. iOS 史上最全的图片压缩方法集合

    做上传图片功能,特别是类似于微信,QQ里面,公布9张图片, 少不了碰到一个问题,就是图片压缩问题,当然我也遇到了. 我研究了这个问题,发现网上普遍的方法是例如以下 //压缩图片质量 +(UIImage ...

  4. Android在onInterceptTouchEvent与onTouchEvent

    onInterceptTouchEvent: onInterceptTouchEvent是在ViewGroup里面定义的.Android中的layout布局类一般都是继承此类的.onIntercept ...

  5. python - ImportError: No module named http.cookies error when installing cherrypy 3.2 - Stack Overflow

    python - ImportError: No module named http.cookies error when installing cherrypy 3.2 - Stack Overfl ...

  6. CC++刚開始学习的人编程教程(9) Windows8.1安装VS2013并捆绑QT与编程助手

    我们在Windows8.1安装VS2013并捆绑QT与编程助手须要下列文件. 2. 在虚拟机中开启Windows8.1 3.然后选择VS2013的安装镜像. 4.将镜像拷贝到虚拟机. 5.我们装载这个 ...

  7. premake 使用clang替换gcc

    接着前文:premake在Ubuntu和GCC环境下创建简单的C++工程 由于clang支持gcc所有参数,所以使得在premake中替换gcc变得很简单.基本上就是通过传递参数或者设置环境变量的方式 ...

  8. Java垃圾回收机制以及内存泄露

    1.Java的内存泄露介绍 首先明白一下内存泄露的概念:内存泄露是指程序执行过程动态分配了内存,可是在程序结束的时候这块内存没有被释放,从而导致这块内存不可用,这就是内存 泄露,重新启动计算机能够解决 ...

  9. python import media模块

    安装PyGraphics包 (python import media模块)有一段代码要import media,打开python自带的IDLE,输入: >>>import media ...

  10. Linux系统部署规范v1.0

    Linux系统部署规范v1.0 目的: 1.尽可能减少线上操作: 2.尽可能实现自动化部署: 3.尽可能减少安装服务和启动的服务: 4.尽可能使用安全协议提供服务: 5.尽可能让业务系统单一: 6.尽 ...