转自:http://www.cnblogs.com/killerofyang/archive/2012/05/31/2529193.html

Visual Studio 2008 Windows Form项目的发布对有经验的程序员来说,可能不值一提,但对很多新手来说却不知道如何操作,因为在很多关于Visual Studio的书籍中也没有相关介绍,权威如《C# 2005/8 高级编程》对该内容也末涉及。好在网络上不乏热心网友对相关操作经验进行分享,只是在表述上并不详尽,笔者觉得有必要对该操作方法详细说明一番,希望能对有些新手朋友起到一些帮助。有时学习的乐趣不在于我们掌握了何种技术、何种技巧,善于总结、学会分享也是一种不错的体验,在我们遇到问题茫然无助时,都是多么希望能有过来人给我们指引,希望我们也能成为别人学习历程中的一个指路人。

下面就让我来说一说,如何将我们已经测试好的项目,打包发布成一个商品化软件,可双击安装的应用程序。

一、新建一个安装项目

操作步骤:文件->新建->项目,在“新建项目”对话框左边“项目类型”中选择“其它项目类型”下面的“安装和部署”,在对话框右边的“模板”窗口中选择“安装项目”。

图示如下:

给该安装项目取一个名称,如:mySetup ,并选择一下项目存储位置,如:E:\,然后单击“确定”,确定后会进入安装项目工作界面。如下图所示:

二、在“应用程序文件夹”下添加两个文件夹,一个叫image用来存储程序的ICO图标,另一个叫program用来存储自己开发项目的Debug下面编译好的所有文件。选中“program”,点右键添加文件,通过浏览对话框找到自己开发程序的Bin\Debug目录下的文件,将它们都添加进来。

添加后的界面如下:

三、向“用户的‘程序’”菜单中添加内容,可先添加一个文件夹,比如取名“教材管理系统”,再将program中的你的程序的可执行文件***.exe选中点右键,选择“创建***.exe”快捷方式,如下图:

给创建好的快捷方式重新命名,如“教材管理系统Ver1.0 ”,然后将其剪切到“用户的‘程序’菜单”,重复上述操作,在“用户桌面”下添加同样的快捷方式。这样在安装之后,在开始菜单“程序”与用户的桌面上就会有相应程序的菜单项及图标了。

四、给“用户的‘程序’菜单”中添加卸载该软件命令项,首先,要在program文件夹下添加Windows自带的卸载程序文件“msiexec.exe”,其路径为“C:\WINDOWS\system32”然后将其重新命名,改成“uninstall.exe”,如下图所示:

给其创建一个快捷方式,给快捷方式重新命名,如“卸载教材管理系统”,再将其剪切到用户的“程序”菜单下面的“教材管理系统”文件夹中,如下图所示:

接着要设定该卸载快捷方式的Arguments属性,如下图所示:

命令行参数要填上要卸载程序的产品代码,代码在项目mySetup属性下的ProductCode对应的值,将其复制一下,如下图:

然后copy到卸载快捷方式的Arguments参数值上,并在前面加上“/x ”,如下图所示:

五、给应用程序添加图标 将自己喜欢的图标小文件添加到Image文件夹下,然后选中用户的“程序”菜单下面的快捷方式,在属性窗口中的 Icon中为其快捷方式添加图标。

六、添加相关的系统必备项,确保在安装时不缺少相关的文件  选中mySetup项目,点右键属性,在出现的属性页对话框中有“系统必备”按钮,如下图所示:

在出现的对话框中选择相关的必备项,如下图所示:

七、生成项目

生成成功后,在项目的Bin\Debug目录下就会找到生成好的两个安装文件,如下图所示:

双击setup就可以安装了,安装好后,在开始菜单中就会找到相应的菜单命令,如下图所示:

同样,在用户的桌面上也会有一个可执行的快捷方式图标。

到此,一个完整的VS2008程序的发布打包过程就讲解完了,希望能对你的学习有些帮助。第一次发博,写得有点烦琐,高手勿^_^ 。

