Files
acc-installer/install_novindesk.py
yassin1661-creator bafae4b212 init commit
2026-09-01 12:30:03 +03:30

71 lines
2.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import os
import zipfile
import subprocess
import time
def install_novindesk(base_drive: str = r"D:\\") -> str:
"""
استخراج و نصب خودکار NovinDesk با پیمایش دقیق فرم نصب
"""
base_dir = os.path.join(base_drive, "NovinPardazOne")
soft_dir = os.path.join(base_dir, "NovinSoft")
zip_filename = "NovinDesk.zip"
source_zip_path = os.path.join(soft_dir, zip_filename)
extract_target_dir = os.path.join(soft_dir, "NovinDesk")
if not os.path.exists(source_zip_path):
raise FileNotFoundError(f"[-] فایل {zip_filename} در پوشه {soft_dir} پیدا نشد!")
os.makedirs(extract_target_dir, exist_ok=True)
print(f"[+] در حال آنزیپ کردن {zip_filename} ...")
with zipfile.ZipFile(source_zip_path, 'r') as zip_ref:
zip_ref.extractall(extract_target_dir)
print(" [✓] آنزیپ با موفقیت انجام شد.")
exe_file = None
for root, dirs, files in os.walk(extract_target_dir):
for file in files:
if file.lower().endswith(".exe"):
exe_file = os.path.join(root, file)
break
if not exe_file:
raise FileNotFoundError("[-] هیچ فایل اجرایی (.exe) یافت نشد!")
print(f"[+] در حال اجرای فرم نصب {os.path.basename(exe_file)} ...")
# اجرای برنامه جهت نصب
subprocess.Popen([exe_file, "--install"])
# ۵ ثانیه صبر برای بارگذاری کامل پنجره
time.sleep(5)
try:
import pyautogui
# ۱. بسته شدن هرگونه پنجره جانبی فرعی
pyautogui.press('escape')
time.sleep(0.5)
# ۲. پیمایش دقیق با ۴ بار Tab برای رسیدن مستقیم به دکمه «قبول و شروع نصب»
for _ in range(4):
pyautogui.press('tab')
time.sleep(0.2)
# ۳. فشردن کلید Enter روی دکمه نصب
pyautogui.press('enter')
print(" [✓] تایید و نصب خودکار شروع شد.")
except Exception as err:
print(f" [-] خطای اتوماسیون: {err}")
return exe_file
if __name__ == "__main__":
os.system("chcp 65001 > nul")
print("--- اجرای ماژول نصب NovinDesk ---")
try:
install_novindesk(base_drive=r"D:\\")
except Exception as e:
print(f"[-] خطا: {e}")