The version numbers of the Windows and Linux versions of Zero Install are loosely coupled. If the first two components of the version number are the same (e.g. 2.1 and 2.1.3) they generally support the same features.
See also: Storage locations
The Windows version and the Linux version mostly use the same formats for settings files and caches. However, due to some limitations of the Windows filesystem they are not directly interchangeable.
~/.config/0install.net/injector/interfaces on Linux contains file names with colons in them. In the Windows counterpart
%appdata%\0install.net\injector\interfaces these are encoded as
When extracting implementations symlinks and executable-bits are preserved and incorporated into the checksums. Since these data cannot be directly stored in the filesystem on Windows they are placed in additional files (
These commands are only available in the Windows version far:
On *nix systems Zero Install replaces itself with the application it launches using
exec(). Since there is no direct
exec() equivalent on Windows Zero Install launches a child process and waits for it to exit. This Windows-only command-line argument causes Zero Install to return immediately instead without waiting for the child to exit.
Not implemented in the Windows version.
The Windows version uses separate executables for console and GUI mode instead of a command-line argument.
- Use NTFS ACLs instead of POSIX octets to make implementation directories read-only.
- Since there is usually no
unzip, etc. in the
PATHon Windows systems provide in-process extraction code for all supported archive formats.
- Parse Unix-style
$ENVIRONMENT_VARIABLESin feeds since
%WINDOWS%would not understand them.
- Create binaries instead of shell scripts for
Running Windows version on Linux
Although the Windows version of Zero Install is primarily intended to be be used on Windows NT-based operating systems, it is written with cross-platform support in mind and works on Linux using Mono.
Currently only the command-line components can be expected to work reliably on non-Windows systems. The WinForms implementations have a non-native look and feel and may behave incorrectly.