# 更新 Windows 軟體之前，先分清從哪裡更新

瀏覽器提示有新版，軟體頁也顯示有更新，Windows Update 還在等重新啟動。這幾件事各有自己的入口，不需要看到更新兩個字就一起操作。

## Mole 自己的更新，先看說明

點 Mole 視窗左上角的標記，選擇檢查更新，看看這一版的改動，再點安裝更新。下載中可以取消，稍後再裝。換電腦重新下載時，在 Windows 官網選對應的 x64 或 Arm64 安裝套件。軟體頁裡的更新按鈕不負責更新 Mole 自己。

Mole for Windows 持續迭代，可以在[Windows 更新記錄](/zh/windows/releases)裡對照版本。文章裡描述的新行為，不一定已經出現在你安裝的那一版。

## 其他軟體，按它自己的管道更新

Mole 軟體頁透過 winget 檢查其他軟體。檢查到的版本來自軟體套件來源的記錄。更新時執行對應安裝程式。這份記錄和軟體廠商自己的更新程式不是同一層。安裝程式要求系統管理員權限、結束軟體或重新啟動時，先完成這些步驟再複查。

Chrome、Brave、Firefox 和 Opera 這類受支援的瀏覽器開著也能在 Mole 裡直接更新。Edge 走自己的更新程式，Mole 會開啟它的 `edge://settings/help` 頁面。其他瀏覽器仍然要先結束。部分會自行更新的軟體會開啟它自己的更新入口，不隨批次更新一起重裝。用它原來的更新程式做完以後再回 Mole 檢查。市集應用程式可以在 Microsoft Store 裡更新。Windows 系統更新則在設定 › Windows Update 裡處理。

想在終端機裡查看 winget 能辨識的更新，可以執行下面的命令。它列出更新，不會安裝它們：

```powershell
winget upgrade
```

有清單表示 winget 找到了比對的更新。沒有清單不代表所有軟體都是最新版。報錯則表示檢查沒有完成。[微軟的升級說明](https://learn.microsoft.com/en-us/windows/package-manager/winget/upgrade)也區分了只列出更新、升級單一軟體和批次升級。版本未知或被固定的項目有自己的條件，不需要為了清空清單強行加參數。

## winget 比對的是軟體套件，不是逐個檢查程式

清單裡的名稱是顯示名稱，ID 用來識別軟體套件，Version 是辨識到的已裝版本，Available 是來源裡提供的版本，Source 是這個套件來自哪個軟體來源。名稱相近的軟體、市集版和桌面版、不同的安裝範圍，都可能是不同的套件。只認一個熟悉的名稱，不夠用來決定拿哪個安裝程式覆蓋。

winget 也能比對用其他方式裝上的軟體，不要求它當初是用 `winget install` 裝的。反過來，沒比對上或版本未知的程式，也不會因為不在清單裡就變成最新版。[微軟的升級文件](https://learn.microsoft.com/en-us/windows/package-manager/winget/upgrade)把列出和安裝分開。`winget upgrade` 不帶參數只是列出候選，加上 `--all` 就會開始升級。

<figure class="blog-diagram">
  <picture>
    <source media="(max-width: 900px)" srcset="/img/blog/windows-update-windows-apps-zh-mobile.webp" type="image/webp" width="768" height="1500">
    <img src="/img/blog/windows-update-windows-apps-zh.webp" width="1360" height="454" loading="lazy" alt="不同更新入口，交付不同內容">
  </picture>
  <figcaption>根據實際軟體選擇更新管道。桌面軟體、市集應用程式、系統修補與 Mole 自身不是同一佇列。</figcaption>
</figure>

## 更新以後，看實際啟動的是哪一份

假設電腦裡同時裝了市集版和桌面版，更新了其中一個，再從另一個捷徑開啟，看到的仍然可能是舊版本。先在關於裡核對版本，再看程式檔案的位置，比反覆安裝更容易說清差異。

開發工具、設計軟體和專業軟體，還要看新版和手上的專案、外掛是否相容。版本更新不代表舊外掛都還能用。更新前儲存沒做完的工作，讀一下廠商的更新說明，記下原來的版本和安裝管道。需要重新啟動就先按提示完成，再開啟一個常用專案看看，而不是只看清單裡少了一列。

Windows Update、Microsoft Store、軟體自己的更新程式和 Mole 的更新各自交付不同的內容。出了問題回到對應管道看結果。一個一般軟體更新失敗，不需要去重設 Windows 的更新元件。

## 更新完，還顯示同一個版本怎麼辦

先開啟軟體自己的關於頁確認版本，再檢查安裝程式有沒有完成。部分軟體要結束重開或重新啟動 Windows，才會用上新版本。軟體顯示的版本和套件來源記錄的版本也可能不一致。反覆安裝同一份套件不一定能解決。

Mole 會把本次更新後仍然出現的同一版本留給你檢查，避免批次操作反覆重裝。如果套件來源沒有適合這台電腦架構或安裝範圍的安裝程式，就從軟體自己的官網或更新入口確認，不要拿另一個架構的套件覆蓋過去。

更新停在某個階段時，[更新失敗排查](/tw/windows/blog/windows-app-update-failures)按下載、系統管理員確認、安裝和版本核對分開講。Windows Update 留下的下載檔案可以看[清理更新檔案](/tw/windows/blog/delete-windows-update-files)。


Canonical: https://mole.fit/tw/windows/blog/update-windows-apps
