如何在统信系统中将 Avalonia 软件程序打包 Deb 安装包
一、简介太久没有写博客了,不是不想写,而是太忙了。最近我在使用 Avalonia UI 框架开发一个跨平台的应用程序,Avalonia 本身来说,还好了,社区很活跃,文档也很齐全。但是在统信系统中部署和打包 Avalonia 程序为安装包,我是从来都没有这样做过的。其实,在 Windows 平台下打包安装包,是很容易的,工具也是很多的,比如:Inno Setup,这个工具很好用,打包大文件效率也很高,唯一的缺点就是,使用门槛有点高,要写脚本。刚开始我还是不习惯的,不如可视化的界面操作简单。Inno Setup 的下载地址:Inno Setup 。
最近工作中,有一个需求,需要把 Avalonia 的程序打包成安装包,让顾客可以安装、卸载和使用,包括两个平台,一个是 Windows 平台,这个平台很快就搞定了。另外一个平台就是在 Linux 版本的【统信系统】中也要打包成安装包,我以前是从来没有这方面的经验,也困扰了我很久,头发都掉了一大把,终于经过2周的时间还是把打包的问题解决了。
在 Linux 版本的系统中打包安装包,有很多的坑,一个很重要的坑就是权限的问题。比如:登录用户的权限和打包、安装程序的权限不一致,可能就会导致桌面图标看不到,或者是文件夹浏览器看不到任何文件夹,但是用户就可以看到桌面有很多文件夹。如果你的安装包有需要管理员权限执行的,出现的问题更多,需要设置目录权限,启动脚本的权限,图标执行的权限。
二、操作过程
今天终于有时间了,把在【统信系统】中打包的脚本贴出来,这是一个很好的资源,也是经过我验证的,可以真正使用的。
这个脚本是最全的,可以生成桌面图标,开始菜单中的图标,设置启动脚本、目录的执行权限,卸载的时候,清楚桌面图标和开始菜单中的图标。
我在说一下目录结构:
|--PatrickLiuFileBrowser
| |--Linux64(avalonia 的程序)
| |----AIBroker(AI服务器--没有可以删除)
| |----HDServices(特殊服务--必须以管理员权限安装,没有可以删除)
| |---- Avalonia 的程序 so 文件和可执行文件
| |--usr(图标)
|--PatrickLiuFileBrowserSetup.sh(脚本文件)
1 #!/bin/bash2 3 # 配置变量4 PROJECT_NAME="PatrickLiuFileBrowser"5 VERSION="2.5.4351"6 ARCHITECTURE="amd64"7 DEB_NAME="patrickLiuFileBrowser_${VERSION}_${ARCHITECTURE}.deb"8 SOURCE_DIR="./PatrickLiuFileBrowser/Linux64"9 STAGING_DIR="./staging_folder" 1011 # 清理旧文件 12 echo "
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 很好很强大我过来先占个楼 待编辑 新版吗?好像是停更了吧。 很好很强大我过来先占个楼 待编辑
页:
[1]