WPF程序非常适合公司内网使用,唯一缺点就是客户端要安装.net框架4.0。优势也很明显,在客户端运行的是一个WinForm程序,自动下载,可以充分利用客户机的性能,而且是以当前的Windows用户权限运行,避免了权限带来的问题。而我觉得最大的益处还是可以自动更新!这样就具备了CS程序功能强大速度快的优点,又有BS程序部署升级容易的优点。

本文要讨论的就是,WPF ClickOnce应用程序的发布,IIS设置,客户端使用的一系列过程。

一、先建立一个IIS网站承载WPF应用程序。

1、新建一个目录,命名IISWpf。

2、打开IIS管理器,添加网站。

确定,网站就建好了。打开物理路径F:\IISWpf,新建一个目录WPFApp_01,以后每增加一个应用程序就建一个目录。

二、现在开始Visual Studio的工作

新建项目,选择WPF应用程序。注意:不是WPF浏览器应用程序。

重点是项目属性的设置。

安全性,启用ClickOnce安全设置

编译好,下一步就可以发布了。

选择iis_wpf_host下的WPFApp_01。点"打开",系统会有一个对话框询问这是一个应用程序,是否打开?当然选是。

立即发布!

这时在物理路径下多了一些东西,这就是发布的内容。

到现在运行这个程序的地址已经有了:http://本机IP:7000/WPFApp_01/

例如:http://localhost:7000/

三、回到IIS管理器设置默认文档

在设置默认文档前,右键WPFApp_01,转换成应用/convert to application. 文件夹图标会转换成地球图标。

增加默认文档:XXERP.application。

4. 发布ClickOnce包

在发布前,我们再说两个东西,那就是代码访问安全和程序签名。

  • 代码访问安全:ClickOnce 应用程序受 .NET Framework 中代码访问安全性约束的限制,以帮助限制代码访问受保护的资源和操作的权限。 因此,了解代码访问安全性的含义以相应地编写 ClickOnce 应用程序是十分重要的。 您的应用程序可以使用完全信任或使用部分区域(如 Internet 区域和 Intranet 区域)来限制访问权限。
  • 程序签名:ClickOnce 使用证书验证应用程序发行者的真实性,并使用证书为应用程序和部署清单签名,以证明文件未被篡改。 签名是一个可选的步骤,它会使在生成清单以后更改应用程序文件更容易。 然而,在没有签名清单的情况下,很难确保应用程序安装程序在受到中间人安全攻击时不被篡改。 出于这个原因,我们建议您对应用程序清单和部署清单进行签名,以帮助保护您的应用程序。

这部分的解释和详细介绍可以看MSDN里面的保护应用程序章节。

然后点击发布按钮即可,发布成功后IE会自动打开发布好的页面,你只需要将发布的地址给需要安装此程序的客户就可以轻松完成程序的部署了。

5. 问题补遗

  • 关于签名过期的问题可以参考园友许海彪的这篇文章:解决ClickOnce签名过期问题。
  • 关于ClickOnce信任文件大小的问题,修改注册表HKEY_CURRENT_USER/Software/Classes/Software/Microsoft/Windows/CurrentVersion/Deployment
    做成一项“OnlineAppQuotaInKB”的DWROD值即可。

看看完成的结果,打开IE,输入网址http://本机IP:7000/WPFApp_01/

我的备注:IE,EDGE都能打开。本地测试Chorme无法下载打开。

以上转载自:REF1:http://www.cnblogs.com/edong/archive/2013/06/06/3121623.html

ref2:http://gcsjl8.com/forum.php?mod=viewthread&tid=102

其他:没有安装IIS 服务的,百度如何安装IIS服务。

本机测试碰到一些报错,无法显示网页,因为没有权限读取目录:可以在Directory Browsing中点击Enable,打开后,会显示如下图。

转载于:https://www.cnblogs.com/watermarks/p/8463453.html

