CLI C# Remote Installer Application
The goal of Installer is to provide a consistent framework for SysAdmins to use for remote deployment tasks in their environment.
Please visit the wiki for more information.
Installer treats all possible actions against your environment as an Application.
Applications are given Jobs
Jobs report Results
Applications are a directory within your ApplicationDir. Inside of each Application there will be several items:
- running.lock file generated by Installer to detonate application is in use, prevents some functions from completing
- settings.ini file used to describe the Application Specific Attributes
- \Jobs folder used to store currently running Jobs
- \Results folder used to store Results from Jobs
Jobs act as the instructions for the Applications.
Jobs will use the settings applied in their specific INI as well inherit relevant settings from the Application settings ini.
Jobs are the actual drivers of change in the environment: Some examples of what jobs can do;
- Example: Install Chrome on 100 PC's
- Example: Query WMI for a specific Key
- Example: Uninstall an application if it's a specific version
Results are generated by the outcome of a Job event finishing. These can be configured per Job or inherited from the Application settings.
Example: A result can be setup to send an email each time Chrome successfully installs on a target machine via your Install Chrome Job attached to your Chrome Application. Example: Log all offline machines to a specific file and email it to me when the job finishes. Example: Verbosely output all actions from the job to a running log file.
##Portability
Installer aims to be a single exe that can be ran by an administrator. Due to the model setup, Application | Jobs | Results should be easily shareable by the community.