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程序的发布打包过程就讲解完了。

VS2008 Windows Form项目安装包生成详解的更多相关文章

  1. VISUAL STUDIO 2008 WINDOWS FORM项目发布生成安装包详解(转)

    转自:http://www.cnblogs.com/killerofyang/archive/2012/05/31/2529193.html Visual Studio 2008 Windows Fo ...

  2. electron热更新与windows下的安装包

    帮朋友公司做了点东西,他说有很多bug,我一看,基本问题都是浏览器兼容引起的,而electron内带Chromium内核,正好一直想尝试下electron,所以研究了一波.这里只是简单的使用elect ...

  3. windows上pip安装及使用详解

    windows上pip安装及使用详解 2018-11-21 19:49:58 十二笔 阅读数 8229更多 分类专栏: Python学习   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA ...

  4. DELL R720服务器安装Windows Server 2008 R2 操作系统图文详解

    DELL R720服务器安装Windows Server 2008 R2 操作系统图文详解 说明:此文章中部分图片为网络搜集,所以不一定为DELL R720服务器安装界面,但可保证界面内容接近DELL ...

  5. 项目log4j日志管理详解

    项目log4j日志管理详解 log4j日志系统在项目中重要性在这里就不再累述,我们在平时使用时如果没有特定要求,只需在log4j.properties文件中顶入输出级别就行了.如果要自定义输出文件,对 ...

  6. Windows系统Git安装教程(详解Git安装过程)

    Windows系统Git安装教程(详解Git安装过程)   今天更换电脑系统,需要重新安装Git,正好做个记录,希望对第一次使用的博友能有所帮助! 获取Git安装程序   到Git官网下载,网站地址: ...

  7. p2p网贷项目开发全过程技术详解,应用框架是ci2.2

    p2p网贷项目开发全过程技术详解,应用框架是ci2.2 很标准的mvc开发代码,代码也很简单,方便二次开发 这篇文章会不断更新

  8. Android项目刮刮奖详解(二)

    Android项目刮刮奖详解(一) 前言 上期我们简单地实现了一个画板的功能,用户可以在上面乱写乱画,其实,刮刮奖也是如此,用户刮奖的时候也是乱写乱画的. 刮刮奖原理 一共有两层画布,底层画布存放中奖 ...

  9. Android项目刮刮奖详解(三)

    Android项目刮刮奖详解(二) 前言 上一期我们已经实现了一个简易的刮刮卡功能,这一期我们来将其完善一下 目标 将刮刮奖的宽高改为合适高度 将刮刮奖位置居中 将信息层的图片换成文字(重点) 实现 ...

随机推荐

  1. Java基础小总结

    1,Java事件处理机制 (1)三部分:事件源.事件(处理)对象.实现事件监听器: (2)事件处理程序:可以通过ActionEvent e,e.getSource确定是哪个事件触发了,然后通过类似JB ...

  2. 三部曲一(数据结构)-1011-Sorting It All Out

    每次加入一个关系都要进行拓扑排序,不过在排序过程中需要判断是否出现多个入度为0的点,如果出现了就说明不能确定大小关系.不论出不出现多个入度为0的点拓扑排序都要进行到最后来判断是否出现环,因为一旦出现环 ...

  3. React Native中的网络请求fetch和简单封装

    React Native中的网络请求fetch使用方法最为简单,但却可以实现大多数的网络请求,需要了解更多的可以访问: https://segmentfault.com/a/1190000003810 ...

  4. 动态获取项加入到SQL中去统计

    public static List<CustomerAppraisalInfo> ListCustomerAppraisal(int pageIndex, int pageSize, s ...

  5. C语言中的 extern 关键字

    今天在 BLE 中看到很多 extern 关键字,现在总结一下: extern 关键字主要用于在一个c文件中要用到另一个c文件中的变量或者函数. example: #extern_base.c ; # ...

  6. kibana ,logstash and filebeat

    https://www.elastic.co/guide/en/kibana/current/install.html https://www.elastic.co/guide/en/logstash ...

  7. jQuery的attr与prop,attribute和property区别

    jQuery1.6中新添加了一个prop方法,看起来和用起来都和attr方法一样,这两个方法有什么区别呢?这要从HTMl 的attribute与property区别说起,attr与prop正是这两个东 ...

  8. 【python】and和or的用法

    python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值. or也是从左到有计算表达式,返回第一个为真的值. IDLE 1.2.4>>> ...

  9. 【python】进程

    multiprocessing 如果你打算编写多进程的服务程序,Unix/Linux无疑是正确的选择.由于Windows没有fork调用,难道在Windows上无法用Python编写多进程的程序? 由 ...

  10. C# using 三种使用方式

    http://www.cnblogs.com/fashui/archive/2011/09/29/2195061.html 1.using指令. using 命名空间名字.例如: using Syst ...