Tìm kiếm ↓↓↓

Hướng dẫn tạo batch file gỡ bỏ gói cài đặt của ứng dụng mặc định thuộc nhóm Windows Store

ProvisionedAppxPackage là gói cài đặt ứng dụng mặc định thuộc nhóm Store được lưu trong thư mục ẩn WindowsApps theo đường dẫn C:\Program Files. Tương tự như phần mềm dạng setup, ứng dụng có thể cài lại được bằng PowerShell nếu gói cài đặt của ứng dụng chưa bị gỡ bỏ. Trong trường hợp sau khi đã gỡ bỏ ứng dụng mà không muốn cài lại ứng dụng bằng PowerShell chúng ta có thể chọn gỡ bỏ luôn gói cài đặt của ứng dụng đi, hoặc trong trường hợp nếu bạn muốn tạo tài khoản người dùng mới mà không muốn hệ thống tự động cài ứng dụng cho tài khoản này bạn cũng có thể gỡ bỏ gói cài đặt ứng dụng trước khi tạo tài khoản mới.

LƯU Ý: Việc gỡ bỏ gói cài đặt của ứng dụng mặc định không ảnh hưởng đến ứng dụng đã được cài đặt. Trong trường hợp ứng dụng đã gỡ bỏ từ trước nếu muốn cài lại thì vào Store tải lại ứng dụng.

Việc gỡ bỏ gói cài đặt của ứng dụng dựa vào tên PackageName của ứng dụng đó và để đi tìm gói cài đặt chúng ta sẽ sử dụng lệnh sau:

Dism /Online /Get-ProvisionedAppxPackages | findstr PackageName

Khi tìm được PackageName của ứng dụng thì lệnh gỡ bỏ gói cài đặt ứng dụng sẽ là:

Dism /Online /Remove-ProvisionedAppxPackage /PackageName:"PackageName"

Trong đó "PackageName" là tên gói cài đặt của ứng dụng muốn gỡ, ví dụ để gỡ bỏ gói cài đặt của ứng dụng 3D Builder chúng ta sẽ sử dụng lệnh sau:

Dism /Online /Remove-ProvisionedAppxPackage /PackageName:Microsoft.3DBuilder_13.0.10349.0_neutral_~_8wekyb3d8bbwe

Bây giờ để tiết kiệm thời gian và dễ thao tác chúng ta sẽ sử dụng batch file và khi cần gỡ bỏ gói ứng dụng nào chỉ cần copy và paste tên gói nhấn enter là xong. Tập tin batch sẽ có nội dung như sau:

@echo off

:remove-provisionedappxpackage

cls

echo.PackageName

echo.

for /f "tokens=3" %%a in ('Dism /Online /Get-ProvisionedAppxPackages ^| findstr PackageName ') do (

 echo.%%a

)

echo.

set /p PackageName=Copy and paste PackageName and press Enter :

if [%PackageName%]==[] goto remove-provisionedappxpackage

echo.

Dism /Online /Remove-ProvisionedAppxPackage /PackageName:%PackageName%

echo.

choice /c YN /n /m "Do you want to continue remove-provisionedappxpackage ? (Yes/No) "

if %errorlevel% EQU 1 goto remove-provisionedappxpackage

if %errorlevel% EQU 2 exit

Lưu lại với tên ví dụ Remove-ProvisionedAppxPackage.cmd hoặc Remove-ProvisionedAppxPackage.bat định dạng All Files và Encoding:ANSI. Khi chạy batch file bằng quyền Adminstrator sẽ cho hình minh họa dưới đây:


Như vậy khi cần gỡ bỏ gói ứng dụng nào chỉ cần copy gói PackageName của ứng dụng nhấn enter là xong. Tập tin batch này cũng bao gồm lệnh xem danh sách gói cài đặt ứng dụng, như vậy khi bạn đã gỡ bỏ gói ứng dụng nào thì gói PackageName sẽ không còn trong danh sách.

Trường hợp bạn muốn thêm vào nội dung tìm kiếm gói ứng dụng trước khi gỡ bỏ bạn có thể thêm thẻ điều kiện IF với nội dung nếu tìm thấy thì sẽ gỡ bỏ còn không sẽ thông báo ứng dụng không được tìm thấy. Có hai cách:

Cách 1: Thêm lệnh Dism /Online /Get-ProvisionedAppxPackages | findstr PackageName

Dism /Online /Get-ProvisionedAppxPackages | findstr PackageName

if %errorlevel% EQU 0 goto :remove-provisionedappxpackage

if %errorlevel% EQU 1 goto not-found

Cách 2: Dựa vào khóa registry của ứng dụng theo đường dẫn sau:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications


Bên dưới khóa Applications là tên những khóa của gói PackageName, chúng ta sẽ sử dụng reg query tìm kiếm những khóa này với cú pháp như sau:

set key=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications

reg query %key% | findstr "Microsoft"

if %errorlevel% EQU 0 goto remove-provisionedappxpackage

if %errorlevel% EQU 1 goto not-found

Như vậy chúng ta có thể tạo lại tập tin batch với nội dung đầy đủ như sau:

@echo off

set key=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications

reg query %key% | findstr "Microsoft"

if %errorlevel% EQU 0 goto remove-provisionedappxpackage

if %errorlevel% EQU 1 goto not-found



:remove-provisionedappxpackage

cls

echo.PackageName

echo.

for /f "tokens=3" %%a in ('Dism /Online /Get-ProvisionedAppxPackages ^| findstr PackageName ') do (

 echo.%%a

)

echo.

set /p PackageName=Copy and paste PackageName and press Enter :

if [%PackageName%]==[] goto remove-provisionedappxpackage

echo.

Dism /Online /Remove-ProvisionedAppxPackage /PackageName:%PackageName%

echo.

choice /c YN /n /m "Do you want to continue remove-provisionedappxpackage ? (Yes/No) "

if %errorlevel% EQU 1 goto remove-provisionedappxpackage

if %errorlevel% EQU 2 exit



:not-found

echo.Applications Not Found.

set /p="Press any key to exit . . . "<nul

pause >nul

exit

Trong trường hợp nếu bạn muốn gỡ bỏ tất cả gói cài đặt ứng dụng bạn có thể tạo batch file với nội dung sau:

@echo off

set key=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications

reg query %key% | findstr "Microsoft"

if %errorlevel% EQU 0 goto remove-provisionedappxpackage

if %errorlevel% EQU 1 goto not-found



:remove-provisionedappxpackage

for /f "tokens=3" %%a in ('Dism /Online /Get-ProvisionedAppxPackages ^| findstr PackageName ') do (

 Dism /Online /Remove-ProvisionedAppxPackage /PackageName:%%a

)

echo.

set /p="Press any key to exit . . . "<nul

pause >nul

exit



:not-found

echo.Applications Not Found.

set /p="Press any key to exit . . . "<nul

pause >nul

exit

Trên đây tôi đã vừa hướng dẫn bạn cách gỡ bỏ gói cài đặt của những ứng dụng mặc định thuộc nhóm Store bằng batch file. Hi vọng bài viết có ích với bạn.

Phổ biến trong tuần

Tin Tức