VISUAL STUDIO 2008 WINDOWS FORM项目发布生成安装包详解(转)的更多相关文章

  1. VS2008 Windows Form项目安装包生成详解

    2008 Windows Form项目的发布对有经验的程序员来说,可能不值一提,但对很多新手来说却不知道如何操作,因为在很多关于Visual Studio的书籍中也没有相关介绍,权威如<C# 2 ...

  2. [vs2008]Visual Studio 2008 SP1添加或删除功能提示查找SQLSysClrTypes.msi文件

    前言 今天接到领导布置的一个任务,是之前同事负责的项目.离职了,现在客户有些地方需要修改,由于我之前参与过,就落在我的头上了. 然后我就把代码弄了过来,打开发现其中需要用到水晶报表.(我觉得不好用,不 ...

  3. 使用Visual Studio 2008创建你的第一个Windows Mobile程序介绍

    使用Visual Studio 2008创建你的第一个Windows Mobile程序介绍 Windows MobileMobileWindowsMicrosoftWinForm 介绍 Microso ...

  4. 如何:使用 Visual Studio 中的一键式发布来部署 Web 应用程序项目

    原文: 如何:使用 Visual Studio 中的一键式发布来部署 Web 应用程序项目 本主题介绍如何在以下产品中使用 一键式发布 发布(部署)Web 应用程序项目: Visual Studio ...

  5. Windows 7 Visual Studio 2008配置OpenGL开发环境

    Windows 7 Visual Studio 2008配置OpenGL开发环境 glut下载地址: http://www.opengl.org/resources/libraries/glut/gl ...

  6. Visual Studio 2008常见问题

    1.asp.net在什么软件上运行?学习asp往往需要测试asp程序,电脑不能直接测试,需要装IIS才能运行,但装IIS要么需要安装盘,要么需要安装包,而且设置也很复搜索杂.这里给大学推荐两个替代II ...

  7. Visual Studio 2008 附加进程调试

    关于附加进程调试的问题: 在项目当中经常使用“附加到进程”来调试项目,感觉挺方便的.我们做的项目通常都会发布到IIS(特别是B/S),一可以直接通过地址栏输入地址就可以运行项目,不必去使用开发工具来打 ...

  8. 本周ASP.NET英文技术文章推荐[02/03 - 02/16]:MVC、Visual Studio 2008、安全性、性能、LINQ to JavaScript、jQuery...

    摘要 继续坚持,继续推荐.本期共有9篇文章: 最新的ASP.NET MVC框架开发计划 Visual Studio 2008 Web开发相关的Hotfix发布 ASP.NET安全性教程系列 ASP.N ...

  9. 体验Visual Studio 2015 Windows Forms应用程序开发与维护

    昨天到半夜还没有等到Visual Studio 2015的下载地址,实在熬不住就先休息了.北美地区的时区比北京时间要晚一些,今天早上到公司就看到Visual Studio 2015的下载地址,迅速的将 ...

随机推荐

  1. java hashtable

    java hashtable Hashtables提供了一个很有用的方法可以使应用程序的性能达到最佳. Hashtables(哈希表)在计算机领域中已不 是一个新概念了.它们是用来加快计算机的处理速度 ...

  2. JSP MVC

    Java的MVC玩起来比.Net的有意思,因为每一步你都知道它是如何运作的,都由自己去实现.而在.Net的MVC中,你却不知道一个Controller是如何对应到View中的,因为MS给了你IDE上的 ...

  3. 面向对象设计模式--观察者模式(Observer)

    要点: 1.如何使用观察者模式: 对应使用这个模式的用户(main)来说,subject和observer这两个基类是不被关系的,在调用者(main)中只是有concreteSubject和concr ...

  4. MATLAB绘 透视图

    MATLAB绘图随记(1)--如何画一个透明平面 http://blog.sina.com.cn/s/blog_5cd4cccf0100q90p.html 小老板让我绘个图 找了些资料 最后发现mat ...

  5. POJ #1141 - Brackets Sequence - TODO: POJ website issue

    A bottom-up DP. To be honest, it is not easy to relate DP to this problem. Maybe, all "most&quo ...

  6. phpstorm 配置自带webserver ,配置根目录

    版权声明:本文为博主原创文章,未经博主允许不得转载. from http://blog.csdn.net/pony_maggie/article/details/52367093   目录(?)[-] ...

  7. 51nod1313 完美串

    一个N长的字符串S(N<=3000),只由'R','G','B'三种字符组成,即串中不存在除了这3个字符以外的其他字符.字符串S的子串substr(L,R)指S[L]S[L+1]S[L+2].. ...

  8. 106. Construct Binary Tree from Inorder and Postorder Traversal

    Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assume that ...

  9. 3. redis的超时,事务,watch

    一. 键的生存时间 expire设置一个已经存在的key的生存时间,到时间后redis自动删除这个 命令 expire 设置生存时间(单位/秒) pexpire设置生存时间(单位/毫秒) ttl/pt ...

  10. LinkedHashMap的实现原理(复习)

    1. LinkedHashMap概述: LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序.此实现提供所有可选的映射操作,并允许使用null值和null键.此类不保证映 ...