https://github.com/mauricelambert/goinstaller
This repository implements an installer for Linux and Windows softwares
https://github.com/mauricelambert/goinstaller
Last synced: 3 months ago
JSON representation
This repository implements an installer for Linux and Windows softwares
- Host: GitHub
- URL: https://github.com/mauricelambert/goinstaller
- Owner: mauricelambert
- License: gpl-3.0
- Created: 2025-02-01T10:32:51.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-03-05T13:06:00.000Z (3 months ago)
- Last Synced: 2025-03-05T13:38:44.690Z (3 months ago)
- Language: Go
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# GoInstaller
## Description
This repository implements a cross-platform software installer written in Go.
### Features
- Install software with privileges for all users on the system
- Install program files
- Install data files
- Manage service files
- *Timer* and *service* files on Linux
- Executbale files with *service interface* on Windows
- Create service with auto start
- Start service
- Add to SYSTEM PATH on Windows (by default it's in the PATH on Linux)
- Add GUI in Windows menu
- Manage log systems
- `/var/log/` directory on Linux
- Event source log creation on Windows
- Run commands after files installations (for exemple to enable/start your service on Linux)## Requirements
- Go
- Go standard library## Usages
### Step 1: Download
> Download the source code and change your current directory
#### Git
```bash
git clone "https://github.com/mauricelambert/GoInstaller.git"
cd "GoInstaller"
cd "GoInstaller"
```#### Wget
```bash
wget https://github.com/mauricelambert/GoInstaller/archive/refs/heads/main.zip
unzip main.zip
cd GoInstaller-main
cd "GoInstaller"
```#### cURL
```bash
curl -O https://github.com/mauricelambert/GoInstaller/archive/refs/heads/main.zip
unzip main.zip
cd GoInstaller-main
cd "GoInstaller"
```### Step 2: prepare software files
> Create required directories and put your files inside
>> When you don't have any file for a directory add an empty file, minimum one file by directory is required```bash
mkdir data
mkdir program
mkdir service
mkdir guimv /path/to/my/gui/files gui
mv /path/to/my/data/files data
mv /path/to/my/program/files program
mv /path/to/my/service/files service
```### Step 3: modify constants
> Modify constants in the source code: application name and commands to run at the end.
### Step 4: Compile your installer
```bash
go build -o installer.exe
```## Links
- [Github](https://github.com/mauricelambert/GoInstaller)
## License
Licensed under the [GPL, version 3](https://www.gnu.org/licenses/).