I’ve come across numerous utilities for generating installers on Windows, such as InstallShield, InnoSetup, and NSIS. Most of these tools can be categorized as follows:
- Graphical Interface: Intuitive interface for installer creation, but lacks the ability to manually alter the installer definition/project file.
- Text-Based: No graphical interface available; installers are created by compiling a manually edited definition from a text file.
Since my installers rely on a Domain-Specific Language (DSL) formatted as YAML files, a graphical interface isn’t suitable, and the text file approach, while manageable, is not ideal.
I am looking for a tool that provides a comprehensive API for complete control over installer creation. Are there any tools like this available?
Note: I’m also interested in non-MSI tools, as MSI is not a necessary requirement.
To create Windows installers with API control while using a YAML-based Domain-Specific Language (DSL), consider using JFrog CLI or leveraging Electron Builder. These options allow extensive automation and customization, which should suit your needs without requiring MSI.
- JFrog CLI: While primarily for automating build and release processes, it is versatile and can be integrated with different tools to handle installer tasks via scripts and APIs.
- Electron Builder: This is an excellent tool for Node.js applications. It supports various target platforms and can be controlled through configuration files, allowing you to use your DSL effectively.
Both options emphasize automation and minimal user intervention, aligning perfectly with your requirement for streamlined, DSL-based installer creation.
For practical implementation, you might explore setting up your workflow scripts to convert your YAML into the necessary configuration format required by these tools, ensuring your process remains efficient and optimized.