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个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
随机推荐
- php Glob() 使用 查找文件:
1. 取得所有的后缀为PHP的文件(加上路径)$file=glob('D:/phpStudy/WWW/prictue/*.php');print_r($file);//如果没有指定文件夹的话就是显示出 ...
- JS全局变量与局部变量
一句话概括:在函数外声明的变量都为全局变量,在函数内声明的为局部变量. 一.局部变量和全局变量重名会覆盖全局变量 var a = 1; function test1() { var a = 2; al ...
- day_3各种数据类型与各种运算符
首先我们复习一下昨天的内容 1:语言的分类: --有三种 机器语言,汇编语言,高级语言 运行的效率是机器语言最高 开发效率 是高级语言最高 2:计算机由五大部分组成:控制器+运算器+存储器+inpu ...
- 包建强的培训课程(14):Android与ReactNative
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- python 读取wav 音频文件的两种方式
python 中,常用的有两种可以读取wav音频格式的方法,如下所示: import scipy from scipy.io import wavfile import soundfile as sf ...
- ARM debian的图形界面安装
这里图形界面的安装比较简单,启动系统后,登录到root账户,首先要执行更新源的命令:apt-get update 然后直接执行下面的动作: 直接安装LXDE即可: 指令: apt-get insta ...
- Linux 系统下实践 VLAN
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 01 准备环境 ...
- 安装MySQL时候最后一步报无法定位程序输入点fesetround于动态链接库MSVCR120.dll
今天在装MySQL时到最后一步出现了一个问题[报无法定位程序输入点fesetround于动态链接库MSVCR120.dll]这是由什么原因引起的呢,其实是缺少一个vcredist_x64.exe插件 ...
- golang实现参数可变的技巧
Go 使用默认参数的技巧 Functional Options Pattern in Go golang中没有函数默认参数的设计,因此需要些特别的技巧来实现. 假如我们需要订购一批电脑,其中电脑配置c ...
- Python编程Day4——if判断、while循环、for循环
一.if判断 语法一: if条件: 代码块1 代码块2 代码块3 示例: sex='female' age=18 is_beautiful=True if sex =='female'and age& ...