# 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 ```text 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 ```powershell python -m venv .venv .\.venv\Scripts\Activate.ps1 pip install -r requirements.txt ``` ### 3. Execution To run the full installer pipeline: ```powershell python main.py ``` To specify custom drive or source directory: ```powershell python main.py --source "C:\SoftwareNP" --drive "D:\" ``` Or run in dry-run mode (validates setup without making destructive changes): ```powershell python main.py --dry-run ``` ## Team Workflow & Branching We follow a **Feature-Branching / GitFlow** model. Please read [CONTRIBUTING.md](CONTRIBUTING.md) before pushing code or creating Pull Requests.