是否存在通用的跨平台安装程序? [英] Does an universal cross-platform installer exists?

查看:230
本文介绍了是否存在通用的跨平台安装程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道有人试图为应用程序的跨平台安装程序或安装程序实现创建某种开放标准吗?这意味着您可以简单地从网站上下载单个文件,并且任何流行的操作系统都可以识别出该扩展名吗?我们拥有适用于Mac的.pkg和.dmg文件,适用于Windows的.msi和普通.exe安装程序,适用于Linux的.deb软件包(对于debian而言),但我们并非适用于每个平台(例如.uoi(通用开放安装程序) ), 哈哈).

人们可能会认为这种方法是不可能的,因为每个操作系统都有自己的结构和文件组织,但是此安装程序可能同时包含每个操作系统的说明,甚至可能包含共享文件(例如图片,纹理或声音),例如它们可以在每个平台上重复使用,并且与平台无关.

我认为实现这样的安装程序是个好主意,该安装程序对所有人免费且开源

解决方案

主流" :共享打包格式似乎难以捉摸.但是,有一些 multi-platform deployment tools 可用. Installsite.org在此底部有一个列表.我猜两个最常用的工具是(均为商业工具):

扩展的宇宙 :还有其他几种工具,其中一种是 Bitrock InstallBuilder -我一无所知的工具,因此我既不能推荐也不能将其关闭.我还没有尝试过 QtInstaller Framework . 看到有人推荐install4j .这是> install4j网站 : 零安装 -跨平台包装和分发软件-对我来说是未知领域.而 Steam (跨平台视频游戏发行版) ,许可和社交游戏平台,由 Valve 开发和维护.用于购买,下载,安装,更新,卸载和备份视频游戏.它可以在Windows,OS X和Linux上运行.与Steam相似的是另一个视频游戏分发平台Ubisoft的 Uplay .也许应该提到 PyInstaller ? (跨平台Python程序).

Java :我遇到了 Oracle Universal Installer 回到 Java小程序,并且很快就会过时了 jlink 2020年底之前- Oracle PDF:Java客户端路线图更新 - Oracle PDF:Java客户路线图更新 (已取代).

未来吗? :真正答案的范围不大,但有些指针.正如我不断重复的,说实话,我对这些工具了解不多.我猜想比起以前的技术,例如Windows的COM结构化存储文件(旧的MS Office文件格式,本质上是文件系统中的文件系统),最近的基于XML/Zip的格式可以更容易地实现跨平台. -数据流),用于MSI安装程序.时间会证明一切.在云时代,谁知道会浮出水面?

苦苦挣扎 :不过,我可以告诉您,作为公司应用程序打包程序,我一直在与多平台安装程序作斗争(不开发安装程序,只是部署它们) ,而这些多平台安装程序一直很难解决. 有时需要处理的非常非标准且令人惊讶的因素.例如:您启动一个setup.exe,该setup.exe仅启动另一个setup.exe,然后退出并没有报告任何有意义的信息,因此您根本不知道异步启动的实际安装发生了什么.这种东西.因此,您必须编写怪异的脚本来检查安装进度,等等.处理多平台安装程序从未如此有趣.


某些链接 :

旧提及 :

I wonder is someone tried to create either kinda open standard for cross-platform installer for an application or the installer implementation? That means you can simply download single file from the website, and it's extension recognizable by any popular operating system? We have .pkg and .dmg files for mac, .msi and plain .exe installers for windows, .deb packages for linux (in case of debian), but we haven't universal for each platform (like .uoi (Universal Open Installer), lol).

One might think that this approach is impossible because every OS has it's own structure and files organization, but this installer could potentially contain instructions for each OS simultaneously, and it may contain even shared files (like pictures, textures or sounds) as they can be reused for each platform and they are platform-independent.

I think it's a good idea to implement such installer, free for all and open-source

解决方案

"Mainstream": A shared packaging format seems elusive. However, there are a few multi-platform deployment tools available. Installsite.org has a list towards the bottom here. I guess the two most commonly used tools are (both are commercial):

Extended Universe: There are several other tools, one of which is Bitrock InstallBuilder - a tool I know nothing about, so I can neither recommend nor dismiss it. There is also the QtInstaller Framework which I have yet to try. Seen people recommend install4j. Here is the install4j site: What are good InstallAnywhere replacements for installing a Java EE application?

Then there is Zero Install - a cross-platform packaging and distributions software - uncharted territory for me. And Steam, the cross-platform video game distribution, licensing and social game-play platform, developed and maintained by Valve. Used to shop for, download, install, update, uninstall and back up video games. It works on Windows, OS X and Linux. Similar to Steam is Uplay from Ubisoft - another video game distribution platform. Maybe PyInstaller should be mentioned? (cross platform Python programs).

Java: I encountered Oracle Universal Installer some time back in a SO question. A Java-based installer for Oracle tools. A mystery-tool. The now deprecated Java Applets of old, and the soon to be obsolete Java Web Start feature should be mentioned as cross-platform. Developers are supposed to migrate to jlink before the end of 2020 - Oracle PDF: Java Client Roadmap Update - Oracle PDF: Java Client Roadmap Update (superseded).

Future?: Not much in the realm of a real answer, but some pointers. As I keep repeating, I don't know much about these tools to be honest. I guess recent XML / Zip-based formats can be made cross-platform more easily than previous technologies such as Windows's COM structured storage files (the old MS Office file format, a file-system in a file essentially - streams of data) that were used for MSI installers. Time will tell. In the age of the cloud, who knows what will surface?

Struggle: I can, however, tell you that I have been struggling with multi-platform installers as a corporate application packager (not developing setups, just deploying them), and these multi-platform installers have always been problematic to deal with. Very non-standard and high astonishment factor at times to deal with. For example: you launch a setup.exe which only launches a second setup.exe and then exits reporting nothing sensible, so you don't know what happened to the actual install that was kicked of asynchronously at all. That kind of stuff. So you have to write weird scripts to check installation progress, etc... Dealing with a multi-platform installer has never been fun.


Some Links:

Old mentions:

这篇关于是否存在通用的跨平台安装程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