zoukankan      html  css  js  c++  java
  • .net core 和 WPF 开发升讯威在线客服系统:把 .Net Framework 打包进安装程序

    .net core 和 WPF 开发升讯威在线客服系统:把 .Net Framework 打包进安装程序

     

    本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程。


    系列文章目录:
    https://blog.shengxunwei.com/Home/Post/44a31a32-d4e1-4ddd-8526-8a2bcd2e22be


    视频实拍:演示升讯威在线客服系统在网络中断,直接禁用网卡,拔掉网线的情况下,也不丢消息,不出异常。
    https://blog.shengxunwei.com/Home/Post/fe432a51-337c-4558-b9e8-347b58cbcd53


    随着系统的用户越来越多,经常有朋友和我反馈,客服人员不会安装 .Net Framework。

    我在之前的安装程序中,已经实现了自动检测 .Net Framework 环境,并能够引导用户打开网站进行下载,但依然有很多客服人员不会操作。需要公司的技术人员协助下载安装。

    看来只有一个办法,就是把 .Net Framework 直接打包进安装程序并实现检测之后的自动安装。本篇将详细介绍实现办法。

    实现效果如下,第一步安装客服系统:

    随后安装程序将检测,如果系统没有安装 .Net Framework,则自动执行 .Net Framework 安装。

    注意下图进度条上的提示文字:Installing Microsoft .Net Framework 4.8...

    重新制作安装程序之后,用户的技术小伙伴终于舒服了。


    实现办法:

    我使用的是 Inno Setup 这款软件来制作的安装包,它可以通过编写脚本的方式,自定义安装过程。

    如何使用 Inno Setup 制作基本的安装包,网上有很多教程,本文不再赘述,重点讲一下如何实现对 .Net Framework 的环境检测和集成其安装程序自动安装。

    检测 .Net Framework 环境

    使用 Inno Setup 提供的 RegKeyExists 函数,对注册表进行查找,通过对 SOFTWARE\Microsoft\.NETFramework 的检测,判断是否安装过 .Net Framework 版本和对应的版本号。

    dotNetV2RegPath:='SOFTWARE\Microsoft\.NETFramework\Policy\v4.0';
    
    if(FileOrDirExists(tmppath)) then
    begin
      Exec(tmppath, '/q', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
    if RegKeyExists(HKLM, dotNetV2RegPath) then
    begin
      Result := true;
    end
    

    自动执行 .Net Framework 安装程序

    这一步是本次改造的重点,相比之前仅仅给用户一个提示,要友好很多,也解决了客服人员不会下载安装的问题。

    dotNetV2PackFile:='{src}\dotNetFx40_Full_x86_x64.exe';
    
    Path := ExpandConstant(dotNetV2PackFile);
    tmppath :=  ExpandConstant('{tmp}\dotNetFx40_Full_x86_x64.exe');
    ExtractTemporaryFile('dotNetFx40_Full_x86_x64.exe');
    msgbox(tmppath, mbConfirmation, MB_YESNO);
    Exec(tmppath, '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
    

    只需将以上两段代码,集成到 Inno Setup 新建的安装程序模板中即可!


    最后安利一下我这个程序员业余肝出来的产品,在线使用和完整下载私有化部署都是免费的,希望对你有用,谢谢!

    私有化版下载地址与版本说明:
    https://docs.shengxunwei.com/Post/f7bc8496-14ee-4a53-07b4-08d8e3da6269/553293a8-dfa1-4282-bc3f-96c6c623fc9a


    支持请点个赞吧~ 谢谢!

  • 相关阅读:
    MATLAB 和 armadillo 数据转换
    macOS gcc g++ c++ cc
    Sublime-Text macOS 编译运行armadillo
    macOS BLAS LAPACK
    Rsyslog 日志相关内容
    构建基于虚拟用户的vsftpd服务器
    对Servlet执行流程的初步认识
    对Servlet执行流程的初步认识
    android studio 开发环境的搭建
    android studio 开发环境的搭建
  • 原文地址:https://www.cnblogs.com/sexintercourse/p/15519771.html
Copyright © 2011-2022 走看看