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. Popular Cows (POJ No.2186)

    Description Every cow's dream is to become the most popular cow in the herd. In a herd of N (1 <= ...

  2. mysql 主从搭建

    主要搭建步骤如下: 1.打开binlog,设置server_id     打开主库的--log-bin,并设置server_id 2.主库授权                --最好也在从库对主库授权 ...

  3. zepto自定义事件

    <!--测试自定义事件 trigger--> <script> $(function () { var meEvent = $.Event("custom" ...

  4. odoo10会计期间

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

  5. iOS界面调试工具 Reveal-备用

    Reveal是一个iOS程序界面调试工具.使用Reveal,我们可以在iOS开发时动态地查看和修改应用程序的界面. 对于动态或复杂的交互界面,手写UI是不可避免的.通过Reveal,我们可以方便地调试 ...

  6. QQ截图时窗口自动识别的原理(WindowFromPoint, ChildWindowFromPoint, ChildWindowFromPointEx,RealChildWindowFromPoint)

    新版的QQ在截图时加入了窗口自动识别的功能,能根据鼠标的位置自动画出下面窗口的轮廓.今天有人在论坛上问起这个问题,下面我们来探讨这个功能的实现原理. 首先我们要明白截图软件的基本原理,截图时实际上是新 ...

  7. SQL判断一个数是整数还是小数

    DECLARE @number1 AS numeric(10,2),@number2 AS numeric(10,2) SELECT @number1=10.00,@number2=10.2 SELE ...

  8. mv,Directory not empty不能目录覆盖

    一.mv /test1/* /test2/test1rm -rf /test1 二. You can however use rsync with the --remove-source-files ...

  9. android Handler及消息处理机制的简单介绍

    学习android线程时,直接在UI线程中使用子线程来更新TextView显示的内容,会有如下错误:android.view.ViewRoot$CalledFromWrongThreadExcepti ...

  10. wikioi1082【线段树练习 3 】

    题目描述 Description 给你N个数,有两种操作: 1:给区间[a,b]的所有数增加X 2:询问区间[a,b]的数的和. 输入描述 Input Description 第一行一个正整数n,接下 ...