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

此主题相关图片如下:

2:开始打包
2.1

确定即可进入项目文件夹:
双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件(*.exe)和相应的类库(*.dll)和组件添加进来.

[创建程序快捷方式的图标]

然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切到左边的"用户的'程序'菜单"和"用户桌面"中.
这样安装程序安装安装完成后会在 "开始->所有程序"和"桌面"上生成程序的快捷方式.

右击创建的快捷方式 --> 属性窗口,选择[Icon]属性,点击浏览,选择刚添加的setup.ico小图标,确定

2.2

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

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

选上以后,在生成的安装文件包中包含.netframework组件

选择:“从与我应用程序相同的位置下载系统必备组件”

安装包就会打包.NET FrameWork ,在安装时不会从网上下载.NET  FrameWork组件。

2.3

创建的项目名称--> 点击左键,在属性中设置参数如下图

属性[Author]:作者   ex:伤心的小水沟

属性[Manufacturer]:公司名称  ex:ABC有限公司

属性[ProductName]:应用程序名称  ex:学生管理系统

将[InstallAllUsers]属性设置为Ture,这样在控制面板程序中会显示公司的名称;安装时会默认为“任何人”,否则默认为“只有我”

2.4

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

将属性中的[DefaultLocation]的路径中的"[ProgramFilesFolder][Manufacturer]\[ProductName]"去掉,

变为"[ProgramFilesFolder]\[ProductName]",

不删除"[Manufacturer]"则让打包好的安装程序默认安装到"C:\Programm Files\你的用户名\安装解决方案名称"目录。

2.5

创建卸载程序

在 “应用程序文件夹” 添加文件C:\WINDOWS\system32\msiexec.exe

右击创建msiexec.exe快捷方式,剪切粘贴到用户的“程序”菜单,在这里我已修改其名为 “卸载程序”

点击项目名称,复制属性[ProductCode]的值

点击 用户的“程序”菜单 里的卸载程序(快捷方式),将[ProductCode]复制的值粘贴到[Arguments]的值里,前面加上/X空格

最后生成解决方案

3:打包完成

现在打开解决方案文件夹下的debug文件夹,就可以看到生成的安装文件,点击setup.exe就可以运行安装了。

转载:http://blog.csdn.net/arpaul87/article/details/39494025

C# 程序打包的更多相关文章

  1. 以向VS 程序打包集成自动写入注册表功能为例,介绍如何实现自由控制安装过程

    最近由于项目部署时需要更灵活的控制程序安装的流程以及自定义安装行为,特意研究了一下VS程序打包,把解决办法和大家分享一下. 以VS2010为例: 这是一个已经设置好最基本的Visual Studio ...

  2. VS2012程序打包部署详解

    VS2012没有自带打包工具,所以要先下载并安装一个打包工具.我采用微软提供的打包工具:  InstallShield2015LimitedEdition.下载地址:https://msdn.micr ...

  3. 他山之石——vs2013 安装与部署及程序打包

    C#打包需要这个:InstallShield 2013 Limited Edition for Visual Studio  .下载地址: InstallShield 2013 Limited Edi ...

  4. c#程序打包大全

    c#程序打包现在分为两种,一种是VS自带的打包方式,还有一种是第三方的打包方式,在VS2013里面是没有自带打包安装部署的,只有第三方的创建. 第三方打包方式很简单,百度Installshield下载 ...

  5. SNF开发平台WinForm之十一-程序打包-SNF快速开发平台3.3-Spring.Net.Framework

    原来我们用的是微软自带的打包工具去打包,但感觉好像也是第三方做的打包并且很是麻烦,还有时不成功报错.那综合考虑就找一个简单实用的打包工具吧,就找到了NSIS这个.具体打包步骤如下: 1.安装NSIS ...

  6. Android 程序打包和安装过程

    APP程序打包与安装的流程: APP的安装过程:

  7. 【转】VS2012程序打包部署详解

    上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...

  8. 将eclipse的应用程序打包成.exe

    转自:http://blog.163.com/loveshijie_1991/blog/static/1760553112012102573437156/ 参考:http://blog.csdn.ne ...

  9. 用命令行将Java程序打包为jar文件

    如何把写好的Java程序打包为jar文件呢?有两种方式可以选择 1.命令行的方式: 打包jar cf JAR文件名称 程序文件名称或者程序所在的文件夹举例:jar cf MyApp.jar D:Jav ...

  10. [转载]VS2012程序打包部署详解

    上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...

随机推荐

  1. phpmyadmin自增字段

    自增字段必须为primary key 2种方法: 1- ALTER TABLE `qr_role` CHANGE `ROLE_ID` `ROLE_ID` INT(11) NOT NULL AUTO_I ...

  2. 关于lambda表达式树

    总而言之: 就是在表达式中没有花括号. IEnumerable<Rect> rectlist3 = rectlist.Select(rect =>newRect(rect.X + 2 ...

  3. ADT-位图

    利用位图数据结构实现排序,利用每一位的下标作为索引,每位的值作为属性值,可以表示存在或不存在,适合存储稠密的数据,排序遍历的范围会是索引的最大值 最后发现耗时比python中list自带的sort多, ...

  4. odoo10会计期间

    从odoo9,会计模块重构之后,去掉了account.fiscalyear 以及 account.period 这两个模型, 但不表示 odoo 从此就没有 "会计年度"和&quo ...

  5. 关于linux定时操作cron的理解

    cron是服务名称,crond是后台进程(有的后台也叫作cron,本人是ubuntu12.04,32bit),crontab则是定制好的计划任务表. 软件包安装: 要使用cron服务,先要安装vixi ...

  6. cf B. Maximum Absurdity

    http://codeforces.com/contest/332/problem/B #include <cstdio> #include <cstring> #includ ...

  7. 学EE做硬件找工作不如学CS做软件,为什么会这样?

    学EE做硬件找工作不如学CS做软件,为什么会这样? 电子工程(EE)就业最好的方向居然是转计算机,也许让有的人觉得很不公平,EE也是很重要的学科,我们学习也很努力,为什么就业会不如CS?也有的人好奇, ...

  8. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  9. jQuery的animate方法在IE8下出现小问题

    今天修改网站的bug,把网页显示的几张图片给做成左右滑动的动画效果: 由于本身有一个demo可供参考,然后在此基础上进行修改,所以很快就搞定了,然后在chrome,firefox,IE9下分别进行测试 ...

  10. 淡淡de馨香---职业尊严

    大学四年时光匆匆而过,仿佛一切都不曾远去,那种熟悉又激动的感觉好似就在昨天,但是.一切都仅仅是一种感觉,在现实面前没有谁能够逆天,在被遗忘的什么时候,曾经是想着无数的梦想与自定义,同样也是在被遗忘的什 ...