1:新建安装部署项目

打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图)

此主题相关图片如下:

2:安装向导

点击下一步,或者直接点击完成.

3:开始制作

安装向导完成后即可进入项目文件夹:

双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来.

一般添加 .exe文件就可以把其关联的库文件都加载进来, 不能自动加载的需要手动添加进来, 比如说明文档,测试数据...

然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的"用户的´程序´菜单"和"用户桌面"中.

这样安装程序安装安装完成后会在 "开始->所有程序"和"桌面"上生成程序的快捷方式.

然后右击左边的"应用程序文件夹"打开属性对话框:

将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉,

不然的话做好的安装程序默认安装目录会是"c:/programm file/你的用户名/安装解决方案名称";

然后打开解决方案管理器,右击你的解决方案名称,选择属性:

在打开的属性页中,选择"系统必备",

在打开的系统必备页中,选中如下中的选择项,这个很重要!!!!!1!!!!!

选上以后,在生成的安装文件包中包含.netframework组件.(这个选项默认是没有选中的)

好了,这样就配置完成了

4:编译项目

编译完成之后在Debug或者Release文件夹下就出现安装文件了.

5. 添加卸载程序

vs.net2005下并没有直接生成卸载程序的功能, 所以我们只好用msi来实现了,  
【1】:在添加你的应用程序项目的时候,多添加一个msiexec.exe进去, 这个文件在c:/windows/system32文件夹下,

添加进去以后,为了让他更像个卸载程序,把他的名字改成其他名字 比如"DynEdUn.exe". 用上面生成的***.msi安装包同时具有安装和卸载的功能, 这里多添加的一个msiexec.exe 就是想实现其卸载功能, 运行msiexec.exe的时候需要输入一系列参数, 但是它本身没有设置参数的地方, 所以需要在其快捷方式上设置参数, 如果想在开始-->程序里创建一个卸载程序,那么就把DynEdUn.exe的快捷方式放到用户的"程序"文件夹里, 如果要在安装后的文件夹自身目录下创建卸载程序就需要把DynEdUn.exe的快捷方式放到当前目录下, 没有这个快捷方式就不能实现卸载, 创建快捷方式之后把快捷方式的名字改为Uninstall.exe

选中该项目跟节点, 查看属性中的ProductCode, 把其中的内容拷贝下来

               

然后鼠标点到Uninstall.exe上,看其属性窗口, 把上面拷贝的ProductCode 组合成 "/x空格ProductCode"  输入到参数一栏.

然后编译就可以生成卸载程序了, 如下:

6. 注册一种文件类型, 并为之添加默认打开的应用程序和默认图标

就像 .doc文件是用word打开一样, 并且有一定的图标.

首先创建一种文件类型, 点击管理器中的某个图标(如下图), File Type Editor,

右键新建一种文件类型. 在属性窗口中输入相应的信息,比如文件类型名字, 扩展名..command 是选择默认打开的应用程序, ICON是文件类型的图标

创建文件关联:

双击用某程序打开, 比如双击 *.dyn用DynEdGS.exe打开, 需要创建一种文件类型,并加入启动参数" %1" 注意%号前面必须有一个空格

设置好之后就完成了...

关于对 .NetFramework ** 的依赖问题, 如何仅依赖.Netframework 2.0 ?

首先在安装项目上点右键-->选择启动条件

然后修改.net framewrok的属性设置为.net 2.0即可

