Param( [string]$Name = "docx_creator" ) $ErrorActionPreference = "Stop" Set-StrictMode -Version Latest Write-Host "简化构建脚本 - 避免权限问题" -ForegroundColor Green Write-Host "=" * 50 # 进入脚本目录 Set-Location -Path $PSScriptRoot # 1. 激活虚拟环境(如果存在) if (Test-Path .\.venv\Scripts\Activate.ps1) { Write-Host "激活虚拟环境..." -ForegroundColor Yellow . .\.venv\Scripts\Activate.ps1 } else { Write-Host "创建虚拟环境..." -ForegroundColor Yellow python -m venv .venv . .\.venv\Scripts\Activate.ps1 } # 2. 安装依赖(跳过已安装的) Write-Host "检查依赖..." -ForegroundColor Yellow pip install --upgrade pip --quiet pip install -r requirements.txt --quiet pip install pyinstaller --quiet # 3. 确保配置文件存在 if ((Test-Path .\config.json) -and -not (Test-Path .\default.json)) { Copy-Item .\config.json .\default.json -Force } # 4. 使用简单的PyInstaller命令,不清理旧文件 Write-Host "开始构建..." -ForegroundColor Yellow $buildArgs = @( "--name", $Name, "--windowed", "--noconfirm", "--collect-all", "PySide6", "--hidden-import", "PySide6.QtCore", "--hidden-import", "PySide6.QtGui", "--hidden-import", "PySide6.QtWidgets", "--hidden-import", "influxdb_client", "--hidden-import", "pymodbus", "--hidden-import", "sqlite3", "--hidden-import", "pyodbc", "--hidden-import", "pymssql", "--add-data", "style.qss;.", "--add-data", "default.json;.", "main.py" ) try { pyinstaller @buildArgs Write-Host "构建成功!" -ForegroundColor Green Write-Host "输出目录: $(Join-Path $PSScriptRoot 'dist' $Name)" -ForegroundColor Green } catch { Write-Host "构建失败: $($_.Exception.Message)" -ForegroundColor Red Write-Host "尝试运行权限修复脚本: .\fix_permissions.ps1 -Force" -ForegroundColor Yellow }