uVersion
简体中文
下载 →

Wiki

在 Windows 上安装

PowerShell 一行命令:激活码、通过 winget 安装 PostgreSQL、Windows 服务、防火墙。

Windows 10、11 或 Windows Server 2019+(x64)。使用一行 PowerShell 命令安装。

安装

  1. 以管理员身份打开 PowerShell

    右键单击 PowerShell 图标 → 以管理员身份运行

  2. 粘贴命令

    iwr https://uversion.io/downloads/server/install.ps1 -UseBasicParsing | iex

    该脚本会:

    • 提示输入你的激活码(UV-XXXX-XXXX-XXXX)
    • 下载二进制文件并校验压缩包
    • 如果缺少 PostgreSQL,则通过 winget 安装(在全新环境中约需 2 分钟)
    • 创建数据库、角色和 Windows 服务,并打开防火墙(8443 + 8080 回退)
    • 注册程序和功能条目
    • 启动服务,生成自签名 TLS 证书,并显示管理员密码以及证书的 SHA-256 指纹

    全部操作都在你的 PowerShell 窗口中进行,你可以看到每一步。这相当于 Linux 上 sudo apt install 的 Windows 版本。

  3. 请记下密码,它会在安装结束时显示(或通过 Get-Content "C:\ProgramData\uVersion\initial-admin-password" 获取)。

安装结束时显示的摘要:管理员用户名、临时密码和服务器地址。

之后你可以继续 首次登录

非交互式变体(CI、脚本化部署)

& ([scriptblock]::Create((iwr https://uversion.io/downloads/server/install.ps1 -UseBasicParsing).Content)) `
    -LicenceKey "UV-XXXX-XXXX-XXXX"

所有可用参数:-LicenceKey-InstallDir-DataDir-Port-BindAddress-DownloadUrl-Reconfigure

验证安装

Get-Service uVersionServer                                          # Status: Running
Get-NetTCPConnection -LocalPort 8443 -State Listen                  # HTTPS auto-signe
Get-Content "C:\ProgramData\uVersion\data\tls\fingerprint"        # empreinte TLS
Get-EventLog -LogName Application -Source uVersionServer -Newest 20 # logs recents

卸载

警告:以下命令会删除你的仓库、历史记录、用户账户和配置。 如果你希望能够恢复,请先做 PostgreSQL 备份并复制 C:\ProgramData\uVersion\

有两种等效方式。两者都运行同一个脚本(uninstall.ps1),它会处理服务、 防火墙、计算机环境变量、数据目录、二进制文件、程序和功能条目以及 PostgreSQL 数据库。

1. 通过程序和功能

  1. Win+R → appwiz.cpl → 回车
  2. 在列表中找到 uVersion Server
  3. 右键单击 → 卸载
  4. 会打开一个管理员 PowerShell 窗口并可见地运行脚本

2. 通过以管理员身份运行 PowerShell

iwr https://uversion.io/downloads/server/uninstall.ps1 -UseBasicParsing | iex

脚本最后会显示一个验证块:对于服务、安装目录、数据目录和程序和功能条目, 你应看到绿色的 "OK absent"

也卸载 PostgreSQL 吗?

默认情况下 uninstall.ps1 不会触及 PostgreSQL(你可能还有其他应用在 使用它)。如需一并删除:

$body = (iwr "https://uversion.io/downloads/server/uninstall.ps1" -UseBasicParsing).Content
if ($body -is [byte[]]) { $body = [Text.Encoding]::UTF8.GetString($body) }
& ([scriptblock]::Create($body)) -RemovePostgreSQL

需要进行 [byte[]] 检查:根据所提供的 Content-Type, Invoke-WebRequest -UseBasicParsing 可能以字节数组或字符串形式返回正文。 上述模式在两种情况下都有效。

警告-RemovePostgreSQL 会删除计算机上的所有 PostgreSQL 安装,而不仅仅是 uVersion 的数据库。仅当你确定没有其他程序使用该集群时 才使用它。