Never use absolute file paths. ZSDL processors support relative pathing based on the location of the script file itself.
Non-Portable:
<include source="/usr/local/zxdl/libs/types.zxdl" />
Portable:
<include source="./libs/types.zxdl" />
Why? The portable version looks for the libs folder relative to where the script is executed, regardless of the drive letter or root directory.
For maximum portability, treat the ZSDL script not as a file, but as part of a filesystem image.
The Docker Approach: Package your ZSDL script and its runtime engine into a Docker container.
This guarantees that the environment is identical every time, effectively making the script "portable" by freezing its surroundings.
Use curl portable or wget portable (place the .exe in the same folder) to enable resume:
curl -L -C - -o "%OUTPUT_DIR%\%%~nxi" "%%i"
Traditional software often clutters the system with config files in AppData, writes to the registry, and requires admin rights. The portable version solves these problems. Here is why users are migrating to the ZXDL Script Portable: