顯示具有 winget 標籤的文章。 顯示所有文章
顯示具有 winget 標籤的文章。 顯示所有文章

2024/03/15

今天要在一台新安裝的win11 上要更新winget時出現以下訊息

C:\Windows\System32>powershell add-appxpackage %temp%\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle            add-appxpackage : 部署失敗,HRESULT 為: 0x80073CF3, 套件無法進行更新、相依性或衝突驗證。                                Windows 無法安裝套件Microsoft.DesktopAppInstaller_1.22.10661.0_x64__8wekyb3d8bbwe,因為此套件相依于找不到的架構。提供由 "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"發行的架構"Microsoft.UI.Xaml.2.8"、中 性或x64處理器架構與最低版本8.2310.30001.0,以及要安裝的此套件。
注意: 如需其他資訊,請在事件記錄檔中尋找 [ActivityId] 1c4c5989-76a7-0000-05e8-511ca776da01,或使用命令列 Get-AppPackage
Log -ActivityID 1c4c5989-76a7-0000-05e8-511ca776da01
位於 線路:1 字元:1
+ add-appxpackage C:\Users\aaa\AppData\Local\Temp\Microsoft.DesktopApp ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (C:\Users\aaa\A...bbwe.msixbundle:String) [Add-AppxPackage], IOException
    + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand

原因是因為沒有安裝 Microsoft.UI.Xaml.2.8
到github上去找最新版
目前是 2.8.6
下載安裝完再更新winget就沒問題了



2024/02/26

總結一下目前如何在client 使用winget 定期更新
在目前原有的使用者上建立排程
單位內的使用者95%以上都使用 abc 這個帳號 
所以把排程建在 abc 這個user上

加入以下的 reg 以達成以下二個作用

bypass MicrosoftStore Certificate 
關閉安裝軟体時的UAC 以避免一直跳出視窗要user按確定

Windows Registry Editor Version 5.00



[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppInstaller]
"EnableBypassCertificatePinningForMicrosoftStore"=dword:00000001


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:00000000



為了不要讓user看到排程執行時的DOS視窗 因此批次檔要以 vbs 進行呼叫

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c C:\ProgramData\wingetgo.vbs",vbhide


接下來建立排程

schtasks /create /tn "winget4update task" /tr "C:\ProgramData\wingetgo.vbs" /sc weekly /d MON /st 09:00 /ru abc /f

因為每個user都會改密碼 所以沒辦法建立不登入時也能執行的排程
還有一個問題就是如果user沒有登入網路 執行也不會成功


整個由eset主按台派送的工作如下

curl -o %temp%\winget.reg http://10.0.0.1:3128/i/o/winget.reg
regedit /s %temp%\winget.reg
curl -o C:\ProgramData\wingetgo.bat http://10.0.0.1:3128/i/o/wingetgo.bat
curl -o C:\ProgramData\wingetgo.vbs http://10.0.0.1:3128/i/o/wingetgo.vbs
schtasks /create /tn "winget4update task" /tr "C:\ProgramData\wingetgo.vbs" /sc weekly /d MON /st 09:00 /ru abc /f

2024/02/21

之前本來想從eset的管理介面下指令在每台電腦上跑winget
但這段時間看好像都沒效果
但從管理介面看是執行成功的
請席克幫忙查一下
結果是因為主控台派下去的指令的執行身分是 system
但是用system這個身分去執行 winget 無法成功
昨天討論後
最後決定直接在每台client執行排程
試過一台沒問題
今天把辦公室的几器全部加入排程
明天中午再來看看結果

2023/12/15

最近在佈署 winget 
發現在 win10 LTSC上無法安裝執行
查了半天才發現因為 LTSC 拿掉很多東西
所以如果要執行要再手動補回去
而且補回去的順序不能錯
否則還是會無法安裝及執行

首先是要補回 msstore

https://github.com/lixuy/LTSC-Add-MicrosoftStore/archive/2019.zip
下載後解開
如果不需要付費軟体及 xbox可以把相關的檔案砍了
再以系統管理員執行
Add-Store.cmd

再來是安裝 VC++ v14 及 Microsoft.UI.Xaml

powershell add-appxpackage Microsoft.UI.Xaml.2.7.appx
powershell add-appxpackage Microsoft.VCLibs.x64.14.00.Desktop.appx

最後安裝 winget

powershell add-appxpackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle

切記一定要照順序

如果因為沒照順序導致無法安裝執行
要先移除 package再重裝

 先進 powershell
列出所有 package
get-appxpackage

找出 PackageFullName
get-appxpackage | findstr /i PackageFullName

移除相關的 package

Microsoft.DesktopAppInstaller_1.21.3421.0_x64__8wekyb3d8bbwe

Microsoft.VCLibs.140.00.UWPDesktop_14.0.30704.0_x64__8wekyb3d8bbwe

Microsoft.UI.Xaml.2.7_7.2109.13004.0_x64__8wekyb3d8bbwe

Remove-AppxPackage -Package "
Microsoft.DesktopAppInstaller_1.21.3421.0_x64__8wekyb3d8bbwe"

Remove-AppxPackage -Package "Microsoft.VCLibs.140.00.UWPDesktop_14.0.30704.0_x64__8wekyb3d8bbwe"

Remove-AppxPackage -Package "Microsoft.UI.Xaml.2.7_7.2109.13004.0_x64__8wekyb3d8bbwe"


再重新安裝一次


https://github.com/microsoft/winget-cli

https://github.com/microsoft/winget-cli/issues/1781

https://github.com/kkkgo/LTSC-Add-MicrosoftStore

https://www.jianshu.com/p/39cac920e42f

2023/12/10

今天在玩winget

記錄一下在 win11 碰到的問題

內建有安裝但下

winget search notepad 找不到任何東西


要安裝最新版本

https://github.com/microsoft/winget-cli/releases/


目前最新

https://github.com/microsoft/winget-cli/releases/download/v1.6.3133/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle

下載後打開

powersell


add-appxpackage ./下載檔名                  才能安裝 

直接點二下無法安裝


裝好後無法使用 msstore 資料源

一直出現錯誤


搜尋來源時失敗: msstore

執行命令時,發生意外的錯誤:

0x8a15005e : The server certificate did not match any of the expected values.


winget source reset 也沒用

查了才發現 msstore 憑証有問題 有夠無言

下指令bypass msstore 憑証

winget settings --enable BypassCertificatePinningForMicrosoftStore

或加入以下機碼


Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AppInstaller]

"EnableBypassCertificatePinningForMicrosoftStore"=dword:00000001



winget install 一直跳出 UAC 畫面

安裝 gsudo 解決 

winget install gerardog.gsudo

重開几

gsudo winget upgrade --all

sudo winget upgrade --all


安裝時還是會跳出 gsudo 的UAC 不過只會跳一次 安裝軟体不會再跳


方便好用的工具

尤其是OS裝完後續安裝軟体


還有更新目前安裝的所有軟体

gsudo winget upgrade --all


如果不想升級某些軟体 要先 pin

winget pin add <package> --version


自動接受安裝合約

--accept-package-agreements