(转自:http://blog.sina.com.cn/s/blog_74f702e60101at62.html)

1、打开VS2010,选择 新建项目---其他项目类型---Visual Studio Installer----安装项目

这是在VS2010中将有三个文件夹,

1.“应用程序文件夹”表示要安装的应用程序需要添加的文件;

2.“用户的‘程序’菜单”表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe;

3.“用户桌面”表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式。

2、在应用程序文件夹,点击右键添加文件:添加要打包的文件(添加的文件一般是已经编译过应用程序的debug目录下的文件)

如果debug下面有子文件则需要"添加文件夹",例如data,然后将对应子文件里的内容添加到此文件夹中;

3、在创建的项目名称(Setup1)上点击右键--属性

选择系统必备

然后选择.NET的版本,和Windows Installer3.1(可选项)

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

这样安装包就会打包.NET FrameWork ,在安装时不会从网上下载.NET FrameWork组件;但是安装包会比较大。

------------------------------------------我是华丽丽的分割线-------------------------------------
【解决VS2010发布.NET 2.0 创建的项目,安装.NET FrameWork3.5的问题】

VS2010发布.NET2.0的版本,在创建安装程序时,需要设置启动条件:在项目名称(setup1)上,点击右键选择“视图”----“启动条件”:

然后VS2010会创建如下文件:

在“启动条件”中, 点击“.NET Framework”在Version上面选择.NET Framework 2.0;

这样.NET Framework 2.0上创建的项目在安装时,就不会安装.NET3.5或其他版本,

也不会重启(解决.NET 2.0 创建的项目,安装.NET FrameWork3.5的问题)。

---------------------------------结束喽!继续.NET Framework 4.0的打包哦-------------------------

4、.设置安装文件的目录(路径):

创建的项目名称(setup1)点击左键,在属性中设置参数如下:

其中Author 为作者;Manufacturer为公司名称;ProductName为应用程序的名字;

把InstallAllUsers 设置为True 。

(这样在“控制面板”程序中会显示公司的名称;

在安装时会默认为“任何人”,否则默认为“只有我”)

左键点击“应用程序文件夹”,如下图:第一个为系统主目录(默认C:\Programe),第二个为公司名([Manufacturer]),第三个为应用程序名称,这样在安装时就会创建两层的文件路径。需要删除DefaultLocation中的:[Manufacturer] 。删除后只有应用程序的名称。

5、创建应用程序和卸载程序

在应用程序文件夹中的exe文件,点击右键创建快捷方式,命名“我的小工具”,确定后,拖动此快捷方式到“用户桌面”;

在“用户的程序菜单”中添加一个文件夹,命名为:“程序小工具”,

然后同样的方式创建CheckingApplication.exe一个快捷方式(“我的小工具”),拖动到“程序小工具”中;

然后给.NET应用程序创建一个卸载程序:

在“应用程序文件夹”中添加:C:Windows\System32\Msiexec.exe

在msiexec.exe上右键创建快捷方式,重命名为:卸载,把此快捷方式拖动到“程序小工具”;

击项目名称(Setup1),在属性中找到:ProductCode

复制此ProductCode ,粘贴到“卸载”快捷方式的Arguments属性,前面加/x空格

6、 完成以上步骤,就可以生成解决方案了。

7、生成解决方案后,在debug文件夹中就是我们需要的安装包.

8、 安装完在开始菜单中有“程序小工具”的文件夹,里面有我们创建的“我的小工具”和“卸载”;当然桌面上也有我们创建的快捷方式。

VS2010安装项目程序打包操作详解的更多相关文章

  1. VS2012程序打包部署详解

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

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

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

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

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

  4. (转) VS2012程序打包部署详解

    程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因微软没有将打包工具集成在开发环境中,但是我知道总会有解决办法的.     经过翻阅资料发现 ...

  5. VS2012及以上版本 程序打包部署详解

    引用:  http://blog.csdn.net/zhang_xinxiu/article/details/9099757 程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的 ...

  6. VS2012 QT程序打包部署详解

    1.设置安装程序集 InstallShield安装完成后,执行以下步骤右键解决方案-->添加-->新建项目-->其他项目类型-->安装和部署,具体操作如下图: 2.发布程序 在 ...

  7. 用Advanced Installer制作DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版详解

    关于 DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...

  8. Python3调用C程序(超详解)

    Python3调用C程序(超详解) Python为什么要调用C? 1.要提高代码的运算速度,C比Python快50倍以上 2.对于C语言里很多传统类库,不想用Python重写,想对从内存到文件接口这样 ...

  9. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

随机推荐

  1. 扩展EF的Fluent API中的 OnModelCreating方法 实现全局数据过滤器

    1.生成过滤的表达式目录树 protected virtual Expression<Func<TEntity, bool>> CreateFilterExpression&l ...

  2. C#6.0 语法

    属性表达式 属性值初始化 public string name {get;set;} = "张三"; 函数表达式 NULL检查运算符 var aa = Created?.Date; ...

  3. 百万并发中间件系统的内核设计看Java并发性能优化

    “ 这篇文章,给大家聊聊一个百万级并发的中间件系统的内核代码里的锁性能优化. 很多同学都对Java并发编程很感兴趣,学习了很多相关的技术和知识.比如volatile.Atomic.synchroniz ...

  4. 数据结构(C语言版)-第1章 绪论

  5. apicloud 环信总结

    点击链接先查看一下apicloud 环信的文档 https://docs.apicloud.com/Client-API/Open-SDK/easeChat 文档中写了很多,但官方给的文档还是有问题, ...

  6. Financiers Game CodeForces - 737D (博弈论)

    直接暴力区间DP的话是$O(n^3)$, 关键注意到每步走的距离差不超过1, 所以差最大是$O(\sqrt{n})$的, 所以实际上有用的状态是$O(n^2)$的, 可以通过.

  7. python 绝版线程池

    2.绝版线程池设计思路:运用队列queue a.队列里面放任务 b.线程一次次去取任务,线程一空闲就去取任务 import queueimport threadingimport contextlib ...

  8. Oracle11g ADG环境实施文档-1204

    Oracle11g adg 环境搭建实施手册-1204 2017年8月30日 9:16 11g adg 环境搭建实施手册-0824 2017年8月24日 10:18 ################# ...

  9. 19. Remove Nth Node From End of List C++删除链表的倒数第N个节点

    https://leetcode.com/problems/remove-nth-node-from-end-of-list/ 使用双指针法,可以仅遍历一次完成节点的定位 /** * Definiti ...

  10. java集合类整理

    LinkedList 优点:插入删除迅速 缺点:不适合随机访问 List<String> staff = new LinkedList<String>(); staff.add ...