一开始让我做安装包的时候,其实我是拒绝的。因为我根本就不会做安装包。查了资料之后,我很懵,很晕,很乱,因为不清晰,不简明,不直白。然而经过一番彷徨的挣扎,我终于发现:制作安装包,谁人都可以!故挥狼毫,立此存照,幸甚至哉,歌以咏志!

本文以博客园开源大作GG为背景材料,介绍VS制作安装包的一般步骤。(GG也是我这段时间学习研究的典范!)

一·新建项目

(1)新建

(2)界面跳转

二·添加引用

(1)添加卸载程序

1.在"C:\WINDOWS\system32"路径下,找到msiexec.exe 。

2.将msiexec.exe添加到程序可执行文件目录下。

(2)添加引用

1.引用文件夹。

对照程序可执行文件目录,建立相应的文件夹。

2.引用文件。

对于各个文件夹分别添加相应文件。

对于应用程序文件夹添加文件。

添加完成后文件夹内容与程序可执行文件目录相一致。

三·创建快捷方式

(1)在用户的“程序”菜单中添加快捷方式(包含安装和卸载两个快捷方式)

1.右击右侧空白栏,创建新的快捷方式。

在弹出的选项框中选中应用程序文件夹,添加文件。

2.再次添加快捷方式,同上述步骤,添加卸载文件。

(2)重命名,并对卸载程序快捷方式进行相关设置

1.在解决方案资源管理器中,选中项目名,鼠标光标移至属性。

界面跳转,复制安装项目的ProductCode。

2.右击卸载程序快捷方式,选中“属性窗口”,在Arguments选项中 输入/x 及ProductCode,例如/x {3597698A-2379-4CDE-8BD6-BECCB0BF946F}。

(3)对“用户桌面”进行快捷方式的创建。(与上述步骤相同,不需要卸载程序的快捷方式)

四·设置安装项目系统必备

右击项目,选中属性,系统必备,进行设置。

五·编译生成并查看

按F6生成

右击项目,资源管理器中打开文件夹。

六·运行效果

运行测试

   Bingo!

   

   如果您觉得对您有帮助的话请点个赞哦!

循序渐进做项目系列(5):制作安装包,谁人都可以!——VS制作安装包简明教程的更多相关文章

  1. 循序渐进做项目系列(4)迷你QQ篇(2)——视频聊天!(附源码)

    一·效果展示 源码派送:MiniQQ1.1 文字聊天的实现参见:循序渐进做项目系列(3):迷你QQ篇(1)——实现客户端互相聊天 二·服务端设计 对于实现视频聊天而言,服务端最核心的工作就是要构造多媒 ...

  2. 循序渐进做项目系列(3):迷你QQ篇(1)——实现客户端互相聊天

    <循序渐进做项目系列迷你QQ篇>将陆续介绍客户端聊天,文件传输,加好友,群聊,包括语音聊天,视频聊天,远程桌面等等需求如何实现,感兴趣的朋友可以持续关注.考虑到某些需求较为复杂,本系列采用 ...

  3. 循序渐进做项目系列(2):最简单的C/S程序——消息异步调用与消息同步调用

    上篇博客 循序渐进做项目系列(1):最简单的C/S程序——让服务器来做加法 实现了一个最简单的C/S程序,即让服务器来做加法.当时为了通俗易懂采用了消息异步调用的方式.今天我们要采用消息同步调用的方式 ...

  4. 循序渐进做项目系列(1):最简单的C/S程序——让服务器来做加法

    (本文是专门针对未接触过C/S开发的初学者而写的,C/S开发高手请自动忽略啊~~) 还在写“Hello world!”式的单机程序吗?还在各种拖控件吗?是否自己都觉得有点low呢?来个质的飞跃吧!看看 ...

  5. J20航模遥控器开源项目系列教程(一)制作教程 | 基础版V1.0发布,从0到1

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/C ...

  6. 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— 准备

    ==== 目录 ==== 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之一 —— 开篇 跟我学: 使用 fireasy 搭建 asp.net core 项目系列之二 —— ...

  7. 一步一步使用ABP框架搭建正式项目系列教程

    研究ABP框架好多天了,第一次看到这个框架的名称到现在已经很久了,但由于当时内功有限,看不太懂,所以就只是大概记住了ABP这个名字.最近几天,看到了园友@阳光铭睿的系列ABP教程,又点燃了我内心要研究 ...

  8. 一步一步使用ABP框架搭建正式项目系列教程之本地化详解

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 本篇目录 扯扯本地化 ABP中的本地化 小结 扯扯本地化 本节来说说本地化,也有叫国际化.全球化的,不管怎么个叫法,反正道理都是一 ...

  9. ABP框架搭建项目系列教程基础版完结篇

    返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 经过前面十二篇的基础教程,现在终于该做个总结了. 回顾 第一篇,我们建议新手朋友们先通过ABP官网的启动模板生成解决方案,因为这样 ...

随机推荐

  1. 【转载】兼容php5,php7的cURL文件上传示例

    转载来自: http://www.huanlinna.com/2016/06/25/coding/php5-php7-upload-demo-via-curl.html https://segment ...

  2. 【iOS】UITabView/UICollectionView 全选问题

    UITabView/UICollectionView 全选问题 SkySeraph July. 30th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySera ...

  3. HDU 5945 / BestCoder Round #89 1002 Fxx and game 单调队列优化DP

    Fxx and game 问题描述   青年理论计算机科学家Fxx给的学生设计了一款数字游戏. 一开始你将会得到一个数\:XX,每次游戏将给定两个参数\:k,tk,t, 任意时刻你可以对你的数执行下面 ...

  4. Mac下搭建php开发环境[翻译]+自己总结(红字)

    原英文链接:http://www.codeweblog.com/mac-os-x-to-configure-apache-php-mysql/ Mac OS X 内置了Apache 和 PHP,这样使 ...

  5. Vue - 内部指令

    1.插值 A:<span>TEXT:{{text}}</span> {{text}}会被相应的数据类型text属性值替换,当text值改变时候,文本中的值也会相应的发生变化 B ...

  6. C++-Qt【2】-实现一个简单的记事本

    用Qt实现一个简单的记事本: #include "helloqt.h" #include <qfiledialog.h> #include <qfile.h> ...

  7. 【ORACLE】MD5加密

        今天乌干达充值卡入库时,发现有资源已经存在的异常, 异常原因经过核实是由于卡资源密码在库中已经存在, 为进一步查找存在的原因, 因此需要对导入文件密码的MD5 加密, 通过MD5加密后的字符串 ...

  8. iOS AFNetWorking 3.1 的网络解析

    AFNetworking 3.0中废弃: AFURLConnectionOperation AFHTTPRequestOperation AFHTTPRequestOperationManager   ...

  9. ASP.NET Razor - html中使用if else

    参考: http://www.runoob.com/aspnet/razor-cs-loops.html <select id="task_isfirst" class=&q ...

  10. ViewController的生命周期

    # ViewController 的生命周期 # ViewController的生命周期中各个方法的流程如下: init loadView :加载view viewDidLoad :view加载完毕 ...