首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
Win11下WinCC 7.5 SP2安装失败?三步解决SQL Server兼容性难题
📅 2026/10/1 13:34:21
✍️ 爱科研究院
👁 阅读 3,247
简介一份针对西门子WINCC 7.5 SP2在部分Windows 11系统下安装时卡在SQL组件、提示“不能安装下列程序”的排错经验文档。内容源自真实故障排查涵盖硬件兼容性排除、系统环境因素分析、多次重装与GHOST迁移验证等过程最终给出了成功启动WINCC SQL Server服务的方法可作为遇到同类安装问题的工程师参考。文档为docx格式共1个文件压缩包大小约280KB。已有1888人学习下载适合工业自动化运维、HMI组态开发及需要在新系统上部署WINCC的技术人员。这份资源的价值在于不是泛泛的安装教程而是针对“特定电脑死活装不上”的场景总结出可复现的解决路线包括从常规排查到GHOST迁移后修复SQL服务的关键步骤能显著减少试错时间。1. 先说结论WINCC 7.5 SP2 与 Win11 的 SQL 安装冲突多数能绕过去直接双击 WINCC 7.5 SP2 安装包在 Windows 11 上进到 SQL Server 组件那一步被弹回来的概率比想象中高得多。弹回来的方式各有不同有时是“握手错误”有时是“操作系统版本不支持”更多时候是进度条走到一半整个安装回滚桌面上连个像样的错误报告都留不下。拆完一轮后发现根子不在 WINCC 主程序而是它自带的 SQL Server 2016 Express 与 Win11 的系统版本检测互相不买账只要操作顺序对、先把 SQL 问题拆掉WINCC 主程序在多数 Win11 上都能正常跑起来。这篇排障笔记整理了我这几轮的实际操作适合需要在 Win11 工控机或笔记本上离线部署 WINCC 7.5 SP2 的工程师按顺序来省掉一整天的重装时间。2. 拆开前置关系SQL 是 WinCC 的存储底座Win11 偏偏不认 20162.1 SQL 实例在 WinCC 项目数据里的角色WinCC 不是把项目数据往文件系统的某个文件夹一放就完事。变量归档、报警记录、用户权限、报表数据全都落在一套 SQL Server 实例里。理解这一点才能解释为什么 SQL 装不上时整个安装流程会直接中断。单机版 WinCC 安装会自带一个 SQL Server Express 实例默认实例名叫 WINCC和你点“完整安装”时看到的提示对得上项目运行时WinCC 通过 ODBC / OLE DB 连接这个实例数据库里放着项目的元数据和归档表。如果这套数据库没建起来后面所有组态和运行功能都是空中楼阁。安装顺序也是固定的Siemens 的安装向导在系统检查之后就是数据库组件排在 WinCC 主体之前。所以 SQL 一旦装不下去向导就停在当前进度并回滚弹一句“安装失败”之类的话这跟主程序本身没有半点关系。许多朋友第一反应是查 WinCC 的兼容性、关杀毒、换安装包其实都是在错的方向上用力。这里要顺带拆一个坑WinCC 安装向导调用 SQL 安装器时用的是嵌套执行主进度条只显示一个笼统百分比SQL 那边自己的对话框、红叉大部分被吞进了后台日志。排障时第一件事不是看 WinCC 的安装报告而是打开 SQL 目录里的 SetupBootstrap_*.log。我在现场见过有人反复重装 WinCC 五六次日志里的 SQL 错误一直在只是因为界面没显示才没发现。补充一句容易被忽略的工控机上如果早就装了 SQL Server 2017 或 2019升级安装 WinCC 时向导检测到已有实例后会选择“使用现有实例”。这也是部分机器系统版本明明不被支持却偏偏能顺利装完 WinCC 的原因之一——SQL 部分根本没有走自带的安装器而是被现有实例直接接管了。2.2 兼容性卡点在 SQL Server 2016 与 Win11 的版本检测WinCC 7.5 SP2 内置的数据库组件是 SQL Server 2016 SP2 Express版本号对应 13.0.x。SQL Server 2016 的官方支持列表只到 Windows 10 和 Server 2016 这一档Windows 11 发布后微软并没有把这个老版本的验证补进系统列表。安装器进入系统检查阶段时会读取当前系统的版本号判定“这个操作系统是否支持 SQL Server 2016”。Windows 11 的版本号从 10.0.22000 起步后面还有 2262122H2、2610024H2这一串递增。SQL Server 2016 的安装引导程序按旧的版本比对规则去找自己认识的那几个版本段匹配不上就出问题。于是两种典型结果出现了要么系统配置检查页直接给一个红叉安装按钮灰掉要么引导程序带着错误状态继续初始化到后面跟 SQL 引擎通信时抛出一句“握手错误”。后者最没头绪因为错误提示完全不提系统版本很多人在 TLS、防火墙、杀毒软件上查了一整天实际上还是版本检测那点事。而且SQL Server 安装不只有数据库引擎一个组件在运行它还要拉起配置管理器、浏览器服务、若干托管模块。版本检测异常主要在安装器主流程上爆发碰上子组件时表现又不一样。所以同一台机器有时是安装检查直接拒绝有时是进度条走掉 80% 才死两条路径其实是同一个根因。判断依据就是前文说的去 SQL 安装目录的日志文件夹翻 SetupBootstrap_*.log里面会明确写出是哪条规则失败比看安装界面强得多。网上流传的办法是把当前版本号临时改成 Windows 10 的数值骗过系统检测。我不建议直接做改 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion 下的 CurrentVersion / CurrentBuildNumber会在系统更新和某些驱动安装上引发其他玄学故障装完 SQL 还得改回去等于给自己埋一颗雷。系统版本检查在 SQL 安装器内部就是一条判定规则用兼容模式能解决大半场景绕不过去时再考虑换版本而不是伪造系统身份。2.3 为什么有的 Win11 能装上有的装不上见过不少 Win11 机器装 WinCC 7.5 SP2 全程无痛原因大致分三类。第一类是机器上已经先装过 SQL Server 2017 或 2019版本比 2016 新Win11 系统版本能对上号安装向导检测到已有实例就不再调用自带的 2016 安装器。第二类是用的是 Win11 企业版 LTSC这些分支对老 SQL 的系统检查宽松不少。第三类是某些预装系统做了定制版本读取值恰好落在 2016 能容忍的范围里。这三类里第二类和第三类都有运气成分不建议拿到正式交付现场去赌。最可控的做法是在装 WinCC 之前先把 SQL Server 这一环单独拆出来处理。还有一个实际现场的加重因素中文系统的登录名如果带中文或空格SQL 安装器在创建服务账户时容易解析错路径错误信息五花八门。做交付时我会先把 Windows 登录名改成纯英文或新建一个本地管理员账户来装软件能避开不少隐性故障。下面的第三章就按我实际用过的三种方案展开顺序从最省事的兼容模式开始到手动装 SQL再到替换高版本实例。3. 动手落地方案兼容模式、手动装 SQL、换高版本实例3.1 解法一兼容模式 命令行参数跳过检查先用最简单的尝试。从 WinCC 安装 ISO 里找到 SQL 安装介质目录路径一般在 DVDImage\SQL\2016\Express 下SP2 版本常见这个层级里面能找到一个 setup.exe。直接动它不动 WinCC 根目录的启动器。前面说过从根目录进会走嵌套调用错误信息全被吞掉把它拎出来单独装装没装成功一眼就能看到。大致流程把 ISO 解压到本地磁盘不建议在虚拟光驱里直接操作后面日志和缓存路径会多出不少乱子进入 ...\DVDImage\SQL\2016\Express 目录右键 setup.exe → 属性 → 兼容性 → 勾选“以兼容模式运行这个程序”下拉框选 Windows 10以管理员身份打开命令提示符执行下面这段参数安装cd /d D:\wincc75sp2\DVDImage\SQL\2016\Express :: 实例名保持 WINCC与 WinCC 向导默认值一致 setup.exe /ACTIONInstall /FEATURESSQLENGINE /INSTANCENAMEWINCC ^ /SQLSYSADMINACCOUNTS.\Administrator /SECURITYMODESQL /SAPWDWinCC2024 ^ /TCPENABLED1 /NPENABLED0 ^ /SKIPRULESSystemConfigurationCheck /IACCEPTSQLSERVERLICENSETERMS参数里有两个点要单独说。实例名“WINCC”是保持 WinCC 后续向导的默认习惯别随手改成 SQLEXPRESS否则等下 WinCC 找库的时候还要额外配置。认证模式用了混合模式SECURITYMODESQL先给 sa 设一个合规的临时密码项目交付时再按现场要求改如果站点只用 Windows 认证可以去掉 SECURITYMODE 和 SAPWD保留 /SQLSYSADMINACCOUNTS 指定管理员即可。/SKIPRULESSystemConfigurationCheck 是绕过系统检查的关键参数。如果 setup 对当前 Win11 版本完全不认账只加兼容模式还压不住可以把 /SKIPRULES 后面的规则名换成安装日志里提示的那个具体规则名。规则名在 SQL 安装目录的日志文件夹里SetupBootstrap_*.log 中有一行写着“Rule Name: OperatingSystemCompatibilityCheck”之类把那个名字原样填进去就行。不建议无脑跳过所有规则像磁盘空间、重启待处理这类规则跳过会埋雷。如果想保留图形界面也可以直接双击 setup.exe让进度走到“系统配置检查”页看到失败项后记下规则名再用命令行补跑一遍。现场只有一台机器时 GUI 更直观错误位置看得明白多台同型号机器批量部署命令行参数复制粘贴快得多。提示/SKIPRULES 只跳过你填进去的那条规则不要在那里写 All也不要把规则名拼成一个大名单。装完的机器稳定运行一周后再把这条参数从部署文档里划掉以免下次装其他项目时被误导。3.2 解法二手动把 SQL Server 2016 Express 当独立软件装兼容模式那条路不是每次都能过。如果安装器在组件初始化阶段就崩掉干脆不依赖 WinCC 安装向导顺序把 SQL Server 2016 SP2 Express 当作独立软件先装好。步骤按 GUI 点击顺序写命令行的方式在第 3.1 节已经给过两套任选。进入 ...\DVDImage\SQL\2016\Express运行 setup.exe左侧选“安装”点“全新安装或向现有安装添加功能”到“功能选择”页勾选“数据库引擎服务”管理工具可以先不勾WinCC 自己的运维界面能用 SSMS现场缺了再补到“实例配置”页选“命名实例”实例名填 WINCC实例 ID 会自动变成 MSSQL13.WINCC“服务器配置”页的服务账户按默认即可不必手动改成 AdministratorSQL Browser 服务如果以后要远程连命名实例建议把启动类型改成“自动”“数据库引擎配置”页有两个关键项身份验证模式选“混合模式”设好 sa 密码再在当前用户这行点“添加”把自己加进 SQL 管理员列表排序规则页保持默认不要手滑选成 Chinese_PRC 排序规则这里把第 7 点展开说。SQL Server 2016 在英文系统上的默认排序规则是 SQL_Latin1_General_CP1_CI_AS在中文 Win11 的某些版本上默认值会被带成 Chinese_PRC_CI_AS。这个差异会直接带崩 WinCC 项目打开报错经常是 C 脚本或 VBS 脚本“语句未结束”或者归档查询查出来中文乱码。我在 7.5 SP2 上翻过两次车都是把排序规则改为 SQL_Latin1_General_CP1_CI_AS 后重做数据库才解决。排序规则这东西安装阶段改一行配置就行后期改库等于重建库代价完全不是一个量级。注意如果系统区域设置是中文安装界面里排序规则下拉框的默认值可能已经是 Chinese_PRC_CI_AS。装完 SQL 后马上用 select serverproperty(Collation) 查一次确认开头是 SQL_Latin1_General 再继续别等 WinCC 项目建库之后再后悔。手动装完之后最好顺手做一次服务验证。WinCC 安装向导再次运行时会自动检测到这台机器已有命名实例 WINCC并跳过自带 SQL 安装步骤。有一个细节向导有时会提示“找不到指定实例名”多半是 SQL Browser 服务没起来。把服务设为自动并启动重新进向导就好了。3.3 解法三用 SQL Server 2019 Express 顶替如果现场机器 Win11 版本很新比如 24H2硬装 2016 SP2 可能连兼容模式都压不住。这时可以考虑用更新的实例替上来。我一般选 SQL Server 2019 Express它和 Win11 的集成度比 2016 顺不少系统支持列表里已经包含 Win11 对应分支安装器不会在版本检查这一步翻车。装法和 3.2 的 GUI 流程完全一致唯一要留心的点是实例名保持 WINCC 不变。WinCC 安装向导只认它知道的实例名换成 SQLEXPRESS 或者别的名字下一步就会认为没有可用实例。SQL Server 2019 装完后回到 WinCC 安装包根目录跑 Setup因为检测到了 WINCC 实例自带的 SQL 组件直接跳过。SQL Server 2022 我踩过一次雷WinCC 7.5 SP2 的项目数据库迁到 2022 上碰到兼容级别问题归档查询明显变慢所以生产站目前只用到 20192022 留给新项目实验用。验证换成没有用一条 PowerShell 加一条 sqlcmd 就够# 查看已装 SQL 实例的服务状态与产品版本 Get-Service -Name MSSQL$*,SQLBrowser* | Select-Object Name, Status, StartType | Format-Table -AutoSize sqlcmd -S 127.0.0.1\WINCC -E -Q SELECT SERVERPROPERTY(ProductVersion), SERVERPROPERTY(Edition)先看服务在线再连实例查版本。ProductVersion 开头是 15.x 说明 SQL Server 2019 已在服务13.x 还是 2016。这一步放在继续装 WinCC 之前做能省掉后面一整轮“安装向导哪里不对”的排查时间。4. 排查记录SQL 装不上的五种现场表现和对应处理SQL 安装失败的表现千奇百怪但排障思路是一致的先看日志再查规则名然后看服务。下面五条按现场遇到频率排每条按“现象→原因→解决”整理方便直接对着症状抄作业。4.1 握手错误进度条停半路对话框只留一句英文现象安装走到“SQL Server 安装程序正在处理...”时弹出一句 An error occurred during the handshake with the server点确定后整个安装回滚。原因我在 2.2 里提过根因是系统版本检测异常导致安装器与 SQL 引擎通信失败另外 .NET Framework 3.5 缺失Win11 默认关闭也会让安装器关联的托管组件初始化不稳定握手失败。解决先到“设置→应用→可选功能→更多 Windows 功能”里勾选“.NET Framework 3.5包括 .NET 2.0 和 3.0”这一步需要联网下载补丁。装完重启回到 SQL 安装目录用 3.1 的兼容模式命令行再跑一遍。如果还报握手错误打开事件查看器依次看 Windows 日志→Application找 MSSQL 或 SQLSetup 开头的事件记下错误代码。# 查看最近两小时内应用程序日志里的 SQL 相关错误 Get-WinEvent -FilterHashtable {LogNameApplication; Level2; StartTime(Get-Date).AddHours(-2)} | Where-Object {$_.Message -match SQL|MSSQL} | Format-List TimeCreated, Message这里的 Level2 是 Error 级别时间窗口可以按需要放大到 6 或 12 小时。如果看到 0x80070643指向 Windows Installer 故障按 4.3 清理残留再重装别在原地耗。4.2 系统检查红叉提示操作系统版本不支持现象规则检查页出现一个红色失败项写着操作系统版本不支持安装按钮直接灰掉。原因SQL Server 2016 兼容性列表里没有 Win11这是纯版本判定问题和硬件、杀毒软件都没有关系。解决命令行加 /SKIPRULES 跳过这条规则很多时候能过。规则名以日志里的为准常见是 OperatingSystemCompatibilityCheck少数版本叫 SystemConfigurationCheck。跳过之前先确认页面上的其他规则都是绿勾有一条失败的就强行往下装安装过程会在后面更奇怪的地方崩掉。这条规则的跳过是可控的和伪造系统版本号不是一回事。:: 从 SQL 安装日志里找出具体的失败规则名 findstr /i rule name C:\Program Files\Microsoft SQL Server\130\Setup Bootstrap\Log\SetupBootstrap_*.log日志路径按实际安装目录调整用 findstr 过滤出 Rule Name 行把对应用到的规则名填到 /SKIPRULES 后面。不要抓第一条就用比较前后几条日志选和当前系统版本直接相关的那个规则名。4.3 回滚清理不干净第二次装直接说实例已存在现象第一次安装失败后控制面板里出现几项 Microsoft SQL Server 2016 相关条目再装时提示已有同名实例反复进入失败循环。原因Windows Installer 回滚不彻底注册表和服务条目都有残留。微软的官方卸载工具并不能覆盖所有 Express 场景。解决重命名是后悔药核心。先把 C:\Program Files\Microsoft SQL Server\130 这个目录改名成 130_bak再去控制面板卸载各项残留如果控制面板已经没有入口用事件查看器里的 MsiInstaller 事件确认 MSI 包名例如 SQLServer2016Express.msi用 msiexec /x 加产品 GUID 手动卸。注册表方面检查 HKLM\SOFTWARE\Microsoft\Microsoft SQL Server 下有没有 MSSQL13.WINCC 分支有就删掉但删除前先备份该分支。全做完重启再装。这里有个容易忽略的顺序先改目录名再卸载控制面板里的残留最后处理注册表。顺序反了Windows Installer 可能又触发一次后台修复把刚改名的目录恢复回去。改名不删目录也方便你确认哪些文件是后来生成的比直接删除安全得多。4.4 SQL 服务起来了WinCC 却连不上 WINCC 实例现象手工装完 SQL服务显示正在运行但打开 WinCC 项目时报“无法连接到数据库服务器”或“登录失败”。原因三个常见诱因——SQL Browser 服务未启动TCP/IP 协议没有启用或者当前 Windows 账户在 SQL 里没有被授权。解决打开 SQL Server 配置管理器把 WINCC 实例的 TCP/IP 启用并重启服务。连接时用 127.0.0.1\WINCC不要用机器名加实例名的组合省去 DNS 解析环节。还有一个隐蔽点如果 Windows 用户名为中文或带空格服务账户解析授权时容易出问题不如直接把混合认证配起来用 sa 登录验证比查 Windows 登录快得多。-- Windows 认证方式连接命名实例能返回 1 表示连接通道正常 sqlcmd -S 127.0.0.1\WINCC -U sa -P WinCC2024 -Q SELECT 1能返回 1连接就是通的问题在 WinCC 侧的项目配置报登录失败则先查 sa 账户状态和密码策略。SQL Server 的 sa 账户默认可能是禁用的混合模式下也要在实例“安全性→登录名→sa”的属性里把登录启用勾上这一步经常被现场忘记。4.5 安全软件锁文件DLL 注册失败当场回滚现象进度条走到“正在注册 Microsoft SQL Server 2016 组件”附近忽然弹出找不到文件或拒绝访问然后回滚。原因Windows Defender 实时防护把安装器临时释放的 DLL 拦截或者锁住了正在使用的文件流。这在 Win11 干净系统上尤其常见出厂系统默认开启内核级防护解压目录又往往在 C 盘用户目录下。解决安装期间临时关闭 Defender 实时防护是最快的排除法更稳的做法是把整个解压目录加进 Windows Defender 排除项重启不影响。SQL 装完、服务确认正常后再恢复防护开关。安全软件拦截属于最无头绪的一种翻车因为报错内容跟真正原因完全不搭边关防护再装是低成本排除手段排障时间能省出一大截。另外注意一点组策略托管的企业机器上Defender 实时防护可能被人为强制开启控制面板里的开关是灰色的。这种情况下要在管理员命令行里用 PowerShell 的 Set-MpPreference -DisableRealtimeMonitoring $true 临时关装完再置回 $false不要硬删策略。5. 收尾验证确认 SQL 实例在给 WinCC 好好干活5.1 三层确认方法装完不能只看服务有没有变绿。我用的验证顺序是三步先看服务在不在、启动类型是不是自动再分别用 Windows 认证和 sa 认证各连一次最后查实例默认排序规则确认不是 Chinese_PRC 这种区域默认值。三步都过了WinCC 安装向导才会安心往下走。# 服务与实例信息 Get-Service -Name MSSQL$* | Select-Object Name, Status, StartType # sa 登录验证并查看排序规则密码按自己设的填 sqlcmd -S 127.0.0.1\WINCC -U sa -P WinCC2024 -Q SELECT VERSION, SERVERPROPERTY(Collation)第一段确认服务MSSQL$WINCC 的状态是 Running、StartType 是 Automatic。第二段的 SERVERPROPERTY(Collation) 返回 SQL_Latin1_General_CP1_CI_AS 就符合预期如果返回 Chinese_PRC 开头说明安装时被系统区域设置带偏趁 WinCC 还没建项目库把这块处理掉成本最低。5.2 固化设置避免一个月后再来一遍SQL 装好后我习惯顺手做两件小事。第一件是在 SQL Server 配置管理器里把 WINCC 实例的 TCP/IP 动态端口清空固定到 1433后续防火墙配策略、远程诊断都不用现场猜端口。第二件是把 SQL Browser 服务启动类型改成自动命名实例少了它远程连接时会多花半小时排查。之后回到 WinCC 安装包根目录跑 WinCC 的 Setup让向导自动完成“已检测到现有 SQL 实例”的步骤。这个阶段不需要额外输入耐心等它把 WinCC 主体部署完就行。那次在项目现场因为 SQL 装不上重装了三轮系统之后我给自己定了个规矩凡是新 Win11 机器部署 WINCC 7.5 SP2先检查 .NET 3.5 开没开再单独进 DVDImage\SQL 目录装 SQL验证完 sqlcmd 连通、排序规则正确最后才回头跑 WinCC 主安装向导。从那以后我再没在 SQL 这一环上翻过车。希望这次排障记录能帮到你让装 WINCC 的新机器少走两趟弯路。本文还有配套的精品资源点击获取
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/1 13:34:21
新疆1980-2018降水数据可视化与ARIMA预测实战
2026/10/1 13:34:21
Stable Diffusion WebUI:开源AI绘图的创作主权实践指南
2026/10/1 13:29:21
iOS上跑Windows程序:FEX-Emu、Wine与DXMT三层翻译栈实战解析
2026/10/1 14:24:26
Python销售数据分析可视化实战:从CSV到交互仪表盘
2026/10/1 14:24:26
SoC低功耗唤醒失败的真正原因:PLL lock≠系统就绪
2026/10/1 14:24:26
【手撕MCP代码】从零实现天气预报查询与心情朋友圈文案生成器
2026/10/1 14:24:26
dymola学习笔记第二天——求解非线性方程时如何用TaoToken统一管理API Key
2026/10/1 14:24:26
Ubuntu 上 DataSophon 集成 DolphinScheduler 的安装问题全解析
2026/10/1 14:19:25
【别再到处找免费股票数据API了:官方204个接口,32篇一次讲透 #06】Python实时行情总报错?五档盘口+逐笔一次跑通
2026/10/1 0:01:36
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/1 0:01:36
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/1 0:01:36
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)
2026/9/29 11:29:08
网站建设的英语怎么说?别只背单词,看完这套安全完整流程才敢上线
2026/10/1 8:09:25
新手入门看这篇:建设网站加盟避坑指南与SEO实操
2026/9/29 14:07:33
论文AIGC疑似度是什么意思?想查论文AI率有哪些免费工具?
2026/10/1 0:01:36
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/1 0:01:36
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/1 0:01:36
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)