Я использую Windows 10 N Anniversary Update, которая не содержит медиа-вирусов, таких как WMP. Однако я хотел бы, чтобы мой iPhone был доступен с помощью Проводника, чтобы копировать фотографии. Оказывается, вам нужно установить Media Feature Pack для Windows 10 N (KB3133719), чтобы он заработал .
Сам файл KB3133719-x64.msu.msu составляет всего около 100 МБ. Однако при его установке требуется ~ 500 МБ пространства, что на 40 МБ больше, чем при установке обычной Windows 10, отличной от N (да, мне пришлось установить несколько виртуальных машин, чтобы понять это).
Это абсолютно не разумно, поскольку драйверы устройств MTP, включенные в KB3133719-x64.msu.msu, занимают всего около 3 МБ! Рабочая часть состоит в том, что установка пакета BK3133719 является постоянной, и вы не можете впоследствии удалить его из своей системы N с помощью DISM (пробовал, Remove-Package возвращает ошибку).
Мне удалось извлечь CAB из MSU и извлечь драйвер INF и DLL из CAB. Однако, когда я пытаюсь применить драйвер к своему iPhone в диспетчере устройств (необходимо использовать shift-Restart> Устранение неполадок> Дополнительно> Параметры запуска, чтобы установить неподписанный драйвер, поскольку подпись драйвера наследуется из извлеченного CAB, по словам Microsoft, извините, не могу - найти статью) мастер говорит, что устройство не может быть добавлено, потому что класс Device отсутствует. Собственно, да, класс устройств "Переносное устройство" отсутствует в Windows 10 N.
Поэтому мне интересно, может ли кто-нибудь помочь мне: 1) вручную добавить класс "Переносное устройство" в мою систему Windows 10 (я могу получить все DLL-библиотеки из CAB-файла KB3133719) или 2) фактически получить пакет Windows-Portable-Device-Package из CAB внутри KB3133719-x64.msu.msu и заставить его устанавливать только драйвер.
Я уже пытался отредактировать Media-Feature-Pack MUM (он находится внутри CAB, я удалил все строковые строки, кроме Windows-Portable-Device) и сделал для него новый подписанный CAT (использовал makecat.exe), затем переупаковал и переподписал CAB (да, я установил свой собственный сгенерированный сертификат в Trusted Publishers & Trusted root), благодаря этому замечательному руководству. Однако я получаю сообщение об ошибке (файл не найден) при установке подписанного пакета CAB на новую виртуальную машину с 10 N. Когда я подписываю CAB, сгенерированный из извлеченных нетронутых файлов, все устанавливается нормально. Поэтому я предполагаю, что все делаю правильно, когда дело доходит до подписания, но где-то есть двойная проверка (возможно, ссылка на другие пакеты в Windows-Portable-Device MUM), которую я не могу понять.
Пожалуйста помоги!
Вот что я делаю:
Modifying Windows Update Package
via (link removed - not enough reputation points)
via (link removed - not enough reputation points)
1. Download Visual Studio Community 2015: (link removed - not enough reputation points)
Configure Visual Studio Community 2015 installation: check "Universal Windows App Development Tools > Tools (1.4.1) and Windows 10 SDK"
2. Unarchive (using WinRAR or expand command) KB3133719-x64.msu.msu > microsoft-windows-mediafeaturepack-oob-package-original.cab > microsoft-windows-mediafeaturepack-oob-package-original
3. Edit adn save using Notepad .\microsoft-windows-mediafeaturepack-oob-package-original\Microsoft-Windows-MediaFeaturePack-OOB-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum
to delete all update entries except:
- Microsoft-Media-Foundation-Package
- Microsoft-Media-Foundation-WOW64-Package
- Microsoft-Windows-Portable-Devices-Package
2. Run Command Prompt as Administator
cd "C:\Program Files (x86)\Windows Kits\8.1\bin\x64"
makecert -r -sv C:\Certificate.pvk -n CN="Generic Certificate" -eku 1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.6 C:\Certificate.cer
(Password - None)
Note (according to (link removed - not enough reputation points))
To find EKU, double-click any CAT from original CAB and View Signature > View Certificate > Details > Copy to File > Save as CER
Double-click CER > Details > Enchanced Key Usage contains numbers:
Code Signing (1.3.6.1.5.5.7.3.3)
Windows System Component Verification (1.3.6.1.4.1.311.10.3.6)
This determines a certificate is valid for Windows Update installations.
Otherwise DISM returns error:
0x800B0110 -2146762480 CERT_E_WRONG_USAGE The certificate is not valid for the requested usage
((link removed - not enough reputation points))
cert2spc C:\Certificate.cer C:\Certificate.spc
pvk2pfx -pvk C:\Certificate.pvk -spc C:\Certificate.spc -pfx C:\Certificate.pfx
3. Install Certificate.cer to Local Computer > Trusted Publishers and Trusted Root Certification Authorities Stores
4. Create CDF file using Notepad
# # # # # # # # # # # # # # # # # # # #
[CatalogHeader]
Name=Microsoft-Windows-MediaFeaturePack-OOB-Package~31bf3856ad364e35~amd64~~10.0.14393.0.cat
ResultDir=.\
PublicVersion=0x00000001
EncodingType=
[CatalogFiles]
<HASH>Microsoft-Windows-MediaFeaturePack-OOB-Package~31bf3856ad364e35~amd64~~10.0.14393.0=.\Microsoft-Windows-MediaFeaturePack-OOB-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum
# # # # # # # # # # # # # # # # # # # #
Copy CDF & MUM to "C:\Program Files (x86)\Windows Kits\8.1\bin\x64"
5. Continue to Command Prompt as Administator:
makecat Microsoft-Windows-MediaFeaturePack-OOB-Package~31bf3856ad364e35~amd64~~10.0.14393.0.cdf
signtool sign /f C:\Certificate.pfx /t http://timestamp.verisign.com/scripts/timstamp.dll /v "C:\Program Files (x86)\Windows Kits\8.1\bin\x64\Microsoft-Windows-MediaFeaturePack-OOB-Package~31bf3856ad364e35~amd64~~10.0.14393.0.cat"
Copy CAT to C:\Users\User\Downloads\KB3133719-x64.msu\microsoft-windows-mediafeaturepack-oob-package
6. Run Windows PowerShell & input script, press Enter
# # # # # # # # # # # # # # # # # # # #
function compress-directory([string]$dir, [string]$output)
{
$ddf = ".OPTION EXPLICIT
.Set CabinetNameTemplate=$output
.Set DiskDirectory1=.
.Set CompressionType=MSZIP
.Set Cabinet=on
.Set Compress=on
.Set CabinetFileCountThreshold=0
.Set FolderFileCountThreshold=0
.Set FolderSizeThreshold=0
.Set MaxCabinetSize=0
.Set MaxDiskFileCount=0
.Set MaxDiskSize=0
"
$dirfullname = (get-item $dir).fullname
$ddfpath = ($env:TEMP+"\temp.ddf")
$ddf += (ls -recurse $dir | ? {!$_.psiscontainer}|select -expand fullname|%{'"'+$_+'" "'+$_.SubString($dirfullname.length+1)+'"'}) -join "`r`n"
$ddf
$ddf | Out-File -encoding UTF8 $ddfpath
makecab /F $ddfpath
rm $ddfpath
rm setup.inf
rm setup.rpt
}
# # # # # # # # # # # # # # # # # # # #
7. Input PowerShell commands:
cd C:\Users\User\Downloads\KB3133719-x64.msu
compress-directory .\microsoft-windows-mediafeaturepack-oob-package .\microsoft-windows-mediafeaturepack-oob-package.cab
8. Continue to Command Prompt as Administator:
signtool sign /f C:\Certificate.pfx /t http://timestamp.verisign.com/scripts/timstamp.dll /v "C:\Users\User\Downloads\KB3133719-x64.msu\microsoft-windows-mediafeaturepack-oob-package.cab"
# # # # # # # # # # # # # # # # # # # #
Here's error I get when install signed CAB using DISM
Deployment Image Servicing and Management tool
Version: 10.0.14393.0
Image Version: 10.0.14393.0
Processing 1 of 1 - Adding package Microsoft-Windows-MediaFeaturePack-OOB-Package_Wrapper~31bf3856ad364e35~amd64~~10.0.14393.0
[==========================100.0%==========================]
An error occurred - Microsoft-Windows-MediaFeaturePack-OOB-Package_Wrapper Error: 0x80090352
Error: 0x80090352
DISM failed. No operation was performed.
For more information, review the log file.
# # # # # # # # # # # # # # # # # # # #
Я не нашел абсолютно никакой информации об ошибке 0x80090352 & Windows Update.
PS iPhone прекрасно доступен из File Explorer после того, как я установил обновление в 10 N виртуальной машине. Таким образом, это проблема избежания потери 500 МБ для взломанного ПО Microsoft, которое я никогда не собираюсь использовать.