C# winform程序怎么打包成安装项目(VS2010图解)
作为研发人员,在本机上开发的winform、wpf或者控制台程序需要发给其他人测试时候,一般需要对其进行打包生成setup安装文件,根据网上查找的资料并结合自己打包成功,记录如下:
注:本程序是一个利用winform实现的客户端程序,解决方案为
第一步,右击“解决方案XXX”->添加“新建项目”-》“其他项目类型”-》“安装和部署”-》“安装向导”


然后点击下一步:

这里保持默认即可“为WIndows应用程序创建一个安装程序”-》

选择“主输出来自**(项目名称:XXX)”(注意:如果有多个项目合成一个解决方案也要选择,就是都选择主输出来自XXX)——》

这里我们没有额外附件添加,所以直接点击下一步即可,“完成”即可。

到这里第一部分完成,接下来就是修改属性了。

右击解决方案中的setup,选择“属性”-》

第二步,点击“系统必备”-》

单选按钮中,选择“从与我的应用程序相同的位置下载系统必备组件”-》确定
第三步,点击,左边
的“应用程序文件夹”-》
从右侧属性列表中,修改属性DefaultLocation“[ProgramFilesFolder][Manufacturer]\[ProductName]”为:[ProgramFilesFolder]\[ProductName],否则安装路径不允许用户选择。
右击”应用程序文件夹“,点击”添加“,点击”文件“或(有文件夹)”文件夹”。将你的Release目录下面的文件全部(软件需要的文件夹、dll等)添加进来,有文件夹的需要在应用程序文件夹目录下新建子文件夹,同时文件夹里有文件的也需要添加进去。(非常重要)

下图为本人添加好的:

第四步,点击“应用程序文件夹”,右击右边的
“主输出来自XXX(..”创建其快捷方式(快捷方式可以改名)(注意:这里的主输出是指最终在你release版本中,程序能够产生exe运行文件的主输出)-》
将快捷方式拖拽到“用户的程序菜单”和“用户桌面”,这样安装完成后,就会在桌面和用户的程序菜单创建相应的图标。
第五步,创建卸载程序。右击”应用程序文件夹“,点击”添加“,选择”文件“,然后将"C:\Windows\System32" 下面的”msiexec.exe“(这个msiexec.exe文件最好选择Win7系统下的,这样可以兼容Win10系统)文件给添加进来,如果找不到,你可以直接搜。当然,你也可以再给msiexec.exe创建一个快捷方式命名为”UnInstall“。


命名了快捷方式之后,将Setup属性(点击解决方案里面的setup弹出属性)ProductCode拷贝到Uninstall属性的Arguments里面:
同时在前头加上 ”/X “,注意:x后面有一个空格。


第六步,添加程序图标,右键点击“用户桌面”中的快捷方式,然后再其属性中找到,Icon属性,浏览选取你所要添加的图标,记住,应该先将图标放在打包的文件夹或应用程序文件夹中,要不然无法进行指定。

第七步,右击setup项目名称,选择“生成”,然后到,生成的目录下拷贝出setup.exe即可安装。
进行到第七步时,用vs为winform程序打包就已经完成了,不过此时会在安装程序的Debug文件夹生成2个文件夹、1个.exe文件和1个.msi文件,而.exe安装时,又依赖于.msi文件,另外两个文件夹是对应的 .NET Framework 组件,
这个时候给客户安装时拷贝过去的内容较多,也容易安装出错,如果把这些安装内容都打在一起,形成一个.exe 文件,就比较方便了,此时,可以用winrar的自解压格式压缩文件来实现,实现过程:
1>将要打在一起的文件及文件夹全部选中,右键 →“添加到压缩文件”,在打开的压缩面板的“常规”选项卡中勾选“创建自解压格式压缩文件”,此时会发现默认的压缩文件名编程了 .exe 后缀名了;压缩方式最好选择“存储”,这样打包后的程序会很快解压缩并运行。如图:

2>设置运行文件:再切换到“高级”选项卡,点击“自解压选项”,“常规”里设置程序解压后运行的文件(这个很重要)如图:

或者遇到这种情况,那么提取后运行(点击安装时运行)和提取前运行(生成.exe文件时运行,将压缩成的.exe文件安装包的图标立马换掉,不会等到点击安装时更换)都要加上要运行的exe文件

3>设置安装程序文件的图标:
切换到“文本和图标”,点击“从文件加载自解压文件图标”后的“浏览”按钮,选择安装程序文件的图标,如图:

先不要着急点击“确定”,还有最后一项设置~ ~ ~
4>切换到“模式”下,勾选“解包到临时文件夹”和“隐藏全部”,再切换到“更新”下,勾选“覆盖所有文件”,一路点击“确定”,大功告成!!
完成了!
“项目名.exe” 就是最中生成的打包文件,直接点击运行就行了!!
以上就是本人结合网上资料和其他博友文章,亲身实践成功的C# Winform程序打包成安装项目的心得,并且里面还加入了本人碰到的一些注意事项,特地写成文章分享给大家。
C# winform程序怎么打包成安装项目(VS2010图解)的更多相关文章
- C# winform程序怎么打包成安装项目(图解)
1:新建安装部署项目 打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图) 此主题相关图片如下: 2:安装向导 关闭后打开安 ...
- C# 程序打包成安装项目
Xaml设置图标https://blog.csdn.net/u014234260/article/details/73648649 winform程序控制面板中卸载显示图标https://blog.c ...
- 黄聪:C#Winform程序如何发布并自动升级(图解)
有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布关于打包的大家可以看我的文章C# winform程序怎么打包成安装项目(图解)其实打包是打包,发 ...
- 【转】C#Winform程序如何发布并自动升级(图解)
有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布关于打包的大家可以看我的文章C# winform程序怎么打包成安装项目(图解)其实打包是打包,发 ...
- C#Winform程序如何发布并自动升级(图解)
C#Winform程序如何发布并自动升级(图解) 有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布 关于打包的大家可以看我的文章C# w ...
- C# winform 打包成安装程序(exe)
C# 打包成安装程序 1.扩展-> 安装扩展 联网搜索 install 2.新建安装程序项目 3.添加程序 4.添加打包需要的文件 5. 添加x86与x64文件夹,并添加s ...
- sencha touch打包成安装程序
为了更好地向大家演示如何打包一个sencha touch的项目,我们用sencha cmd创建一个演示项目,如果你的sencha cmd环境还没有配置,请参照 sencha touch 入门系列 (二 ...
- sencha touch 扩展篇之将sencha touch打包成安装程序(上)- 使用sencha cmd打包安装程序
由于最近一直忙着android原生的开发,很久没有更新博客了,官方的sencha cmd工具功能非常强大,创建项目,压缩项目,打包安装程序都能轻松实现,这讲我们就给大家介绍下如何使用sencha cm ...
- Expo大作战(十八)--expo如何发布成独立应用程序,打包成apk或者ipa,发布到对应应用商店
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
随机推荐
- Android学习笔记(2):build.grandle的常用设置
1 > java开发中有两个大名鼎鼎的项目构建ANT.Maven. 2 > Google推荐使用的Android Studio是采用Gradle来构建项目的.Gradle是一个非常先进的项 ...
- SSAS 后端数据库访问模块中存在错误。 为绑定指定的大小太小,导致一个或多个列值被截断。
在处理AS的过程中报错如上,经排查发现原因为数据库 “工号” 字段长度过长导致. 因为我的字段内容基本是人名加工号:张三/1001 不曾想有用户录入非正常数据 :张三/100/1001 这样导致我截取 ...
- Jenkins可用环境变量列表以及环境变量的使用(Shell/Command/Maven/Ant)
一.可用环境变量列表(以下来自google翻译): BRANCH_NAME 对于多分支项目,这将被设置为正在构建的分支的名称,例如,如果您希望从而master不是从特征分支部署到生产. CHANGE_ ...
- 使用bat脚本部署hexo到coding和github
因项目的不同适当的改造吧,本文以hexo为例. 拉取coding.net的代码和github的代码到本地 确保代码能够正常的运行,commit,push 在项目的目录外新建一个push.bat文件 快 ...
- Ubuntu16.04设置静态ip
给Ubuntu系统配置一个静态IP ,方法如下 : 1. sudo vi /etc/network/interfaces (本人更推荐使用 sudo gedit /etc/network/inter ...
- 细说MySQL数据库操作
目录 基本语法: 字符集和校验规则 字符集 校验规则 校验规则的影响 数据库操作相关指令 查询数据库版本 显示数据库语句 显示数据库创建语句 数据库删除语句 查看当前数据库有多少个用户在操作 基本语法 ...
- 小程序页面跳转传参-this和that的区别-登录流程-下拉菜单-实现画布自适应各种手机尺寸
小程序页面跳转传参 根目录下的 app.json 文件 页面文件的路径.窗口表现.设置网络超时时间.设置多 tab { "pages": [ "pages/index/i ...
- centos 安装setup命令的方法
yum -y install setuptool 安装setup命令工具 yum -y install ntsysv 安装setup工具配套的系统服务组件 yum -y install system- ...
- postgresql 日志配置
Postgresql日志收集 PG安装完成后默认不会记录日志,必须修改对应的(${PGDATA}/postgresql.conf)配置才可以,这里只介绍常用的日志配置. 1.logging_col ...
- redux源码学习笔记 - createStore
本篇是学习redux源码的一些记录,学习的redux版本是^4.0.1. 在页面开发时,需要管理很多状态(state),比如服务器响应,缓存数据,UI状态等等···当页面的庞大时,状态就会变的混乱.r ...