Winform打包发布图解
最近,机房收费系统的个人版接近尾声,到了打包发布的时刻。VB.NET的打包发布与VB6.0的打包发布存在不小的差别。下面我们来详细看一下如果打包发布。
第一步:
打开VS,新建项目,选择其他项目类型--安装部署

第二步,添加了项目之后我们进入文件系统选项卡,选择应用程序文件夹,添加文件

在弹出的文件对话框中添加项目文件。

添加后的文件系统选项卡

第三步,为了在开始菜单和桌面上能看到安装程序,这里我们需要创建快捷方式
选择创建快捷方式,命名为程序名称。


重复的添加到“用户的程序菜单”文件夹中
第四步,设置系统必备
右击解决方案,打开属性。

选择系统必备,在系统必备选项卡中选择第二个选项,勾选第二个选项,表示生成安装项目时,在你安装项目的路径下,会有你在系统必备组件列表中勾选的组件,这样不需要自己去下载组件了,很方便。
第五步,一个程序能安装,那么一定要能卸载,下面我们添加卸载功能。
首先在C:\WINDOWS\system32路径下面找到msiexec.exe添加到应用程序文件夹中,并创建快捷方式,重命名。以同样的方式添加到 应用程序文件夹、用户的程序菜单文件夹中去,然后选择安装目录的ProductCode,记录下代码来。

选择卸载快捷方式的属性窗口,将Arguments的属性设置为之前记录的代码,例:/x{79F3D990-B5BF-4A51-A721-E501B063B77D}

第六步,生成解决方案,大功告成了。生成之后会给出警告:


可以根据警告的提示删除相同的文件,也可以忽略警告。打包成功了!可以使用了!
当然,打包的方式不止有一种,除了用微软自带的工具外,还有很多很优秀的软件,比如Advanced Installer、SetUpFactory等。我们根据自己的实际情况选择合适的打包工具。
不足之处,敬请指正!
Winform打包发布图解的更多相关文章
- winform打包发布安装包详解..
winform打包发布安装包详解.. 使用VS 自带的打包工具,制作winform安装项目 开发环境:VS 2008 Access 操作系统:Windows XP 开发语言:C# 项目名称:**管 ...
- [转]VS2010 (C#)winform程序打包发布图解
1.新建一个Windows窗体应用程序,例如项目名为monitor,功能略.新建的时候不要忘了创建解决方案. 2.在monitor解决方案上“右击”—— “添加”——“新建项目”,选择“其他类型项目” ...
- 【转载】Visual Studio2017如何设置打包发布的WinForm应用程序的版本号
在Visual Studio 2017集成开发工具中,打包发布Winform窗体应用程序的时候,支持设置此次打包发布的Winform窗体应用程序对应的版本号信息,并且支持一次设置后,后续的所有发布版本 ...
- 【转载】Visual Studio2017如何打包发布Winform窗体程序
在用C#语言编写好Winform窗体程序后,最后一步的操作是将设计好的Winform程序代码进行打包以及发布成安装包.在Visual Studio2017开发工具中,打包发布WinForm程序是比较简 ...
- c# 项目带皮肤一起打包发布解决办法
c# 项目带皮肤一起打包发布解决办法 前提:c#语言 winform应用程序 皮肤为IrisSkin2 目标:在打包发布独立应用 程序时,将皮肤也一起打包发布,实现程序在其它机子安装时,皮肤效果 ...
- C# VS2017 WinForm 打包和升级
C# WinFrom打包不怎么常用,但一年总有那么一两次,每次都记不全,为了方便自己回看,于是有了本篇文章. 本例使用<C#工具类LogHelper>的解决方案作为例子,实现WinForm ...
- 服务器(Liunx)打包发布java web工程
Liunx服务器上打包发布web工程(开发工具Idea) 1.首先使用Idea自带的打包功能(点击package打包) 2.然后链接到服务器(我这里用的是Xshell链接工具) 3.将打好的war包传 ...
- Unity3D引用dll打包发布的问题及解决
今年我们开始使用Unity3D开发MMORPG,脚本语言使用C#,这样我们就可以使用以往积累的许多类库.但是,在U3D中使用.NET dll的过程并不是那么顺利,比如我们今天遇到的这种问题. 一.问题 ...
- Ant自动编译打包&发布 android项目
Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...
随机推荐
- 学习Visitor Pattern 有感而发!override and overload
通过阅读各位前辈写的博文,像吕震宇,idior,李建忠WebCast等,对Visitor模式有一定的了解,有感而记录下来,以备忘. Visitor Pattern 假设了这样一个场景,在一个类型层次中 ...
- 仿写thinkphp的I方法
自己定义一个方法仿写thinkphp的I 方法 <?php function I($key="",$default='',$function="") { ...
- PowerShell脚本传递参数
在编写PowerShell脚本的时候,可以通过给变量赋值的方法输出想要的结果,但这样的话,需要改动脚本内容.其实也可以在脚本中定义参数,然后再在执行脚本的时候对参数赋值,而无需改动脚本内容. 在Pow ...
- index of rmvb mp3 rm突破站点入口下载
首先打开Google,在关键词输入框中输入"index of/"inurl:lib(双引號为英文状态下) ,选择“搜索中文简体网页”选项,回车搜索,得到了一些网页,不要以为这是一些 ...
- 【28】避免返回handles指向对象内部成分
1.为什么? 很简单,你指向箱子里面的一个物品,使用这个物品.但是箱子不受你控制,箱子销毁了,里面的物品也会随之销毁.那么这种情况下,你指向的就是一堆垃圾,你还在使用这个物品,导致未定义的行为.
- oracle 查看表属主和表空间sql
查看表空间 select * from user_tablespaces where table_name = 'TableName' 查看表属主 select Owner from all_ta ...
- 关于Xcode7中的tbd文件
tbd 是 text-based stub libraries的意思, 是苹果在Xcode7中使用的一个技术,便于减少Xcode7中SDK的体积. 下面讲解下Xcode7如何通过tbd这个技术减少SD ...
- Android开发之线程池使用总结
线程池算是Android开发中非常常用的一个东西了,只要涉及到线程的地方,大多数情况下都会涉及到线程池.Android开发中线程池的使用和Java中线程池的使用基本一致.那么今天我想来总结一下Andr ...
- react 组件开发
参考资料 https://toddmotto.com/react-create-class-versus-component/ React-Native的代码规范,React其实也基本一样~~ htt ...
- Socket.io 0.7 – Sending messages to individual clients
Note that this is just for Socket.io version 0.7, and possibly higher if they don’t change the API a ...