打包发布WinForm应用程序的更多相关文章

  1. 【转载】Visual Studio2017如何打包发布Winform窗体程序

    在用C#语言编写好Winform窗体程序后,最后一步的操作是将设计好的Winform程序代码进行打包以及发布成安装包.在Visual Studio2017开发工具中,打包发布WinForm程序是比较简 ...

  2. ClickOnce 发布WinForm应用程序(非签名方式)

    ClickOnce IIS7发布WinForm应用程序,非签名方式(不勾选签名中的"为ClickOnce清单签名") 一.在D盘上建一个文件夹”MyAppPath”.      该 ...

  3. 使用Ant 和 Maven打包发布命令行程序(转载)

    From:https://www.linux178.com/Java/maven-release.html 用Java写了一个命令行的小程序,使用的Intellij IDE是IDEA13原来一直使用A ...

  4. 通过ClickOnce本地打包发布WPF应用程序

    环境: 1)VS 2015  Windows10 x64 .net framework 4.5.2 要点: 1)安装模式和设置选择可以脱机使用. 2)系统必备组件中安装位置选择与应用程序相同位置下载系 ...

  5. QTcreator打包发布可运行程序(基于QT5.7)

    完成C++界面程序后,我们还需要对程序进行Release,然后进行打包,才可以直接运行.我在这期间绕了一个大弯,现在记录下来我的做法供参考. 正确步骤 第一步:将构建程序改为Release,然后构建项 ...

  6. 【转载】Visual Studio2017如何设置打包发布的WinForm应用程序的版本号

    在Visual Studio 2017集成开发工具中,打包发布Winform窗体应用程序的时候,支持设置此次打包发布的Winform窗体应用程序对应的版本号信息,并且支持一次设置后,后续的所有发布版本 ...

  7. c# 项目带皮肤一起打包发布解决办法

    c# 项目带皮肤一起打包发布解决办法 前提:c#语言   winform应用程序  皮肤为IrisSkin2 目标:在打包发布独立应用 程序时,将皮肤也一起打包发布,实现程序在其它机子安装时,皮肤效果 ...

  8. 发布微信小程序体验版

    小程序这么火,一直没有做过.因为公司有个业务需要做小程序就顺带学习了一把. 1)本次是采用<微信开发者工具 Stable v1.02.1904090>进行的开发: 2)前端使用的是微信官方 ...

  9. winform打包发布安装包详解..

    winform打包发布安装包详解..   使用VS 自带的打包工具,制作winform安装项目 开发环境:VS 2008 Access 操作系统:Windows XP 开发语言:C# 项目名称:**管 ...

随机推荐

  1. c语言的一个简单的链表

    此程序为作业题: 但不忍丢弃成果: 所以记一下: 哦,对了,有一个易错点:在链表里,字符要用字符数组,不能用单个字符. #include<stdio.h>#include<stdio ...

  2. 对IOC和DI以及AOP的理解

    为了理解Spring的IoC与DI从网上查了很多资料,作为初学者,下面的描述应该是最详细,最易理解的方式了. 首先想说说IoC(Inversion of Control,控制倒转).这是spring的 ...

  3. let和const命令//////////////////////z

    let和const命令 let命令 块级作用域 const命令 全局对象的属性 let命令 基本用法 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的 ...

  4. pod install 无限卡顿

    pod install  被墙了,请大家换成pod install --verbose --no-repo-update

  5. .NET 泛型分析

    .NET 泛型解析 一.问题背景 我们在编程的时候往往因为需要处理不同类型的数据或者对象,重复编写很多类似的代码,造成代码的冗余,代码也显得不那么优雅,泛型的出现,正好是为了解决这个问题,实现继承. ...

  6. Android 颜色渲染PorterDuff及Xfermode详解

    在讲具体的使用之前补充一点知识,这就是 ProterDuff的由来: 相信大多数人看到这个ProterDuff单词很奇怪了吧,这肿么个意思呢,然后就用有道啊,金山啊开始翻译,但是翻译软件给出的结果肯定 ...

  7. apiCloud图片选择、处理、上传模块

    将 apiCloud 开发app的图片上传流程,完整封装成了一个页面,页面处理一些必备的处理库外和css外 ,还需要依赖jquery 库,不过可以不管,页面默认使用cnd引用. 页面使用接口如下:pa ...

  8. Swift2.3 --> Swift3.0 的变化

    Swift3.0语法变化 首先和大家分享一下学习新语法的技巧: 用Xcode8打开自己的Swift2.3的项目,选择Edit->Convert->To Current Swift Synt ...

  9. MVC,MVP 和 MVVM

    复杂的软件必须有清晰合理的架构,否则无法开发和维护.MVC(Model-View-Controller)是最常见的软件架构之一,业界有着广泛应用.它本身很容易理解,但是要讲清楚,它与衍生的 MVP 和 ...

  10. CentOS7 Nginx负载均衡

    五台服务器 192.168.155.129 nginx反向代理服务器 192.168.155.130 apache+PHP服务器,PHP要使用mysql函数库,配置的时候就要指定mysql安装路径,所 ...