• 构建用于C#应用程序的应用商店(一)


    我在就职的公司开发工具型软件,桌面版的,我们公司有各种工具软件的需求。现在我已经记不清我生产了多少了。我相信再过一段时间,也许几个月,也许一年后,我也会记不住之前开发过什么,或许有一定的类别的印象,但是具体是什么,运行的样子就会像现在记不起以前开发的软件一样,都记不清了。

    这些工具没有完整的统计功能,也或许只有单机的统计,但他们核心功能大多是需要联网的。

    我无法得知工具用户的使用情况,无法向上级出具有关使用情况的报告,我只知道我做个这个东西,有人曾经用过,或者曾经提过bug。

    我相信很多做桌面工具类软件的朋友都遇到过和我一样的问题,并且有些工具的生命周期本来就不长,但是年深日久后又再提起,源码已经不见了,再来一次吧。

    于是我想,是否可以构建一个这样类型的工具软件托管平台,也或者叫应用商店来管理我们开发的东西。于是我开始了。

    著此文时我已经写完商店很久了,基本功能完整,但是统计功能还不是很完善。这个商店也和其他工具一样,随着时间慢慢沉下。我不想我曾创造的东西都经历这样的结局。

    所以我把我的构建过程写下来,我觉得它能够帮助和我有一样需求的朋友。

    说说开发环境。vs 15+ ,C# 

    服务端:aspnetcore 1, efcore, mssqlserver

    客户端:winform

    初见

    客户端主界面:

    服务端界面

    数据库

    毕业好多年,出来做开发也许多年了,平时就写代码,不怎么说话,表达能力有所退化,若表述欠佳或语无伦次请理解。

    服务端功能有以下这些:

    管理员:审核注册用户,审核新上App或新上版本,app下架

    开发者:app上传,app历史版本管理

    客户端vs解决方案

    AppEventLib 操作报告api封装

    App.Launcher App启动器,App就是我上面说的工具类软件

    AppInstaller App安装器,负责下载和安装app

    AppLib App需要引用的库,用来获取自身配置或启动信息,相当于app开发SDK

    AppZip App打包工具,用于在App开发过程编译时自动打包app和其依赖dll、配置文件等为一个zip包。开发者打包完可以上传到应用商店。

    TinyUtil 我自己封装的,平时用的一个辅助类库。

    UacHelper 处理windows uac的库,用来做windows标准提权,比如需要访问注册表或者写关键位置就需求弹给用户做uac确认。

    Update 用来更新app的应用

  • 相关阅读:
    RPM的使用详细演示安装,删除和查询
    GCC 参数详解
    简述configure、pkgconfig、pkg_config_path三者的关系
    RPM查询篇
    Linux软件安装之RPM的安装技巧
    linux gcc 编译时头文件和库文件搜索路径
    嵌入式开发.C语言面试题
    GCC几个选项学习
    asp.net mvc 自定权限实现
    使用Jquery EasyUi常见问题解决方案
  • 原文地址:https://www.cnblogs.com/mrtiny/p/7526333.html
Copyright © 2020-2023  润新知