[WinForm] VS2010发布、打包安装程序
最近用到了VS2010WinForm的程序打包功能,网上发现一篇好帖,在此记录以供日后他人之需。
原文链接地址:http://www.mamicode.com/info-detail-2453.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、 安装完在开始菜单中有“串口程序”的文件夹,里面有我们创建的两个快捷方式;

桌面上也有快捷方式。

[WinForm] VS2010发布、打包安装程序的更多相关文章
- sencha touch 扩展篇之将sencha touch打包成安装程序(上)- 使用sencha cmd打包安装程序
由于最近一直忙着android原生的开发,很久没有更新博客了,官方的sencha cmd工具功能非常强大,创建项目,压缩项目,打包安装程序都能轻松实现,这讲我们就给大家介绍下如何使用sencha cm ...
- <转>[WinForm] VS2010发布、打包安装程序(超全超详细)
1. 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, 1.“应 ...
- [WinForm] VS2010发布、打包安装程序(超全超详细)
1. 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, 1.“应 ...
- WinForm 之 VS2010发布、打包安装程序
第一步.在vs2010 打开要打包的应用程序解决方案,右键“ 解决方案 ” → “ 添加 ” → “ 新建项目 ” → “ 其他项目类型 ” → “ 安装和部署 ” → “ Visual Studio ...
- 003. vs2010发布、打包安装程序(转)
本资源来自于网络 1. 在vs2010 选择“新建项目”à“ 其他项目类型”à“ Visual Studio Installerà “安装项目”: 命名为:Setup1 . 这是在VS2010中将有 ...
- VS2010发布、打包安装程序
1. 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, 1.“应 ...
- VS2010发布、打包安装程序(超全超详细)
1. 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, 1.“应 ...
- C#---vs2010发布、打包安装程序程序(转载)
转载地址:点击打开 1. 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三 ...
- 【转】VS2010发布、打包安装程序(超全超详细)
1. 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, 1.“应 ...
随机推荐
- Hangfire项目使用
基本介绍: hangfire 主要用于根据设置时间来执行任务,间隔几分钟执行一次,每天几点钟执行一次,如此执行任务. 方法: backgroundjob.enqueue(()=>"要执 ...
- linux环境初始化 用户问题
linux 初始化系统配置(centos6) (2013-04-03 13:19:15) 转载▼ 分类: linux 这篇博文是从别处转来的,原文地址http://zhoualine.iteye. ...
- MR21、MR22和CK24的区别
MR21和CK24都是用于修改物料标准价,但两者功能和用法上有所区别:MR21是直接更改单价, CK24是在CK11N或CK40N价格评估的基础上的价格核发, CK24记录价格评估, 价格评估在做 ...
- CSS+Javascript
今天做了一个简单的CSS和Javascript的调用,发现CSS和Javascript系统的来写还真是蛮方便的. 1.先建一个CSS文件和一个JS文件 2.在jsp中调用 <link type= ...
- AndroidStudio NDK配置使用以及错误集合
Error:Execution failed for task ':app:transformNative_libsWithStripDebugSymbolForDebug'. > java.l ...
- 网上找的Gif图片解析类
这个是搜到的大部分的答案 下面贴出来代码 public class MyGifView extends View { private long movieStart; private Movie mo ...
- 我需要在Web上完成一个图片上传的功能(+2)
增加一个页面,用于判断传参是否正确. @{ //判断是否具备会员参数 if (UrlData.Count > 0) { Session["Arg ...
- 转网页WB.ExecWB控件打印方法
网页WB.ExecWB控件打印方法 2010-02-01 12:48 代码: <table width="100%" cellpadding="1" on ...
- WinForm 菜单和工具栏
菜单和工具栏: 1.MenuStrip:顶部菜单 优先级最高,默认在最顶部 (1)分割线:a.打一个减号 “-” b.右键插入Separator (2)点击事件:每 ...
- bzoj2006: [NOI2010]超级钢琴
题意:给一个序列(n<=500000),要求选定k个不同区间,使得区间长度在L,R之间,并使得k个区间和之和最大,输出这个最大值. 刚拿到题的时候想的是,对于每个点,如果以它开头,那么之后的L- ...