随笔 - 17  文章 - 1  评论 - 6  阅读 - 16848 
  2009年8月17日

1:新建安装部署项目

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

visual studio 2005 c打包发布成安装文件 - Kevin - Kevins blog

 

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


      3:开始制作
         安装向导完成后即可进入项目文件夹:
        双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类和组件添加进来.

visual studio 2005 c打包发布成安装文件 - Kevin - Kevins blog

然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的"用户的'程序'菜单"和"用户桌面"中.这样安装程序安装安装完成后会在 "开始->所有程序"和"桌面"上生成程序的快捷方式.

visual studio 2005 c打包发布成安装文件 - Kevin - Kevins blog

然后右击左边的"应用程序文件夹"打开属性对话框:

将属性中的"defaultlocation"的路径中的"[manufacturer]"去掉,
不然的话做好的安装程序默认安装目录会是"c:\programm file\你的用户名\安装解决方案名称";

然后打开解决方案管理器,右击你的解决方案名称,选择属性:


在打开的属性页中,选择"系统必备",

visual studio 2005 c打包发布成安装文件 - Kevin - Kevins blog

在打开的系统必备页中,选中如下中的选择项,这个很重要!!!!!1!!!!!
       选上以后,在生成的安装文件包中包含.netframework组件.(这个选项默认是没有选中的)

visual studio 2005 c打包发布成安装文件 - Kevin - Kevins blog

好了,这样就完成99%了,然后点击"生成->生成解决方案",哈,生成成功!
4:制作完成
现在打开解决方案文件夹下的debug文件夹,就可以看到生成的安装文件了.



】关于"卸载"功能的添加
上面的文章只介绍了简单的生成安装的方法,
但是在vs.net2005下并没有直接生成卸载程序的功能,
所以我们只好用msi来实现了,

1】:在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,
这个文件在c:\windows\system32文件夹下,

visual studio 2005 c打包发布成安装文件 - Kevin - Kevins blog

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



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

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

visual studio 2005 c打包发布成安装文件 - Kevin - Kevins blog

 

visual studio 2005 c打包发布成安装文件 - Kevin - Kevins blog

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

posted @ 2009-08-17 15:00 甲乙丙丁 阅读(3122) 评论(1) 推荐(0) 编辑
  2009年3月24日
摘要: 哈夫曼树又叫最优二叉树,指具有一组特定权值的叶子节点的具有最小带权路径长度的二叉树。 实现代码如下:[代码] 阅读全文
posted @ 2009-03-24 00:20 甲乙丙丁 阅读(641) 评论(0) 推荐(0) 编辑
  2009年3月16日
摘要: 我跟朋友在路边一个不起眼的小店里吃面,客人不多,我们就和小老板聊起来。 谈及现在的生意,老板感慨颇多,他曾经辉煌过,在兰州拉面最红火的时候在闹市口开了家拉面馆,日进斗金,后来却不做了。朋友心存疑虑地问他为什么。 “现在的人贼呢!”老板说,“我当时雇了个会做拉面的师傅,但在工资上总也谈不拢。” “开始,为了调动他的积极性我们是按销售量分成的... 阅读全文
posted @ 2009-03-16 20:49 甲乙丙丁 阅读(809) 评论(2) 推荐(0) 编辑
  2009年3月15日
摘要: 由于学习进度的原因,二叉树没有在3月12日植树节那天学习,现在乘者3月15日的日子,将学习的内容代码部分发布,网友可以在编程环境下运行。 这里采用二叉链表,实现的代码见下:[代码] 阅读全文
posted @ 2009-03-15 16:35 甲乙丙丁 阅读(305) 评论(0) 推荐(0) 编辑
  2009年3月13日
摘要: 在应用程序中使用最频繁的类型是字符串,尽管C#中已经有了String类型,废话不多说了。 实现代码如下:[代码] 阅读全文
posted @ 2009-03-13 22:06 甲乙丙丁 阅读(534) 评论(0) 推荐(0) 编辑
  2009年3月12日
摘要: 判断一个字符串是否为回文。回文是指一个字符序列以中间字符为基准两边字符完全相同的字符序列,如:ABCFCBA 程序中我引用了已经封装好的文件QueueStack.dll,这个文件其实就是前面2个队列和栈类封装在一个类库中的。具体如何实现类的封装,网上有很多例子,这里不写出来了。 代码见下:[代码] 阅读全文
posted @ 2009-03-12 16:11 甲乙丙丁 阅读(444) 评论(1) 推荐(0) 编辑
  2009年3月11日
摘要: 队列为循环队列,使用循环队列的原因是:防止假溢出。[代码] 阅读全文
posted @ 2009-03-11 20:39 甲乙丙丁 阅读(1032) 评论(0) 推荐(0) 编辑
  2009年3月10日
摘要: 括号匹配是计算机程序设计经常遇到的问题。为了简化问题,假设表达式只允许有2种括号:(),【】。 匹配格式为:(()【】)和【()【()】【】】视为正确匹配。具体实现部分见下图代码:衷心希望网友提出改进意见,大家共同进步。[代码]完整代码如下:[代码] 阅读全文
posted @ 2009-03-10 11:57 甲乙丙丁 阅读(2575) 评论(0) 推荐(0) 编辑
  2009年3月9日
摘要: 数制转换是将任意一个非负的十进制数转换为其他进制的数,一般的方法是采用辗转相除法。参考《C#数据结构》 N N/8 N%8 5142 642 6 642 80 2 80 10 ... 阅读全文
posted @ 2009-03-09 19:53 甲乙丙丁 阅读(1526) 评论(0) 推荐(0) 编辑
  2009年3月7日
摘要: 对于栈的操作很像顺序表操作方法,同样使用了泛型类和接口来实现,代码如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1using System; 2using System.Collections.Generic; 3usin... 阅读全文
posted @ 2009-03-07 15:16 甲乙丙丁 阅读(303) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示