Windows 11安装KB5002903更新后 .XLS文件无法打开

文雨 靳 15 信誉分
2026-08-13T06:48:36.09+00:00

最近Windows 11安装KB5002903更新后造成 .XLS文件无法打开,而且Windows 11无法卸载KB5002903更新。请问有什么有效的解决办法吗?

Microsoft 365 和 Office | Excel | 商业版 | Windows

5 个答案

排序依据: 非常有帮助
  1. 小米 0 110 信誉分
    2026-08-14T01:40:33.7333333+00:00

    昨天跟同事研究很久終於發現怎麼解決,win10和win11都適用

    解決方式:去一台沒有安裝過KB5002903的電腦複製excelcnv.exe和EXCEL.EXE這兩個檔案

    覆蓋到已經裝過KB5002903的這台電腦就可以開啟了,我們實測過多台電腦都是可行的

    此答案是否有帮助?

    20+ 个人认为此答案很有帮助。

  2. 小米 0 110 信誉分
    2026-08-14T01:36:43.4533333+00:00

    昨天跟同事研究很久終於發現怎麼解決,win10和win11都適用
    解決方式:去一台沒有安裝過KB5002903的電腦複製excelcnv.exe和EXCEL.EXE這兩個檔案
    然後覆蓋到已經裝過KB5002903的這台電腦就可以開啟了,我們實測過多台電腦都是可行的

    此答案是否有帮助?

    10+ 个人认为此答案很有帮助。

  3. 忠鍵 李 0 信誉分
    2026-08-13T18:04:10.81+00:00

    I found a workaround for the Excel 2016 issue where old .xls files freeze or crash after installing KB5002903.

    The following method:

    Checks exactly which Office 2016 components have KB5002903 installed.

    Removes KB5002903 only from the affected Office components.

    Hides KB5002903 from Microsoft Update to prevent the same update from being automatically installed again.

    Please run PowerShell as Administrator.

    Step 1 — Check where KB5002903 is installed

    This step only reads information. It does not uninstall or modify anything.

    $root = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products'
    
    Get-ChildItem $root -ErrorAction SilentlyContinue | ForEach-Object {
        $product = $_
        $patches = Join-Path $product.PSPath 'Patches'
    
        if (Test-Path $patches) {
            Get-ChildItem $patches -ErrorAction SilentlyContinue | ForEach-Object {
                $patch = Get-ItemProperty $_.PSPath -ErrorAction SilentlyContinue
    
                if ($patch.DisplayName -match '5002903') {
                    $globalPatch = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\$($_.PSChildName)"
                    $global = Get-ItemProperty $globalPatch -ErrorAction SilentlyContinue
                    $installProps = Get-ItemProperty (Join-Path $product.PSPath 'InstallProperties') -ErrorAction SilentlyContinue
    
                    [PSCustomObject]@{
                        DisplayName     = $patch.DisplayName
                        PatchKey        = $_.PSChildName
                        Uninstallable   = $patch.Uninstallable
                        State           = $patch.State
                        LocalPackage    = $global.LocalPackage
                        ProductName     = $installProps.DisplayName
                        UninstallString = $installProps.UninstallString
                    }
                }
            }
        }
    } | Format-List
    

    If KB5002903 is installed, you should see entries similar to:

    DisplayName     : Security Update for Microsoft Excel 2016 (KB5002903) 64-Bit Edition
    Uninstallable   : 1
    LocalPackage    : C:\WINDOWS\Installer\xxxxx.msp
    ProductName     : Microsoft Office Professional Plus 2016
    UninstallString : MsiExec.exe /X{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
    

    Uninstallable : 1 means that the patch can be removed.

    There may be several results because the same Office patch can be applied to multiple Office 2016 components.

    Step 2 — Remove KB5002903 from all matching Office components

    Close Excel, Word, PowerPoint, Outlook, and other Office applications first.

    Then run the following in PowerShell as Administrator:

    $root = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products'
    
    $targets = Get-ChildItem $root -ErrorAction SilentlyContinue | ForEach-Object {
        $product = $_
        $patches = Join-Path $product.PSPath 'Patches'
    
        if (Test-Path $patches) {
            Get-ChildItem $patches -ErrorAction SilentlyContinue | ForEach-Object {
                $patch = Get-ItemProperty $_.PSPath -ErrorAction SilentlyContinue
    
                if ($patch.DisplayName -match '5002903') {
                    $globalPatch = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\$($_.PSChildName)"
                    $global = Get-ItemProperty $globalPatch -ErrorAction SilentlyContinue
                    $installProps = Get-ItemProperty (Join-Path $product.PSPath 'InstallProperties') -ErrorAction SilentlyContinue
    
                    $productCode = $null
    
                    if ($installProps.UninstallString -match '\{[0-9A-Fa-f-]+\}') {
                        $productCode = $matches[0]
                    }
    
                    if ($patch.Uninstallable -eq 1 -and $productCode -and $global.LocalPackage) {
                        [PSCustomObject]@{
                            ProductName  = $installProps.DisplayName
                            ProductCode  = $productCode
                            LocalPackage = $global.LocalPackage
                        }
                    }
                }
            }
        }
    }
    
    if (-not $targets) {
        Write-Host "KB5002903 was not found, or no uninstallable installation was found."
    }
    else {
        foreach ($target in $targets) {
            Write-Host ""
            Write-Host "Removing KB5002903 from:"
            Write-Host $target.ProductName
    
            if (-not (Test-Path $target.LocalPackage)) {
                Write-Host "MSP file not found:" $target.LocalPackage
                Write-Host "Skipping this component."
                continue
            }
    
            $arguments = "/package $($target.ProductCode) /uninstall `"$($target.LocalPackage)`" /passive /norestart"
    
            $process = Start-Process msiexec.exe `
                -ArgumentList $arguments `
                -Wait `
                -PassThru
    
            Write-Host "ExitCode =" $process.ExitCode
        }
    }
    

    If you see:

    ExitCode = 0
    

    the patch was successfully removed from that Office component.

    If KB5002903 was applied to several Office components, you should see one result for each component.

    After all entries finish, restart Windows and try opening the affected .xls file again.

    On my system, removing KB5002903 and restarting Windows restored the ability to open the affected Excel 97–2003 .xls files.

    Step 3 — Hide KB5002903 so it is not automatically installed again

    After confirming that uninstalling KB5002903 solves the problem, run the following in PowerShell as Administrator.

    This searches Microsoft Update for KB5002903 and marks the currently offered update as hidden.

    $session = New-Object -ComObject Microsoft.Update.Session
    $searcher = $session.CreateUpdateSearcher()
    
    $searcher.ServerSelection = 3
    $searcher.ServiceID = '7971f918-a847-4430-9279-4a52d1efe18d'
    
    Write-Host "Searching Microsoft Update. Please wait..."
    
    $result = $searcher.Search("IsInstalled=0 and Type='Software' and IsHidden=0")
    
    $found = $false
    
    foreach ($update in $result.Updates) {
        $kb = @($update.KBArticleIDs)
    
        if ($update.Title -match 'KB5002903' -or $kb -contains '5002903') {
            Write-Host "Found:" $update.Title
    
            $update.IsHidden = $true
    
            Write-Host "KB5002903 has been hidden."
            $found = $true
        }
    }
    
    if (-not $found) {
        Write-Host "KB5002903 is not currently being offered by Microsoft Update."
    }
    

    If successful, you should see something similar to:

    Found: Security Update for Microsoft Excel 2016 (KB5002903) 64-Bit Edition
    KB5002903 has been hidden.
    

    This allows other Windows and Microsoft updates to continue normally while preventing the currently offered KB5002903 update from being automatically installed again.

    Important: Hiding the update is not necessarily a permanent block against every future revision. If Microsoft republishes KB5002903, replaces it with another KB, or releases a corrected version, Windows Update may offer a new update again.

    Also remember that KB5002903 is a security update. Removing and hiding it should therefore be considered a temporary workaround while waiting for Microsoft to provide a corrected update.

    Do not copy another user's Office Product GUID or .msp filename. The scripts above automatically detect the appropriate values from the local PC.


    Disclosure: This troubleshooting guide and the PowerShell scripts above were generated with the help of ChatGPT, based on my troubleshooting request and the results observed on my own PC.

    此答案是否有帮助?

    10+ 个人认为此答案很有帮助。

  4. Sail Huang 0 信誉分
    2026-08-28T07:43:59.73+00:00

    WIN11 無法卸載 KB5002903 Office 2016 安全性更新

    此答案是否有帮助?

    2 个人认为此答案很有帮助。
    0 个注释 无注释

  5. Michelle Nguyen 2,620 信誉分 独立顾问
    2026-08-13T07:29:56.8133333+00:00

    这个答案是自动翻译的,因此可能会有语法错误或不自然的表达。

    嗨 @文雨 靳

    请问您目前使用的是 Excel 2016 吗?

    如果是,根据您提供的信息,该问题于 8 月 12 日早上开始出现,并且主要影响 Excel 2016,因此可能与 Microsoft 于 2026 年 8 月 11 日发布的 Excel 2016 安全更新 KB5002903 有关。

    有关此更新的详细信息,请参阅 Microsoft 支持页面:

    Excel 2016 安全更新说明:2026 年 8 月 11 日(KB5002903)

    尝试卸载更新,看看问题是否与新的安全更新有关,以及情况是否有所改善。

    点击 [开始] 按钮,在搜索框中输入“控制面板”,然后按回车。

    进入 [程序] > [卸载程序]。

    在左侧窗口中,选择 [查看已安装的更新]。

    从更新列表中找到并选择 KB5002903,然后选择 [卸载]。

    重启电脑,然后重新在 Excel 97-2003 格式 (.xls) 中打开文件,检查其操作是否正常。

    如果你是通过 Windows 更新安装的,请进入 [设置] > [Windows 更新] > [更新历史记录] > [卸载更新],找到 KB5002903,并选择 [卸载]。

    如果卸载安全更新可以解决问题,请直接通过 Excel 的 [帮助] > [报告问题] 向微软反馈。这样,客户的反馈就能可靠地到达产品团队,这个 Excel 2016 的特定问题也能被认可和考虑,有助于未来版本优先修复。

    请试一下,然后告诉我们你的情况。

    请试一试,并告诉我们你的结果。如果你需要进一步的帮助,请随时在这篇文章的评论区联系我们。我们很乐意为你提供帮助。

    感谢你的理解与配合。我们期待收到你的反馈。

    此答案是否有帮助?

    2 个人认为此答案很有帮助。

你的答案

提问者可以将答案标记为“已接受”,审查方可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。