4

我想知道是否有人试图为应用程序的跨平台安装程序或安装程序实现创建一种开放标准?这意味着您可以简单地从网站下载单个文件,并且任何流行的操作系统都可以识别它的扩展名?我们有适用于 mac 的 .pkg 和 .dmg 文件,适用于 windows 的 .msi 和普通 .exe 安装程序,适用于 linux 的 .deb 包(如果是 debian),但我们并没有对每个平台都通用(比如 .uoi(通用开放式安装程序) ), 哈哈)。

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

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

4

2 回答 2

9

"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:

于 2018-08-01T02:38:08.750 回答
0

我使用了安装生成器,是的,它的跨平台.. 缺点是你必须付费..

于 2020-05-05T02:14:14.547 回答