Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/atc-net/atc-installer
The objective with Atc.Installer is to streamline the installation and updating process for Applications, Services, and Websites in an On-Premises Windows environment, ensuring efficient management and maintenance.
https://github.com/atc-net/atc-installer
installer onprem wpf
Last synced: about 2 months ago
JSON representation
The objective with Atc.Installer is to streamline the installation and updating process for Applications, Services, and Websites in an On-Premises Windows environment, ensuring efficient management and maintenance.
- Host: GitHub
- URL: https://github.com/atc-net/atc-installer
- Owner: atc-net
- License: mit
- Created: 2023-06-02T08:39:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-11T20:47:59.000Z (8 months ago)
- Last Synced: 2024-06-12T05:04:24.691Z (8 months ago)
- Topics: installer, onprem, wpf
- Language: C#
- Homepage: https://atc-net.github.io/repository/atc-installer
- Size: 3.38 MB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Atc-installer
Atc.Installer is a windows application that can be installed with the build artifact [Atc.Installer.msi](#MSI-packages-for-Atc.Installer.msi).
The objective with Atc.Installer is to streamline the installation and updating process for Applications, Services,
and Websites in an [On-Premises](https://www.techslang.com/definition/what-is-on-premises/) Windows environment,
ensuring efficient management and maintenance.## Initial glimpse at the application, which comes equipped with a preloaded sample project.
The example is from the installation settings: [SampleProject1-InstallationSettings.json](sample-projects/SampleProject1/SampleProject1-InstallationSettings.json).
| Light-Mode | Dark-Mode |
|--------------------------------------------|-----------------------------------------------|
| ![Img](docs/images/sampleproject1-gw1.png) | ![Img](docs/images/dm-sampleproject1-gw1.png) |## Concepts
For a system that requires multiple components in installed on a On-Premises Window machine.
The Atc.Installer can managed that through an `installation-settings.json` file.A realworld senerio could be, that the system you have made is:
* A frontend website build in `React` with a backend that use `REST` and maybe use `SignalR`.
* A backend build as `WebApi` in .NET that use a Windows service and a database.
* A `PostgreSQL database`.
* A Windows service like the "Network List Service" (netprofm).To manage this on a Windows machine a options could be, host the frontend and backend on a `IIS Server`.
Ensure the PostgreSQL service and "Network List Service" service is running.For this scenario, 4 components with different tasks and settings must be defined.
Components:
| Description | Type | ComponentType | HostingFrameworkType | Settings |
|---------------|----------------|----------------------------|----------------------|------------------|
| Frontend | React | InternetInformationService | NodeJs | env.json |
| Backend | WebApi | InternetInformationService | DotNet7 | appsettings.json |
| Database | PostgreSQL | PostgreSqlServer | Native | ConnectionString |
| Other service | WindowsService | WindowsService | NativeNoSettings | No settings |Each component can or will have `pre-requisites` of `dependent services` before it makes sens to install or run it.
* Defenitions on `pre-requisites` is - what is needed before installing.
* Defenitions on `dependent services` is - what is needed before trying running it.Examples on `pre-requisites` could be:
* The fronend needs NodeJs, IIS module "URL rewrite" to be installed.
* The backend needs IIS module "Microsoft .NET Host" and "Microsoft ASP.NET Core" to be installed.Examples on `dependent services` could be:
* The fronend is dependet on the backend.
* The backend is dependet on the "Network List Service" and the database.## Examples from SampleProject1
| Component: FrontendGateway API | Component: PostgreSQL |
|--------------------------------------------|----------------------------------------------|
| ![Img](docs/images/sampleproject1-gw1.png) | ![Img](docs/images/sampleproject1-psql1.png) |## MSI packages for Atc.Installer.msi
| | |
|------------------------------|------------------------------|
| ![Img](docs/images/msi1.png) | ![Img](docs/images/msi2.png) |## Component Types & Hosting Framework Types
Today the Atc.Installer supports a different kind of "Components" that are defined with a combination of `Component Type` and `Hosting Framework Type`.
-> And more can and will come over time.
### Component Types
| Component Type | Covers Application / Services |
|----------------------------|--------------------------------------------------------------|
| Application | Console, WinForm, Wpf or NodeJs app. |
| ElasticSearchServer | Elastic Search Server |
| InternetInformationService | WebSite (NodeJs-apps, Blazor, ASP.NET), WebApi (REST, gRPC). |
| PostgreSqlServer | PostgreSql Server |
| WindowsService | Service |### Hosting Framework Types
| Hosting Framework Type | Underling framework |
|----------------------------|--------------------------------------|
| Native | |
| NativeNoSettings | |
| DonNetFramework48 | .NET Framework |
| DotNet7 | .NET |
| DotNet8 | .NET |
| NodeJs | NodeJs (min. v.18) |