摘要:本文介绍在C#中手把手教你用C#打包应用程序(安装程序卸载程序)

1:新建安装部署项目

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

此主题相关图片如下:

2:安装向导

关闭后打开安装向导,点击下一步,或者直接点击完成.

3:开始制作

安装向导完成后即可进入项目文件夹:

双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来.

然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的"用户的'程序'菜单"和"用户桌面"中.

这样安装程序安装安装完成后会在 "开始->所有程序"和"桌面"上生成程序的快捷方式.

然后右击左边的"应用程序文件夹"打开属性对话框:
将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉,

不然的话做好的安装程序默认安装目录会是"c:programm file你的用户名安装解决方案名称";
然后打开解决方案管理器,右击你的解决方案名称,选择属性:
在打开的属性页中,选择"系统必备",

在打开的系统必备页中,选中如下中的选择项,这个很重要!!!!!!!!!!

选上以后,在生成的安装文件包中包含.netframework组件.(这个选项默认是没有选中的)

好了,这样就完成99%了,然后点击"生成->生成解决方案",哈,生成成功!

4:制作完成

现在打开解决方案文件夹下的debug文件夹,就可以看到生成的安装文件了.

【续】关于"卸载"功能的添加 上面的文章只介绍了简单的生成安装的方法,

但是在vs.net2005下并没有直接生成卸载程序的功能, 所以我们只好用msi来实现了, 原理我就不讲了,网上一搜一堆,我只讲操作,

【1】:在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,

这个文件在c:windowssystem32文件夹下,

添加进去以后,为了让他更像个卸载程序,把他的名字改成"Uninstall.exe",

当然这个关系不大,改不改都行的.
然后给他创建一个快捷方式,放到桌面或者"开始-程序"中,
我选择放在了开始菜单中,然后下面我们要的做的就是查找这个部署项目的ProductCode了,
鼠标左键单击项目名称,记住是左键单击,然后点击属性标签,注意:不是右击的属性, 这个区别很大,这时你就可以看到ProductCode了,

然后打开你创建的那个快捷方式的属性对话框, 在Aguements属性中输入"/x {ProductCode}",

好了,然后点击"生成解决方案"即可生成带有卸载功能的安装程序了.

转自http://www.cnblogs.com/jara/p/3432397.html

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

  1. InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)

    InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序) 标签: InstallShieldVS2013 2015 ...

  2. 使用Inno Setup 打包.NET程序,并自动安装.Net Framework

    使用Inno Setup 打包.NET程序,并自动安装.Net Framework http://www.cnblogs.com/xiaogangqq123/archive/2012/03/19/24 ...

  3. MAC下配置gradle用eclipse 打包android程序

    1.下载gradle binhttp://gradle.org/gradle-download/ 2.配置gradle,http://www.douban.com/note/311599602/htt ...

  4. vs2010打包winform程序详解

    vs2010打包winform程序详解   最近一直在做winform程序,做完后程序打包很头疼,第三方打包工具,好用的花钱,不花钱的不好用,最后只能用vs自带的打包工具了! 打包过程vs2010(包 ...

  5. Windows如何打包Qt程序

    很多Qt爱好者想发布自己的Qt软件,但却发现在其他没有安装Qt SDK的机器上无法运行,这就是本文想要说明的问题.现在网上大部分软件都要发布自己开发的应用程序,都会打包到exe文件中,待安装完exe文 ...

  6. vs2008打包公布程序

    vs2008打包公布程序 一vs2008中新建 安装项目,确定(新建 安装向导 也能够) 二.加入内容 1.加入主要内容: 应用程序目录=>右键=>加入=>文件,找到须要的文件,包含 ...

  7. Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)

    原文:InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序) InstallShield Limited Edi ...

  8. Inno Setup打包的程序提升为管理员权限

    Inno Setup打包的程序在Win7 64位系统上安装,安装步骤最后一步若选中运行程序,会跳出一个错误提示框. 这是因为64位win7系统运行程序时需要管理员权限,而打包的文件并没有这个权限就试图 ...

  9. 使用WIX打包客户端程序

    原文:使用WIX打包客户端程序 用WPF为客户做了个小工具,打包的时候发现VS2012居然没有安装项目了,搜了下才知道现在推荐使用WIX来打包了http://wix.sourceforge.net/, ...

随机推荐

  1. Codeforces Round #266 (Div. 2)-C,D

    C - Number of Ways 直接暴力从前往后寻找.假设找到1/3sum的位置,那么标记++.找到2/3的位置,总数加上标记数. #include<stdio.h> #includ ...

  2. lucene两个分页操作

    基于lucene两个分页: lucene3.5查询方式(每次查询所有记录,然后取当中部分记录.这样的方式用的最多),lucene官方的解释:因为我们的速度足够快. 处理海量数据时.内存easy内存溢出 ...

  3. Nyoj 天下第一(spfa)

    描述 AC_Grazy一直对江湖羡慕不已,向往着大碗吃肉大碗喝酒的豪情,但是“人在江湖漂,怎能 不挨刀",”人在江湖身不由己",如果自己的武功太差,在江湖会死的很惨,但是AC_Gr ...

  4. Tips & Tricks:Apache log4j简明教程(一)

    Apache log4j的官方介绍是“log4j is a reliable, fast and flexible logging framework (APIs) written in Java, ...

  5. 一些有用的javascript实例分析(二)

    原文:一些有用的javascript实例分析(二) 5 求出数组中所有数字的和 window.onload = function () { var oBtn = document.getElement ...

  6. Android - &quot;cause failed to find target android-14&quot; 问题

    "cause failed to find target android-14" 问题 本文地址: http://blog.csdn.net/caroline_wendy Andr ...

  7. Javascript闭包的一些研究

    原文:Javascript闭包的一些研究 本文不谈闭包的概念,因为概念容易把人搞晕,本文希望通过几个鲜活的例子来探究闭包的性质,相信对理解闭包会有所帮助. 程序1 var f = (function( ...

  8. c# 字符串切割 split

    一直以来  都以为 string.split 里面 就只能是 一个 char 实际不是 那么回事 参数 可以是 string. eg: string strtest = "asdfg12we ...

  9. .net mvc mssql easyui treegrid 及时 编辑 ,支持拖拽

    这里提到了,1个问题,怎么扩展 Easyui 参见: http://blog.csdn.net/chenkai6529/article/details/17528833 @{ ViewBag.Titl ...

  10. ASP.NET MVC中加载WebForms用户控件(.ascx)

    原文:ASP.NET MVC中加载WebForms用户控件(.ascx) 问题背景 博客园博客中的日历用的是ASP.NET WebForms的日历控件(System.Web.UI.WebControl ...