Win11安装WinCC 7.5 SP2失败?SQL Server兼容性是关键
简介针对WINCC 7.5 SP2在部分WIN11系统安装时卡在SQL组件、反复提示“不能安装下列程序”的典型故障这份资源提供了一套经过实践验证的排查与解决思路。内容以真实故障为背景记录了经历20余次WIN11不同版本重装仍无法通过SQL步骤的完整过程并从硬件兼容性、系统环境、SQL Server服务状态等角度逐一分析最终给出借助同配置可用硬盘安装WINCC后GHOST至故障盘、再手动启动WINCC SQL服务的具体方法。相比笼统的“重装系统”建议该方法针对性强能帮助自动化工程师、现场运维人员绕过安装死结节省大量调试时间。包内为1个docx文档约280KB按问题概述、背景、故障现象、分析与思路、总结组织方便按步骤对照操作。目前已有1889人学习下载尤其适合在WIN11环境下部署WINCC时反复失败的用户作为专项排错手册。1. WINCC 7.5 SP2 在 Win11 上装不上的真相SQL 是第一个拦路虎公司新配的笔记本预装 Win11 26H2装 WINCC 7.5 SP2 时进度条卡在 SQL Server 安装段弹红叉直接回滚。第一反应是 WINCC 和 Win11 不兼容但翻安装日志会发现主程序压根没进场拦路的是安装包里自动带的那份 SQL Server。这份解决办法文档要解决的就是这个为什么 SQL 在 Win11 上装不进去、怎么把 SQL 单独装好、改哪些参数能让安装程序认账以及装完之后怎么确认历史归档用的数据库是活的。适合刚换 Win11、新装机或者卸载重装后要恢复环境的工程师照着走一遍能少折腾一个下午。2. 先查环境再动手Win11 版本、SQL 兼容性与卸载残留2.1 Win11 大版本差异为什么 22H2 能装、26H2 翻车WINCC 7.5 SP2 官方兼容列表里写明支持 Windows 10/11但「支持」是有版本边界的。早期 Win11 22H2、23H2 装起来很顺SQL Server 2019 的安装程序在安装规则检查阶段能正常通过到了 24H2规则检查开始偶尔误判26H2 上SQL 安装程序直接报「此环境不满足安装要求」或者启动后秒退的情况明显变多。这不是玄学是 SQL Server 2019 的 setup.exe 里兼容性列表太旧它把新 Win11 的版本号识别成了不受支持的 Windows 版本。排查第一步永远是看清楚当前系统到底什么版本。新买回来的机器很多出厂就是 26H2而 IT 部门统一分发镜像的机器可能是 23H2 银样。用下面命令检查winver这个弹窗只能看大版本号和内部版本号信息不够细。要看完整的 OS 版本、构建号、安装日期用这条Get-ComputerInfo -Property WindowsProductName, WindowsVersion, OsBuildNumber, WindowsInstallDateFromRegistry如果确认是 24H2 或 26H2先别急着判死刑。大部分情况下不需要降级系统——SQL 安装程序能换兼容模式跑后面第 4 章会具体说。但有一点要提前有数26H2 是当前踩坑率最高的大版本装之前把系统更新暂停掉避免安装过程中 Windows Update 后台动系统文件。版本确认这一步做扎实后面省掉的不只是重装一次的时间。2.2 三个必查项.NET 3.5、已装 SQL 实例、管理员权限SQL Server 2019 的安装程序依赖 .NET Framework 3.5而 Win11 默认只带 4.x3.5 需要额外启用。很多「SQL 安装程序双击没反应」「安装界面只转圈」的案例最后都查到这里。启用方法用 DISM不用去控制面板里点半天DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess如果系统里没保留 Win11 镜像或者更新缓存这条命令会报错找不到源文件。此时挂载一个对应版本 Win11 的 ISO把命令改成带/Source参数DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /Source:E:\sources\sxs /LimitAccessE:是 ISO 挂载出来的盘符sxs目录里放着 .NET 3.5 的 cab 文件。启用完成后可以用Get-WindowsOptionalFeature -Online -FeatureName NetFx3验证状态State 显示 Enabled 才算过。第二个必查项是机器上已有的 SQL 实例。WINCC 7.5 SP2 安装包自带的 SQL 安装脚本默认要装一个名为 SQLEXPRESS 的实例如果机器上已经存在同名实例——哪怕是个坏掉的残体——安装程序会直接停下。检查命令Get-Service | Where-Object {$_.Name -like MSSQL* -or $_.Name -like SQL*} | Format-Table Name, Status, DisplayName -AutoSize看到MSSQL$SQLEXPRESS或者MSSQLSERVER就要注意了。如果是不需要的旧实例去控制面板卸载如果是 Visual Studio 装进来的 LocalDB 实例它通常不会占用 SQLEXPRESS 这个名字一般不影响但保险起见记录一下。第三个必查项是管理员权限。这条最容易被忽略安装程序已经用管理员身份跑了但 SQL Server 服务启动阶段需要SYSTEM级权限注册服务。建议安装时用内置 Administrator 账户或者在标准管理员账户下先把 UAC 拉到默认档位再右键管理员运行。UAC 拉到最高会导致 SQL 安装程序的提权弹窗被静默拦截安装界面看起来正常到启动服务那一步就报错。2.3 卸载残留WINCC 和 SQL 的清理顺序如果你已经失败安装过一两次别直接重试先花十分钟清理现场。系统里可能残留了半装状态的 SQL 实例、WINCC 的注册表项、还有安装日志目录。常见残留在两个注册表分支HKEY_LOCAL_MACHINE\SOFTWARE\SIEMENS和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\实例名。清理顺序固定为先卸载 SQL 实例再卸载 WINCC如果装了一部分最后删文件目录。顺序反了会出现卸载程序本身报错。SQL 实例卸载可以从控制面板「程序和功能」里找到对应的 SQL Server 版本条目运行卸载向导选择删除实例和共享组件。WINCC 的卸载入口在同一个面板里名称带 SIMATIC WinCC。提示改注册表前先右键导出对应分支做备份卸载残留这种事属于「宁可多备份不能少备份」。走过的血泪经验是清理完注册表后建议重启一次因为 SQL 的安装程序会缓存部分环境检测结果不重启容易把上一轮的残留信息带进下一轮检测。3. 手工装 SQL把最容易失败的段提前单独跑通3.1 从安装包里提取 SQL 安装文件WINCC 7.5 SP2 的安装介质挂载后SQL Server 2019 Express 的安装程序默认放在安装根目录下的某个子目录里文件名通常是SQLEXPR_x64_ENU.exe这类命名。与其在虚拟光驱里直接执行我一般习惯把整个安装包先拷贝到本地固态盘再动手原因是安装程序在安装过程中要多次读源文件虚拟光驱在某些机器上会偶发文件句柄占用导致安装中断。先看下安装介质里的 SQL 相关文件文件名所在目录用途SQLEXPR_x64_ENU.exeDisk1 或 Support 目录SQL Server 2019 Express 安装程序setup.exeWINCC 安装根目录WINCC 主安装程序入口setup.iniWINCC 安装根目录安装配置可控制组件行为找到 SQLEXPR 开头的 exe 后右键管理员运行或者直接走命令行。图形界面安装的问题在于你自己点选的参数未必和 WINCC 期望的一致命令行能精确控制实例名、认证方式和服务账户可复现性高得多。3.2 静默安装 SQL Server 2019 Express完整参数拆解命令行安装是这套解决办法里最核心的一步。下面这条命令我在多台 Win11 上验证过装完的实例 WINCC 7.5 SP2 直接识别SQLEXPR_x64_ENU.exe /ACTIONInstall /FEATURESSQLENGINE /INSTANCENAMESQLEXPRESS /SQLSYSADMINACCOUNTSBUILTIN\ADMINISTRATORS /SECURITYMODESQL /SAPWDWinCC2024SQL! /TCPENABLED1 /NPENABLED0 /IACCEPTSQLSERVERLICENSETERMS /Q逐段说明参数含义。/ACTIONInstall是全新安装/FEATURESSQLENGINE只装数据库引擎不装 Analysis Services 和 Reporting Services这两项 WINCC 用不到还平白多出两个服务/INSTANCENAMESQLEXPRESS必须和 WINCC 默认期望的实例名一致这一点是后续能否被自动识别的关键/SQLSYSADMINACCOUNTS指定 SQL 的 sysadmin 角色成员BUILTIN\ADMINISTRATORS表示本机管理员组整体纳入省得回头再加权限。/SECURITYMODESQL和/SAPWD是启用混合认证模式并设置 sa 密码如果只想用 Windows 认证把这两个参数去掉即可。/TCPENABLED1开启 TCP/IP 协议WINCC 的客户端连接多半走这个协议不开后面项目连不上库。/NPENABLED0关闭命名管道减少暴露面。/Q静默安装不弹界面。安装过程大概 5 到 10 分钟命令行窗口会输出进度。日志默认写在C:\Program Files\Microsoft SQL Server\160\Setup Bootstrap\Log下失败了先翻这个目录的Summary.txt它会把失败原因定位到具体环节。3.3 装完 SQL 后的一分钟验证SQL 装完先别急着跑 WINCC花一分钟确认实例是活的。用 sqlcmd 做连通性测试sqlcmd -S .\SQLEXPRESS -E -Q SELECT VERSION-S .\SQLEXPRESS指定本地 SQLEXPRESS 实例-E走 Windows 认证-Q执行查询。能返回一大段 SQL Server 版本信息说明实例在跑、认证能用、端口监听正常。如果报「无法连接到 .\SQLEXPRESS」检查服务状态Get-Service -Name MSSQL$SQLEXPRESSStartType 应该是 AutomaticStatus 应该是 Running。服务没起来就去事件查看器看 SQL 错误日志最常见的是权限问题把服务账户改成 Local System 再启动一次。这一步验证过不了WINCC 装完也连不上库到第 6 章还得返工。3.4 界面安装的注意点不用命令行、走图形界面的情况注意三点。第一功能选择页只勾「数据库引擎服务」额外组件一律不选第二实例配置页选「命名实例」实例名手动敲成 SQLEXPRESS不要选默认实例因为 WINCC 的配置文件里写死的就是这个实例名第三服务器配置页的排序规则保持默认不要手贱改成中文排序规则WINCC 的历史归档查询对排序规则敏感改错了会出现中文变量名查不到数据的问题。图形界面装完同样用 3.3 节的 sqlcmd 验证一遍。4. 再战 WINCC 7.5 SP2改安装参数、兼容模式与安装顺序4.1 让 WINCC 安装程序跳过 SQL 阶段SQL 实例活起来之后重新挂载 WINCC 安装介质跑主安装程序。正常情况下安装器的环境检测会发现已有 SQLEXPRESS 实例自动跳过它自带的 SQL 安装段直接进入 WINCC 组件安装。但 26H2 上常见的情况是检测逻辑抽风明明实例在跑它还是要拉起自带的 SQL 安装程序再撞一次失败。此时用自定义安装路径绕开。运行 setup.exe 后在安装类型选择页选「自定义 Custom」组件树里找到数据库相关的子项把 SQL Server 相关的勾选去掉只保留 WINCC 本体。不同 SP 版本的界面文案略有差异有的版本这个勾选藏在「数据库」或「SQL Server」子节点下展开就能看到。部分版本的自定义界面里根本没有 SQL 勾选项这时候就要动安装配置文件了。WINCC 安装根目录下的setup.ini里通常有一块控制组件安装行为的配置把 SQL 相关的条目值改成不安装。实际操作里这个文件的键名在不同 SP 版本间不一致最稳妥的办法是先打开文件搜SQL关键字把带Install1或Selected1的 SQL 条目改成 0。改完之后运行 setup.exe它会按配置跳过 SQL。注意配置文件的注释行不要乱删只改键值。4.2 注册表兼容性标记让旧安装程序在 Win11 上跑起来SQL 安装程序在 24H2/26H2 上一闪而过或者安装界面渲染成空白这是兼容性检测没过。不用降系统版本给安装程序打个兼容性补丁就行。通过注册表把 SQLEXPR 安装程序标记成以 Win10 兼容模式运行reg add HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers /v D:\WinCC_75_SP2\SQL\SQLEXPR_x64_ENU.exe /t REG_SZ /d ~ WIN10RTM /f/v后面是安装程序的完整绝对路径/d的~表示以兼容模式启动WIN10RTM对应 Windows 10 第一个正式版的兼容层。这套机制是系统自带的 AppCompat不注入不放行任何第三方内容安全边界没问题。改完注册表后再双击 SQLEXPR安装程序会认为自己跑在 Win10 上规则检查全部放行。这种方法同样适用于 WINCC 主安装程序setup.exe双击没反应的情况把路径换成 setup.exe 的路径重跑一遍 reg add 即可。提示改注册表前先把Layers这个键导出备份防一手。如果机器上还开了「内存完整性」这类虚拟化安全功能AppCompat 标记有时候会被行为拦截此时临时关掉内存完整性装完再开回也是一个可选项。4.3 安装顺序与 Windows 更新的取舍顺序问题值得单独强调先 SQL 后 WINCC这个顺序不要反。反过来的结局是 WINCC 主程序装到一半SQL 装失败整体回滚卸载还卸不干净下一轮安装检出残留直接拒绝装。正确路径是先把 SQL 实例通过第 3 章的办法单独装好、验证通过再跑 WINCC。另一个取舍是系统大版本更新和安装窗口期的冲突。装 WINCC 之前不要顺手做 23H2 升 26H2 这类系统大更新大版本更新会重置部分 AppCompat 标记、重新配置 SQL 相关服务的启动状态。更典型的翻车场景是WINCC 装好了第二天系统自动更新重启SQL 服务起不来打开项目全是连接报警。所以装机顺序我一般推荐到位先做系统更新更新完重启关掉自动更新再装 SQL、装 WINCC最后观察一两周稳定了再把自动更新开回来。5. 安装报错避坑与排查五条现场踩坑记录5.1 报错「无法找到数据库引擎启动句柄」现象SQL Server 2019 安装到启动服务这一阶段直接报出「无法找到数据库引擎启动句柄」WINCC 安装随之整体回滚安装日志里只有一句通用错误码。原因大部分情况是服务账户权限不足SQL 默认用NT Service\MSSQL$SQLEXPRESS启动部分 Win11 精简系统或企业策略会把这个账户的本地策略权限收掉导致服务进程起不来少数情况是上一个残留实例占用了同名实例导致句柄分配失败。解决先去事件查看器里看MSSQL$SQLEXPRESS来源的日志确认是不是权限问题然后把 SQL Server 服务账户改成 Local System 再启动。改完服务账户后到安装中心「修复」一次或者直接卸载重跑一遍第 3 章的命令行安装。这个报错在 SQL Server 2016/2017/2019 三代上都出现过不区分 WINCC 版本本质是 SQL 安装和服务账户的老毛病。5.2 安装程序启动后秒退现象双击 SQLEXPR_x64_ENU.exe转圈两秒什么都没发生进程自己退出没有任何弹窗。原因两个高频元凶——.NET Framework 3.5 没启用SQL 安装程序在初始化阶段需要加载 3.5 的组件缺失时它不弹提示而是直接退出另一个是杀毒软件或系统安全中心的后台行为拦截把安装程序当成可疑文件静默杀掉。解决先用 2.2 节的 DISM 命令把 NetFx3 启用掉再把安装包目录加入杀毒软件的白名单/排除项重新以管理员身份运行。如果还退上第 4.2 节的 AppCompat 标记。这三步按顺序走秒退问题基本终结在这一层。5.3 SQL 检测到已存在实例但装不进现象WINCC 安装器检测到系统里已有 SQLEXPRESS 实例它不覆盖、不跳过卡在一个两难状态——重新装装不上继续走又提示实例冲突。原因机器上之前装过 SQL Server Express LocalDB 或者一个残留的半成品实例名字恰好占了 SQLEXPRESS。LocalDB 的实例名通常是MSSQLLocalDB但有些第三方安装器会创建同名的命名实例。解决先看服务清单确认到底有几个 SQL 实例Get-Service | Where-Object {$_.Name -like MSSQL*} | Format-Table Name, Status, DisplayName -AutoSize确认冲突实例后用 SQL Server 安装中心卸载对应实例删掉C:\Program Files\Microsoft SQL Server\下的残留目录再清掉注册表里同名实例的键值最后重启并重跑命令行安装。注意这一步不要手动删服务用安装中心的「删除」功能手动删服务会留下注册表尸体。5.4 WINCC 安装一半报错无法写入临时目录现象WINCC 安装进度到 60% 左右停下日志里出现Cannot write to temporary directory或类似文件写入失败信息。原因C 盘空间不足或者C:\Windows\Temp权限异常。很多公司电脑的 Temp 目录被安全策略锁了写入权限安装程序缓存解压时直接翻车。同行装 SolidWorks 这类工业软件时也见过一模一样的报错都是同一个临时目录的坑。解决把用户级临时目录切到本地盘以管理员身份运行安装程序。切换命令[System.Environment]::SetEnvironmentVariable(TEMP, D:\Temp, Machine) [System.Environment]::SetEnvironmentVariable(TMP, D:\Temp, Machine)改完重启一次再跑安装。D 盘要有 10GB 以上剩余空间SQL 安装包解压 WINCC 组件拷贝一起算空间给足。5.5 SQL Browser 服务没起来导致连接不上现象WINCC 装完项目创建和打开都提示数据库连接失败但服务清单里MSSQL$SQLEXPRESS是 Running。原因SQL Browser 服务是负责命名实例解析的服务它没启动时本地连接有时候能通但项目里按实例名解析就失败。WINCC 默认连接串用的是.\SQLEXPRESS这种命名实例形式没有 Browser 服务名字解析就断。解决把 Browser 服务设为自动并启动Set-Service -Name SQLBrowser -StartupType Automatic Start-Service -Name SQLBrowser顺便确认 TCP/IP 协议是开启状态第 3.2 节的命令行参数已经带上了/TCPENABLED1如果是图形界面装的去「SQL Server 配置管理器」里核对一遍。6. 装完后的验证与进阶设置服务状态、TCP 开启与历史归档6.1 一套确认服务状态的检查序列WINCC 装完先别急着建项目一次性把 SQL 相关服务都确认到位。常见的服务名对照服务名显示名作用MSSQL$SQLEXPRESSSQL Server (SQLEXPRESS)数据库引擎主服务SQLBrowserSQL Server Browser命名实例解析SQLWriterSQL Server VSS Writer备份组件相关缺失不影响常规使用检查命令Get-Service -Name MSSQL$SQLEXPRESS,SQLBrowser | Format-Table Name, Status, StartType -AutoSize两个关键服务的 Status 都应是 RunningStartType 都应是 Automatic。只要有一个不是按第 5.5 节的办法处理。6.2 归档数据落到 SQL 后怎么快速验证WINCC 的历史趋势曲线数据最终是写到 SQL Server 里的归档变量、报警记录都在这一个库。建项目之前先在 sqlcmd 里确认实例能连项目运行并记录一段时间后直接用 SQL 查归档表确认数据真的落库了sqlcmd -S .\SQLEXPRESS -E -d WinCC_ProjectName -Q SELECT TOP 20 name FROM sys.tables WHERE name LIKE ALG% ORDER BY nameWINCC 的归档表通常以ALG_前缀命名能从项目库里查出这些表说明归档机制已经和 SQL 实例打通。查不到就先确认项目名称写对了再回第 5.5 节查协议配置。开发机本地调试时趋势曲线的脚本里连接串尽量写实例名而不是机器名换机器部署时装个 WINCC 客户端或者其他西门子软件时也照样撞 SQL 安装失败从那以后我每台新电脑都强制走一遍环境检查脚本再碰安装包——检查 .NET、查实例、查残留、做备份四件事十分钟做完换回来的是一整天不用对着安装日志发愁。希望帮到你。本文还有配套的精品资源点击获取