WPF ClickOnce应用程序IIS部署发布攻略相关推荐

  1. 程序员技术练级攻略--原作者:陈皓

    复制过来,作参考用. 程序员技术练级攻略 2011年07月18日  陈皓 评论 596 条评论  754,044 人阅读 月光博客6月12日发表了<写给新手程序员的一封信>,翻译自< ...

  2. 计算机专业 程序员技术练级攻略(转载)

    程序员技术练级攻略 转载自: https://coolshell.cn/articles/4990.html 前言 你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可 ...

  3. 陈皓:程序员技术练级攻略

    原文:https://coolshell.cn/articles/4990.html 程序员技术练级攻略 2011年07月18日  陈皓 评论 626 条评论  9,799,612 人阅读 注:该文最 ...

  4. 程序员求职跳槽攻略,太全了

    大家好,程序员求职跳槽攻略系统整理了一些实用的面试经验,全方位助力大家拿下高薪offer! 如何选择目标公司 1.大企业 很多人想到知名的公司,当然没问题.把目标定得高一点,努力去实现这个目标,即使最 ...

  5. win11系统前端IIS部署发布网站步骤

    目录 IIS安装配置 1.打开控制面板 2.选择启用或关闭Windows功能 3.将Internet Information Services中的三项全部选中,再点击确定 添加网站 1.开始菜单搜索 ...

  6. [转]程序员技术练级攻略

    2019独角兽企业重金招聘Python工程师标准>>> 月光博客6月12日发表了<写给新手程序员的一封信>,翻译自<An open letter to those ...

  7. 【学习】程序员技术练级攻略

    为什么80%的码农都做不了架构师?>>>    月光博客6月12日发表了<写给新手程序员的一封信>,翻译自<An open letter to those who ...

  8. 【转载】程序员技术练级攻略

    月光博客6月12日发表了<写给新手程序员的一封信>,翻译自<An open letter to those who want to start programming>,我的朋 ...

  9. 程序员技术练级攻略(转载)

    谨以此文献给仍碌碌无为,却渴望成功的Me!,码农路漫漫,需要有一颗坚定的心 本文转载自左耳朵耗子的博文,地址:http://coolshell.cn/articles/4990.html 月光博客6月 ...

最新文章

  1. 在Ubuntu 16.04.5 LTS上升级python的pip版本实录
  2. appcompat_v7\res\values-v21\themes_base.xml:158: error: Error: No resource
  3. 小程序存emoji表情 不改变数据库
  4. input元素选择图片,并转换为base64格式在img标签显示
  5. android 访问https服务器
  6. TCP之三次握手和四次挥手过程
  7. 统计无符号整数二进制中 1 的个数(Hamming Weight)
  8. python实习目的_python爬虫系列---为什么要学习爬虫
  9. linux登录日志保存多久,Centos清除系统日志和登录记录-Linux清除系统日志和登录记录的方法-吾爱编程网...
  10. HMI 软件内存异常,导致奔溃退出的bug
  11. uefi引导gpt安装win10_uefi安装win10系统原版镜像教程
  12. 戏说面向对象程序设计
  13. 5 --> radius 协议原理解析
  14. Android实现侧滑recycleView+CardVeiw卡片阴影效果
  15. 清除显卡右键菜单批处理.bat
  16. 何夕 - 六道众生·何夕科幻自选集(2014年1月31日)
  17. Android Studio如何更改app名称
  18. 导出 Excel 表格
  19. Unsupervised Question Answering by Cloze Translation
  20. 201771010101 白玛次仁 《2018面向对象程序设计(Java)》第十七周学习总结

热门文章

  1. linux 删除文件_Linux删除文件夹命令有哪些
  2. Random Forest 实用经验(转)
  3. hbase中清空整张表的数据
  4. Dockerfile构建容器镜像 - 运维笔记
  5. 51nod 1343 行列式的根
  6. Codevs 1689 建造高塔
  7. tcp client.cs
  8. [SCOI2012]滑雪 (最小生成树 Kruskal)
  9. 详解JDBC连接数据库
  10. 异常处理try...catch...throw