Acc Installer

An automated software setup, extraction, and installation pipeline for NovinPardaz systems.

Overview

Acc Installer performs the end-to-end setup process for NovinPardaz applications:

  1. Directory Setup & Source File Transfer: Identifies the primary non-system drive (e.g. D:\, E:\) and initializes directory structures (NovinPardazOne/NovinSoft, NovinPardazOne/NovinAcc). Copies required software packages from the source path.
  2. NovinAcc Extraction: Moves and extracts NovinAcc.zip archive to the target accounting directory.
  3. NovinDesk Automated Installation: Extracts NovinDesk.zip, triggers the installer binary, and automates UI acceptance.

Project Structure

acc-installer/
├── data/
│   └── sciter.dll          # Sciter dynamic library asset
├── module/
│   ├── __init__.py         # Package entry points & public exports
│   ├── config.py           # Unified configuration & dynamic drive resolver
│   ├── downloader_copier.py# Directory setup & file copier
│   ├── extract_acc.py      # Archive extractor for NovinAcc
│   └── install_novindesk.py# NovinDesk extractor & automated installer
├── .gitignore              # Standard ignore definitions
├── CONTRIBUTING.md         # Team branching and contribution guidelines
├── main.py                 # Main orchestrator runner CLI
├── README.md               # Project documentation
└── requirements.txt        # Python package dependencies

Quick Start

1. Requirements

  • Python 3.9+ (Windows OS recommended)

2. Setup Virtual Environment

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

3. Execution

To run the full installer pipeline:

python main.py

To specify custom drive or source directory:

python main.py --source "C:\SoftwareNP" --drive "D:\"

Or run in dry-run mode (validates setup without making destructive changes):

python main.py --dry-run

Team Workflow & Branching

We follow a Feature-Branching / GitFlow model. Please read CONTRIBUTING.md before pushing code or creating Pull Requests.

Description
No description provided
Readme 3.6 MiB
Languages
Python 100%