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. php 之 类,对象

    --恢复内容结束--- 一.类和对象: 1.定义: 对象:我们所见到的东西都可以称之为对象,是类实例化出来的东西 类:是对所有的同类对象抽象出来的东西 eg: 在一张表中记录了全班同学的学号,姓名,性 ...

  2. 关于split splice slice 的一些事

    学的知识很久不用总会忘记,更何况这三个的拼写都差不多,在这里特意写下自己的一些见解,以便以后可以更好地理解. slice  : 定义:接收一个或两个参数,它可以创建一个由当前数组中的一项或多项组成的新 ...

  3. DLog 技巧

    #ifdef DEBUG#ifndef DLog# define DLog(fmt, ...) {NSLog((@"%s [Line %d] " fmt), __PRETTY_FU ...

  4. JQuery的插件

    最近需要修改ftl文件,使用一般的freemarker插件不能有效处理里边的部分JQuery内容,所以特地下载了一个Spket插件, 地址为 http://www.agpad.com/update 再 ...

  5. POST多个参数到Web API控制器

    交互基于Json的方式打包传递就不介绍了,主要设置请求头为 contentType: "application/json", //必须有 数据位Json格式的字符串,在服务器端定义 ...

  6. NSIS操作系统环境变量

    手头有个项目需要修改PATH变量 需要!include "EnvVarUpdate.nsh" 以下是NSIS脚本代码 ; Script generated by the HM NI ...

  7. logstash ArgumentError: comparison of String with 5 failed

    <pre name="code" class="html"><pre name="code" class="ht ...

  8. bzoj 1192

    http://www.lydsy.com/JudgeOnline/problem.php?id=1192 好像学过一个东西: [0..2^(N+1)-1]内的数都的都可以由2^0,2^1,...,2^ ...

  9. 黑马程序员_Java面向对象_异常

    6.异常 1.异常: 就是程序在运行时出现不正常的情况.问题也是现实生活中一个具体的事物,也可以通过Java的类进行描述,并封装成对象.Exception和Error的子类名都是以父类名作为后缀名. ...

  10. Polymorphism & Overloading & Overriding

    In Java, a method signature is the method name and the number and type of its parameters. Return typ ...