Как бы не было много сторонников старых версий ОС, все же пришла пора переходить на Windows 10. В связи с этим предлагаю разобраться с предустановлеными Metro-приложениями. Согласитесь, мало кто будет использовать абсолютно все приложения, которые навязывает нам корпорация. Ведь большинство из них просто занимают место, а кого-то вообще раздражают. В этой статье я поделюсь с вами способом, которым можно «почистить» систему от именно таких — ненужных — приложений на Windows 10.
Удаление
Итак, перейдем к удалению ненужных приложений. Предлагаю Вам powershell скрипт, в результате выполнения которого на экран выводятся все установленные Metro-приложения, а далее дело за пользователем — удалить всё или же подойти к вопросу избирательно, удалив только некоторые из них.
Скрипт имеет следующий вид:
Function PSCustomErrorRecord
{
Param
(
[Parameter(Mandatory=$true,Position=1)][String]$ExceptionString,
[Parameter(Mandatory=$true,Position=2)][String]$ErrorID,
[Parameter(Mandatory=$true,Position=3)][System.Management.Automation.ErrorCategory]$ErrorCategory,
[Parameter(Mandatory=$true,Position=4)][PSObject]$TargetObject
)
Process
{
$exception = New-Object System.Management.Automation.RuntimeException($ExceptionString)
$customError = New-Object System.Management.Automation.ErrorRecord($exception,$ErrorID,$ErrorCategory,$TargetObject)
return $customError
}
}
Function RemoveAppxPackage
{
$index=1
$apps=Get-AppxPackage
Write-Host "ID`t App name"
foreach ($app in $apps)
{
Write-Host " $index`t $($app.name)"
$index++
}
Do
{
$IDs=Read-Host -Prompt "Which Apps do you want to remove? `nInput their IDs by space (e.g. 5 12 17). `nIf you want to remove every possible apps, enter 'all'"
}
While($IDs -eq "")
if ($IDs -eq "all") {Get-AppXPackage -All | Remove-AppxPackage -ErrorAction SilentlyContinue –confirm
$AppName=($ID -ge 1 -and $ID -le $apps.name)
if (-not(Get-AppxPackage -Name $AppName))
{
Write-host "Apps has been removed successfully"
}
else
{
Write-Warning "Remove '$AppName' failed! This app is part of Windows and cannot be uninstalled on a per-user basis."
}
}
else {
try
{
[int[]]$IDs=$IDs -split " "
}
catch
{
$errorMsg = $Messages.IncorrectInput
$errorMsg = $errorMsg -replace "Placeholder01",$IDs
$customError = PSCustomErrorRecord `
-ExceptionString $errorMsg `
-ErrorCategory NotSpecified -ErrorID 1 -TargetObject $pscmdlet
$pscmdlet.WriteError($customError)
return
}
foreach ($ID in $IDs)
{
#check id is in the range
if ($ID -ge 1 -and $ID -le $apps.count)
{
$ID--
#Remove each app
$AppName=$apps[$ID].name
Remove-AppxPackage -Package $apps[$ID] -ErrorAction SilentlyContinue –confirm
if (-not(Get-AppxPackage -Name $AppName))
{
Write-host "$AppName has been removed successfully"
}
else
{
Write-Warning "Remove '$AppName' failed! This app is part of Windows and cannot be uninstalled on a per-user basis."
}
}
else
{
$errorMsg = $Messages.WrongID
$errorMsg = $errorMsg -replace "Placeholder01",$ID
$customError = PSCustomErrorRecord `
-ExceptionString $errorMsg `
-ErrorCategory NotSpecified -ErrorID 1 -TargetObject $pscmdlet
$pscmdlet.WriteError($customError)
}
}
}
}
$result = 0;
while ($result -eq 0) {
RemoveAppxPackage
$title = "Delete Apps"
$message = "Do you want to continue?"
$yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", `
"Yes, I want to remove another application."
$no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", `
"No, all unnecessary applications are removed."
$options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)
$result = $host.ui.PromptForChoice($title, $message, $options, 0)
}
Сохраните в формате .ps1 или скачайте скрипт, для упрощенного запуска от имени администратора рекомендую создать батник по скрипту ниже (сохраните в формате .bat и UAC сам запросит подтверждение прав):
Скрипт .bat
Где app.ps1 – имя сохраненного power shell скрипта.
@echo off
cls
echo Apps
echo.
echo press any key to continue...
pause > NUL
echo
echo.
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%~dp0.\app.ps1""' -Verb RunAs}"
echo You deleted apps...
echo.
pause
Где app.ps1 – имя сохраненного power shell скрипта.
Примечание: при таком запуске скрипта возможно появление предупреждающего сообщения: «Execution Policy Change».
Выбирайте «Yes» — внести изменения.
В результате Вы увидите следующее:
На экране представлен список установленых приложений. И предложено перечислить, через пробел, именно те, которые Вы хотели б удалить.
Допустим, вы решили удалить «Microsoft.BingNews». Для этого введите соответствующий номер приложения, и при успешном результате вы должны получить следующее:
Обратите внимание, что системные приложения вы удалить не сможете. Об этом вас уведомит следующее сообщение:
Это справедливо для таких приложений, как:
- Microsoft.Windows.Cortana
- MicrosoftEdge
- ContactSupport
- PrintDialog и др.
Более точный список «неубиваемых» приложений на скрине ниже:
Так же есть возможность удаления сразу всех приложения (кроме вышеупомянутых), для этого вместо номера конкретного приложения введите «all», а далее лишь подтверждайте удаление всех сразу (Yes to All) или каждого по отдельности (Yes).
Восстановление
Если вы случайно удалили или же впоследствии решили пользоваться тем или иным приложением, то можно его восстановить через Windows Store или же воспользоваться следующим предложеным вариантом восстановления.
К примеру, вы хотите восстановить приложение «Store», которое, кстати, удаляется вышепредложенным скриптом, для этого необходимо от администратора запустить следующую строку в Powershell:
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Store*\AppxManifest.xml" -DisableDevelopmentMode
Аналогичным способом можно восстановить другие приложения указав соответствующее имя между «*». Если же необходимо возобновить работу некоторого N-го количества, то лучше воспользоваться скриптом (удаляйте/добавляйте нужные именно вам строки):
Скрипт для восстановления приложений
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Weather*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Finance*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Maps*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*News*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Sports*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Travel*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Camera*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Reader*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Xbox*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Alarms*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Calculator*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*OneNote*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*People*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*SoundRecoder*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*3dbuilder*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Store*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Photos*\AppxManifest.xml" -DisableDevelopmentMode
Add-AppxPackage -register "C:\Program Files\WindowsApps\*Phone*\AppxManifest.xml" -DisableDevelopmentMode
Как и в предыдущем случае, сохраните скрипт, отредактируйте по-необходимости и запустите.
Или же, как вариант, если вы захотите вернуть весь комплект предустановленных утилит, введите следующую строку от имени администратора в Powershell. Так что не бойтесь экспериментировать, восстановить исходное состояние легко:
Get-AppxPackage -AllUsers| Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml”}
При восстановлении возможны предупреждающие сообщения, они относятся к приложениям, которые в настоящее время запущены.
Восстановление просмотрщика фотографий в Windows 10
Большинство пользователей, установив Windows 10, недовольны отсутствием приложения просмотра фотографий — Windows Photo Viewer.
Для восстановления Photo Viewer необходимо добавить некоторые ключи в реестр. Чтобы это сделать, сохраните нижеприведенный скрипт с расширением .reg и запустите. После этого выберите данное приложение для открытия изображений по-умолчанию: Settings — Default apps — Photo — Windows Photo Viewer:
Скрипт для добавления ключей в реестр:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations]
".jpg"="PhotoViewer.FileAssoc.Jpeg"
".wdp"="PhotoViewer.FileAssoc.Wdp"
".jfif"="PhotoViewer.FileAssoc.JFIF"
".dib"="PhotoViewer.FileAssoc.Bitmap"
".png"="PhotoViewer.FileAssoc.Png"
".jxr"="PhotoViewer.FileAssoc.Wdp"
".bmp"="PhotoViewer.FileAssoc.Bitmap"
".jpe"="PhotoViewer.FileAssoc.Jpeg"
".jpeg"="PhotoViewer.FileAssoc.Jpeg"
".gif"="PhotoViewer.FileAssoc.Gif"
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Bitmap]
"ImageOptionFlags"=dword:00000001
"FriendlyTypeName"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d, 00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00, 77,00,73,00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77, 00,65,00,72,00,5c,00,50,00,68,00,6f,00,74,00,6f,00,56,00,69,00,65,00,77,00, 65,00,72,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,35,00,36,00,00, 00
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Bitmap\DefaultIcon]
@="%SystemRoot%\\System32\\imageres.dll,-70"
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Bitmap\shell]
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Bitmap\shell\open]
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Bitmap\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25, 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00, 6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25, 00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00, 25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f, 00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00, 6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c, 00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00, 5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25, 00,31,00,00,00
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Bitmap\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.JFIF]
"EditFlags"=dword:00010000
"ImageOptionFlags"=dword:00000001
"FriendlyTypeName"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d, 00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00, 77,00,73,00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77, 00,65,00,72,00,5c,00,50,00,68,00,6f,00,74,00,6f,00,56,00,69,00,65,00,77,00, 65,00,72,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,35,00,35,00,00, 00
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.JFIF\DefaultIcon]
@="%SystemRoot%\\System32\\imageres.dll,-72"
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.JFIF\shell]
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.JFIF\shell\open]
"MuiVerb"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00, 69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73, 00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00, 72,00,5c,00,70,00,68,00,6f,00,74,00,6f,00,76,00,69,00,65,00,77,00,65,00,72, 00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,34,00,33,00,00,00
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.JFIF\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25, 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00, 6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25, 00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00, 25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f, 00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00, 6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c, 00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00, 5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25, 00,31,00,00,00
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.JFIF\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Jpeg]
"EditFlags"=dword:00010000
"ImageOptionFlags"=dword:00000001
"FriendlyTypeName"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d, 00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00, 77,00,73,00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77, 00,65,00,72,00,5c,00,50,00,68,00,6f,00,74,00,6f,00,56,00,69,00,65,00,77,00, 65,00,72,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,35,00,35,00,00, 00
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Jpeg\DefaultIcon]
@="%SystemRoot%\\System32\\imageres.dll,-72"
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Jpeg\shell]
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Jpeg\shell\open]
"MuiVerb"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00, 69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73, 00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00, 72,00,5c,00,70,00,68,00,6f,00,74,00,6f,00,76,00,69,00,65,00,77,00,65,00,72, 00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,34,00,33,00,00,00
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Jpeg\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25, 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00, 6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25, 00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00, 25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f, 00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00, 6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c, 00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00, 5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25, 00,31,00,00,00
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Jpeg\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Gif]
"ImageOptionFlags"=dword:00000001
"FriendlyTypeName"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d, 00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00, 77,00,73,00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77, 00,65,00,72,00,5c,00,50,00,68,00,6f,00,74,00,6f,00,56,00,69,00,65,00,77,00, 65,00,72,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,35,00,37,00,00, 00
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Gif\DefaultIcon]
@="%SystemRoot%\\System32\\imageres.dll,-83"
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Gif\shell]
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Gif\shell\open]
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Gif\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25, 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00, 6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25, 00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00, 25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f, 00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00, 6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c, 00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00, 5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25, 00,31,00,00,00
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Gif\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Png]
"ImageOptionFlags"=dword:00000001
"FriendlyTypeName"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d, 00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00, 77,00,73,00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77, 00,65,00,72,00,5c,00,50,00,68,00,6f,00,74,00,6f,00,56,00,69,00,65,00,77,00, 65,00,72,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,35,00,37,00,00, 00
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Png\DefaultIcon]
@="%SystemRoot%\\System32\\imageres.dll,-71"
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Png\shell]
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Png\shell\open]
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Png\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25, 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00, 6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25, 00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00, 25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f, 00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00, 6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c, 00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00, 5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25, 00,31,00,00,00
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Png\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Wdp]
"EditFlags"=dword:00010000
"ImageOptionFlags"=dword:00000001
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Wdp\DefaultIcon]
@="%SystemRoot%\\System32\\wmphoto.dll,-400"
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Wdp\shell]
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Wdp\shell\open]
"MuiVerb"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00, 69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73, 00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00, 72,00,5c,00,70,00,68,00,6f,00,74,00,6f,00,76,00,69,00,65,00,77,00,65,00,72, 00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,34,00,33,00,00,00
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Wdp\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25, 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00, 6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25, 00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00, 25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f, 00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00, 6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c, 00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00, 5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25, 00,31,00,00,00
[HKEY_CLASSES_ROOT\PhotoViewer.FileAssoc.Wdp\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewer]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities]
"ApplicationDescription"="@%ProgramFiles%\\Windows Photo Viewer\\photoviewer.dll,-3069"
"ApplicationName"="@%ProgramFiles%\\Windows Photo Viewer\\photoviewer.dll,-3009"
Сохраняем результаты
Чтобы настройка не была напрасна и результат не исчез, рекомендую запретить автоматическую установку приложений при апдейтах в реестре.
Чтобы это сделать, необходимо залогиниться под административной учеткой, в реестре перейти: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsStore\WindowsUpdate.
И измените значение по Вашему усмотрению (по-умолчанию 4):
2 – выключить автоматическое обновление пользовательских приложений,
4 – включить автоматическое обновление пользовательских приложений.
Или же вы можете применить следующий скрипт для изменения в реестре (также сохраните с расширением .reg и запустите):
Скрипт для запрета автоматической установки приложений при апдейтах в реестре:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsStore\WindowsUpdate]
"AutoDownload"=dword:00000002
P.S.: Надеюсь, что предложенный вариант удаления/восстановления приложений несколько «облегчит» настойку Windows 10 на вашем ПК. Также после всех внесенных изменений рекомендую перезагрузиться.
Комментарии (16)
shumaher86
28.01.2016 13:41Так что не бойтесь экспериментировать, восстановить исходное состояние легко
это потому, что с диска они не удаляются, а лишь скрываются из меню?
lumini
28.01.2016 13:44Неплохо было бы (как на андроид телефонах) иметь возможность прятать приложения из стартового меню. Сейчас в общий список программ вынесено очень много лишнего («Get Skype», «Get Office», какой-то «Messenger», номеронабиралка — кому она может понадобиться на десктопе, непонятно), причем даже если их удалить или унести в подпапки, то в дальнейшем они магическим образом восстанавливаются. Или хотя бы унести все стандартное-виндовое в папку Accessories, как раньше было.
Xao
28.01.2016 15:15Некоторые приложения можно безболезненно удалять, те же «Get Skype» и «Get Office».
Ogra
28.01.2016 13:49+4Раньше писали руководства «как настроить линукс под себя», теперь пишут про винду. Однако.
melt
29.01.2016 09:12-1Чтобы настройка не была напрасна и результат не исчез, рекомендую запретить автоматическую установку приложений при апдейтах в реестре.
Хотелось бы уточнить. Я вот пользуюсь, например, приложением Xbox — оно позволяет по Win+G записывать экран со звуком, соответственно оставляю его. Значит оно не будет автоматически обновляться? Печаль же. Если удалять приложения не через Пуск и правую кнопку, а «легально» через Параметры -> Система -> Приложения и возможности, то они не будут потом автоматически восстанавливаться, как это происходит при удалении через Пуск. Правда удалить можно меньшее количество приложений чем этим скриптом
Скриншот правильного удаления
lockywolf
Никогда не понимал людей, удаляющих стоковый софт. Мало ли какую придётся поставить программу, которая в каком-нибудь виде их использует. Может, не сами исполняемые файлы, но так какие-нибудь недокументированные функции из разделяемых библиотек.
justabaka
Мне кажется, тут модель разделяемых библиотек не применима в принципе. Это не стоковый софт, это пальцетыкательный виджетный bloatware для планшетиков, который постоянно бегает на серверы Microsoft и что-то там делает. Как по мне, так было бы крайне глупо писать софт, который будет от такого зависеть (если это вообще реально). А если же какое-то стороннее приложение будет от чего-то такого жестко зависеть, то, думаю, у продвинутого пользователя, который освоил удаление подобного софта, оно отправится вслед за этой самой зависимостью.
lockywolf
Ну, типа, им вполне может пользоваться какая-нибудь официальная утилита от МС, например, для калибровки тачскрина. Запустить утилиту, попросить пользователя потыкать по, скажем, калькулятору, и на основе собранных данных что-нибудь посчитать. Что там ещё? ZuneMusic? Какие-нибудь мультимедийные функции вполне могут оттуда дёргаться.
А «пальцетык» и «блоатварь» — это всё эмоции. Удалением стокового софта можно попортить себе жизнь, но знаком протеста это не является и на сам МС никакого влияния не оказывает.
Valdei
Но ведь обычно всякие официальные утилиты все необходимые пакеты тащат с собой?
И даже если не притащили: на днях после установки чистой вин10 ставил из стима всякие игрушки — несколько раз в установку влезала система с вопросом «данное приложение требует %%% для работы, установить?» После чего требуемое устанавливалось как компонент Windows.
Не в курсе, это перехват запросов к установочным пакетам, поставляемым с игрой, или действительно какой-то анализ зависимостей.
lockywolf
Ну, как бы, мне не очень как раз нравится идея таскать все необходимые пакеты с собой. Это раздувает дистрибутив и перегружает каналы.
Идея же ставить из репозитория хороша, но вот загвоздка — не уверен, что оторванные из стоковой установки программы входят в конкретные пакеты. То есть удалением нарушается целостность «скрытых» пакетов, и система может просто не понять, что ей чего-то не хватает.