Overview A feature that helps applications handle installation directories on Windows 10, including validation, permission checking, and path management. Key Components # installation_manager.py import os import winreg import ctypes from pathlib import Path from typing import Tuple, Optional from enum import Enum class InstallLocation(Enum): PROGRAM_FILES = "PROGRAMFILES" PROGRAM_FILES_X86 = "PROGRAMFILES(X86)" LOCAL_APPDATA = "LOCALAPPDATA" CUSTOM = "CUSTOM"

# Max path length (Windows 10 supports up to 260 traditionally) MAX_PATH_LENGTH = 260

if is_valid: print(f"✓ Valid installation directory: test_path") if manager.require_admin_elevation(test_path): print("⚠ Administrator elevation required") free_space_gb = manager.get_drive_free_space(test_path) / (1024**3) print(f"Free space: free_space_gb:.2f GB") else: print(f"✗ Invalid directory: error")

def _get_default_paths(self) -> dict: """Get standard Windows 10 installation directories""" return InstallLocation.PROGRAM_FILES: os.environ.get("ProgramFiles", "C:\\Program Files"), InstallLocation.PROGRAM_FILES_X86: os.environ.get("ProgramFiles(x86)", "C:\\Program Files (x86)"), InstallLocation.LOCAL_APPDATA: os.environ.get("LOCALAPPDATA", "C:\\Users\\%USERNAME%\\AppData\\Local")

This feature provides comprehensive Windows 10 installation directory handling with proper validation, security checks, and user guidance.

# Check admin requirements if manager.require_admin_elevation(target_dir): print("Requesting administrator privileges...") # Request elevation here

def require_admin_elevation(self, path: str) -> bool: """Check if admin elevation is needed for installation""" protected_dirs = [ "C:\\Program Files", "C:\\Program Files (x86)", "C:\\Windows", "C:\\System32" ] path_lower = path.lower() for protected in protected_dirs: if path_lower.startswith(protected.lower()): return not self._is_admin() return False