First and foremost, we the developers built Dull to solve problems we had a software engineers. So it was built to be versatile in this area, running Portable, and as a Service.
Dull can easily run as a portable software, running from any place on the file system with administrative rights, having a config.json file in the same folder, and running it using
Remote machines need to be available for connection all the time at startup, and that means installation as a service.
Our principle for "The Minimum" means that we couldn't rely on external software solutions, we wanted to maintain the portable command-line nature, and we had some particular scenarios in mind that mainstream installer solutions wouldn't be able to help with.
Given a large number of potential remote machines to install, the installation process needs to be as fast and touchless where possible. The user should be able to double-click the program after downloading, directly from a flash drive, or included in an operating system image as part of the system imaging process.
So we decided to build a range of very specialized and novel installation feature directly into Dull. The configuration file is a common tool used to facilitate all strategies.
Dull uses the following rules to determine if installation is required, and which strategy to use.
Check if Installation procedure should start
If the install command-line argument is included, then installation will occur; OR
If no parameters are specified, and the default installation path doesn't include Dull, then the user is asked if they want to install. If the respond yes, installation will occur.
Ensure the Configuration saved to the install path
If it already exists in the executable directory, then the configuration is initialized; OR
Use the Homing and Await method; OR
Use the Filename derived configuration method; OR
Use the Manual Entry method; OR
Create a default configuration from
Dull.default.config.json program resource
NOTE: Packaged configuration, requires code changes, and is not available during beta release of the software for customers.
Ensure the Executable file is installed
For Ubuntu 18.04,
Install the Service - Windows and Ubuntu 18.04 are supported
Start the Service
Here is the overview of the installation strategies that are supported with particular scenarios in mind.
Is the fallback, requiring the user to interactively type in the URL where to download the configuration file from.
Allows a default configuration to be downloaded, with the URL found in the filename of the program itself. With this strategy, a mainstream version of Dull can be used.
A specially compiled version of Dull is prepared with a default configuration file as a packaged resource. Inquire for a quote at [email protected]
Connects to a web service, with the URL specified in the filename or packaged configuration file. That web service is standardised, and anyone can build a compliant web service that integrates with their own web application.