我想要一个解决方案,客户可以在他们选择的文件管理器中单击二进制文件,它会运行,没有“apt-getting”或“yumming”。我不介意打破标准,如果它必须进入 /opt,它会的。
首先,你要明白,“yumming”和“apt-getting”并不是真正的应用程序(包)的安装程序,它们只是用于查找/下载/更新/跟踪包的前端程序。存储库(来自发行版和您手动添加的其他存储库)。所以,当你说“没有 'apt-getting' 或 'yumming'”时,我们必须假设你的意思是你不想把你的游戏放在存储库上,如果你想让人们付费,这是有道理的获取您的游戏(相对于其他专有但免费的软件,如闪存、图形驱动程序、视频编解码器以及您通常在存储库中找到的其他东西)。
因此,实际上只有两种类型的包管理系统,RPM 和 DEB,它们使用命令行程序,rpm
并且dpkg
分别用于实际进行安装。大多数发行版还带有用于这些程序的 GUI 前端(不是 Synaptic 风格的包管理软件(它是 apt-get 或 yum 的 GUI 前端),但更简单一些)。当你双击一个.deb
或.rpm
文件时,在大多数发行版上,你会弹出这个 GUI 前端,要求你提供管理员凭据并告诉你所需的依赖项,显然,你将要安装这个包到您的系统上。据我所知,这正是你想要的。因此,您需要提供的是一个.deb
文件(对于 Debian 发行版)和一个.rpm
(对于 Red Hat 发行版),对于您的游戏的 32 位和 64 位版本,就像我假设您.msi
为您的 Windows 版本提供一个文件一样。
至于用户可能难以找到的依赖项。您应该做的是在安装程序的某个目录中包含一些用于这些深奥依赖项的附加(“推荐”版本)包,以便如果无法从发行版的存储库中获取较新版本,则可以从这些脱机包中安装它们。就是这样。
您可以让人们付费以获取游戏的 deb 或 rpm 安装程序,或者包含某种许可证密钥系统来解锁游戏(因此,使 deb/rpm 文件可供下载,并收取密钥费用/代码来解锁它)。
对我来说,理想的方法是将其打包为 .zip 或 tarball 并提供下载,就像 Windows 下与系统库一起使用的良好 ol' .exe 文件一样。
理想的?真的!?!是的,如果您所做的只是使用系统库,那么它将起作用。但如果还有更多,那将是一场噩梦(几乎和在 Windows 下一样糟糕,你不依赖安装程序)。
该游戏完全使用开源库编写,这些库都是跨平台的。
确保这些开源库都不是 GPL 许可的,因为如果是这样,你就不能让你的游戏成为专有的。您的依赖项必须在 LGPL 或 BSD 或类似许可下获得许可,因此请注意这一点。