winform 制作安装程序,及程序的升级

来源:互联网 发布:无硅油洗发水品牌知乎 编辑:程序博客网 时间:2024/05/16 06:47

      当你的项目完工,要做成打包程序给别人用时,就要用到打包相关的知识了,

现在网上有很多打包工具,功能很多也很好用,在此处只说一下利用vs安装部署工具打包。

1、打包项目的建立

      在现有工程上右键,依次选择“添加”-->“新建项目”打开项目添加面板,在面板左侧选择“其他项目类型”-->“安装和部署”-->“Visual Studio Installer”。

在右侧窗口中选择“安装项目”或“安装向导”(这两种类型的项目区别:在添加项目输出的选择输出文件的方式不同,没有仔细研究其它方面)。在此我们选择“安装向导”并为打包项目命名为“Setup”。一路“下一步”,在选择“需要包括的项目输出组”这里按自己需求选择,我们这里测试所以全选了。在选择“要包括哪些附加文件”这里自己选择需要的附件。点击“完成”。打包项目就建好了。如下图所示。

2、给打包程序添加文件
       右键打包项目(Setup),依次选择“视图”-->“文件系统”。出现如图所示:
 
如果还想加些什么东西的话,可以在“应用程序文件夹”右键,或在右侧空白处右键,进行添加,详细就不说了,试一下就很清楚了。
3、建立快捷方式
       一个打包程序在别人看来最好的入口莫过于快捷方式了。我们接着做桌面的快捷方式和开始菜单的快捷方式。
     程序菜单快捷方式: 点击“用户的‘程序’菜单”-->“新建文件夹”,这里是为了将快捷方式放到文件夹里看起来方便些。将新建的文件夹命名为“测试程序”。左键选择“测试程序”文件夹,在右侧的空白面板上右键-->“创建新的快捷方式”,如图:
选择“应用程序文件夹”,选择类型为“输出”的文件,一般情况下,这个文件是你程序的入口程序。我们这里选择我们工程中的项目:
,确定后,出现新建的快捷方式,我们将其命名为“开始菜单快捷方式”。
      桌面快捷方式:步骤同上。并命名为“桌面快捷方式”。
就此程序启动的快捷方式完成。
      当然一个应用程序应该还有卸载的功能,否则要到“添加删除程序”里去删的话,实在太不方便了,在此,我们调用windows自带的程序。
      程序位置:C:\WINDOWS\system32      程序名称:msiexec.exe。
     加入方法:右击“应用程序文件夹”-->添加-->文件,到相应目录下找到该文件,添加进去。我们顺便加一个类型为“.ico”的图标文件,以后会在快捷方式上加上图标,会使快捷方式好看些。现在如图所示:
 
 
     添加“卸载程序”快捷方式:点击“用户的‘程序’菜单”,如同添加开始菜单快捷方式一样,将卸载程序快捷方式加入进来。
然后给这个快捷方式一个指向,让它指到要被卸载的文件上。按以下步骤:
    1)、查看Setup项目的属性(是按F4出来的那种,不是右键出来的属性)。在当中有一行属性是:ProductCode,把它的值复制下来。放在“卸载程序”的快捷方式的属性Arguments中(/x {7D90DD20-6C02-4179-98EA-6E62785BF224}),如图:
  注意: 下图中Arguments的属性值前一定要有"/x"
   至此,一个基本的打包程序形成,现在可以右键“Setup”项目-->生成,这时会在相应的debug或release目录下生成安装文件了。
   在上图中可以看到有一个Icon属性,点击它的值,可以导入一个“.ico”的图标,这个图标就是快捷方式的图标了,现在我们把之前添加的“.ico”文件放到这里,具体做法应该一操作就明白,我就不再赘诉了。
  我们还可以按如下界面设置一下安装程序的信息
 
 
  下面看一下安装结果:
 
     
  
 
 
 
4、安装程序的升级
      我们安装了一个程序之后,总是希望在安装新版本的时候自动将原版本的程序覆盖掉,但是通常我们会忽略一些小细节,以致系统提示我们要先卸载掉原版本后,再执行安装。下面就来说说这两个小细节,解决了这两个小细节,我们的安装程序就可以覆盖安装了。
     ( 注:如果想要那种打开原程序就自动检测新版本然后下载安装的话,那就不要往下看了,因为以下的内容不会实现,只是在安装过程中将原版本删除的一种方法,并非有针对性的覆盖。)
     在打包新的程序时(打包新的程序是指:之前已经打包了一个安装程序),要修改两个地方。一是版本号和卸载程序的指向,二是移除之前版本的属性。如下图所示:
 
 
    版本号:就是上图中的 "Version" ,这里每打包一次,需要将版本号修改一次,版本号修改的同时,"productCode" 的值会跟着变化。
    卸载程序指向:还记得我们的卸载程序的指向就是上图中的 "ProductCode" 的值吧?现在这个值改变了,那我们需要将卸载程序快捷方式中 "Arguments" 的值做相应的修改,记得不要少了 "/x  "。
    移除之前版本的属性:就是上图的 "RemovePreviousVersions"属性,这里我们要把 "false"改成"true",这样会在安装时自动将电脑中的旧版本卸载。
    做了这两项修改,那我们再生成的安装文件就可以直接安装了。
 
原创粉丝点击