ClickOnce部署(1):一些发布方式
ClickOnce是什么玩意儿,这个问题嘛,在21世纪的互联网严重发达的时代,估计也没有必要大费奏章去介绍了,弄不好的话,还有抄袭之嫌。因此,有关ClickOnce的介绍,各位朋友可以直接查找MSDN文档,或者看下面这里,这是百度百科上的,其实也是Ctrl + C版本。http://baike.baidu.com/view/1390498.htm
如果你对这些理论的东西不感兴趣,没关系,上面所提及的内容你完全可以无视之。我们只要知道,ClickOnce是一种应用程序部署方式即可。那什么是部署呢? 我们不妨查一查词典,部署的释义为安排、布置等,而放到我们的应用程序来说,我们通俗的叫法就是安装。即把你开发好的应用程序布置到客户的计算机上,或者说安装到客户的计算机上,这就是部署。
所以我们可以说ClickOnce应用程序就是一类安装包装,它可以一步到位进行安装,而不像我们所使用的传统安装包那样,要N个"下一步",然后才是完成。
也许有人也说,发布ClickOnce包不是很简单吗? 在VS里面点几下鼠标就完事了吗? 你还拿来写博客干吗? 首先,法律并没有规定简单的东西不能拿来写博客;其次,对于许多初学者朋友来说,我想是有参考价值,至少会有;再者,有些小问题可能大家经常会忽略的。
我们先来发布一个Windows Forms应用程序,练练手。
准备条件:先确保安装了IIS,如果没有,就赶紧动手吧,因为下面我们要做的例子,是把ClickOnce同时发布到本地文件和IIS服务器上的。至于如何安装,请Search the Internet吧。
- 以管理员身份运行VS。新建一个Windows窗体应用程序项目。
- 把窗口的标题(Text属性)改成你要的标题,我这里改为"宇宙无敌应用程序"。然后再拖一个Label控件,把文本改为"超级应用,天下无敌。"。大概就如下图所示。是不是很霸气?
- 好了,就这样吧,够简单,这就是我们待会儿要发布的应用程序。
- 好,开始发布ClickOnce安装程序。打开"解决方案资源管理器",在项目节点上右击,从弹出的快捷菜单中选择【属性】,打开项目属性窗口,切换到"发布"选项卡。
- 如下图所示,有两个发布位置。
发布位置可以选择本地文件夹,也可以选择IIS上的Web服务器地址,当然FTP也行。这两个地方也没什么特别,如果你计划把应用程序直接发布到本地,就这样填:
如果你想把安装程序发布到服务器,可以这样填,也可以单击右边的按钮来选择一个位置。
如果你希望在本地文件目录中发布一份,同时又想放到服务器上让用户下载,可以这样填。
- 安装模式一般选择第二项,不用解释,看字面意思就明白了,如下图。
- 我们的程序一般来说不可能是"终极"版,通常我们会不断更新或升级,所以,在"发布"页面中,我们可以单击"更新"按钮,随后会弹出一个窗口,如下图。
我们可以设置应用程序在什么时候检查更新,这里我改为每次运行时都检查更新。
获取更新位置,可填可不填,通常与发布位置相同。
点击确定按钮,关闭窗口。
- 发布版本号,勾选"随每次发布自动递增修订号"。这样一来,我们既可以自己填写版本号,如果忘记修改,也可以自动更新。
- 单击"发布向导"按钮,打开向导窗口,这里我们可以重新设置发布位置。
- 单击下一步,选择一种安装来源。
我们前面设置了IIS服务器的位置,所以默认是从网站安装,如果我们的应用程序是刻到光盘中来分发给客户的,也可以选择从CD/DVD安装。
- 单击下一步,选择应用程序的运行方式,如果选择CD/DVD安装,则不需要此步。
通常较好的做法是选择既可以离线使用,也可以在连接时使用。
- 单击下一步,再单击完成按钮,这时候我们会看到VS正在发布ClickOnce应用程序。
只要看到"发布成功"四个字就说明大功告成了。
下面我们来测试一下。
本地安装:我们上面的例子是生成了两个ClickOnce安装程序的,一个在本机文件中,一个在IIS服务器上。找到发布后的本地目录,如上面的d:\MyPublic\。双击setup.exe或MyApp.application文件,都可以启用安装程序。
我们看到,出现安全提示,如果确定应用程序来源合法,可以点击"安装"按钮进行安装。
安装成功后,我们的超级应用程序就运行起来了。
既然是叫ClickOnce了,那为什么我们刚才Click了不止一次呢? 那是因为缺少可信任的发布者证书导致出现安全提示的。在下一节中,我们会介绍如何自己制作证书,并在客户计算机中安装证书,那时候大家就会看到真正的ClickOnce,只要Click一下就可以安装了。
现在,我们可以打开"程序和功能"控制面板把应用程序卸载掉。
网站安装:打开浏览器,输入刚才发布的Web地址,在后面加上一个.application后缀的文件名。比如我们这个例子的清单文件叫MyApp.application。但我们会发现,找不到资源。
打开服务器上的目录一看,里面竟然是空的,我晕。
没关系,我们只要把刚才的发布选项改一下就行了。
然后重新发布就可以了。
我们看到,安装程序可以被激活了。
无论是哪种方式发布,无非就是把安装给客户,然后安装到他们的机器上罢了,所以,大家觉得哪种做法最简单就用哪种。这些东西也没有说什么硬性的条条框框,一切都是技巧而已。
好吧,本篇就说到这里吧。88