Estou usando o Windows 10 N Anniversary Update, aquele sem nenhum bloatware de mídia como o WMP. No entanto, eu gostaria que meu iPhone fosse acessível com o File Explorer para copiar fotos. Acontece que você precisa instalar o Media Feature Pack para Windows 10 N ( KB3133719 ) para fazê-lo funcionar.
O arquivo KB3133719-x64.msu.msu em si tem apenas cerca de 100 MB. No entanto, quando você instala, são necessários ~ 500 MB de espaço, 40 MB a mais do que se você instalasse o Windows 10 normal não-N (sim, eu tive que instalar várias máquinas virtuais para descobrir).
Isso não é absolutamente razoável, porque os drivers de dispositivo MTP incluídos no KB3133719-x64.msu.msu ocupam apenas cerca de 3 MB! A parte funcional é que a instalação do pacote BK3133719 é permanente e você não pode removê-lo do seu sistema N posteriormente com o DISM (tentei, o Remove-Package retorna um erro).
Consegui extrair o CAB do MSU e extrair o driver INF & DLL de interesse do CAB. No entanto, quando tento aplicar o driver ao meu iPhone no Gerenciador de dispositivos (você precisa usar Shift-Reiniciar> Solução de problemas> Avançado> Configurações de inicialização para instalar o driver não assinado porque a assinatura do driver é herdada do CAB extraído, de acordo com a Microsoft, desculpe - consulte o artigo), o assistente diz que o dispositivo não pode ser adicionado porque está faltando a classe Device. Na verdade, sim, a classe de dispositivo "Dispositivo portátil" está ausente no Windows 10 N.
Então, eu me pergunto se alguém poderia me ajudar a 1) adicionar a classe "Dispositivo portátil" manualmente ao meu sistema Windows 10 (eu posso obter todas as DLLs do CAB do KB3133719) ou 2) obter o pacote Windows-Portable-Device-Package realmente CAB dentro de KB3133719-x64.msu.msu e faça com que instale apenas o driver.
Eu já tentei editar o MUM do Media-Feature-Pack (encontrado no CAB, removi todas as linhas de string, exceto o Windows-Portable-Device) e criei um novo CAT assinado para ele (usado makecat.exe), re-empacotando e assinando novamente o CAB (sim, instalei meu certificado gerado personalizado nos Editores confiáveis e raiz confiável), graças a este guia incrível . No entanto, recebo o erro (arquivo não encontrado) ao instalar o pacote CAB assinado em uma nova máquina virtual de 10 N. Quando assino o CAB gerado a partir de arquivos intocados extraídos, tudo é instalado corretamente. Portanto, presumo que faço tudo certo no que diz respeito à assinatura, mas há alguma verificação dupla em algum lugar (provavelmente referência a outros pacotes no MUM do Windows-Portable-Device) que não consigo descobrir.
Por favor ajude!
Aqui está o que estou fazendo:
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.
# # # # # # # # # # # # # # # # # # # #
Não encontrei absolutamente nenhuma informação sobre o erro 0x80090352 e o Windows Update.
O PS iPhone fica perfeitamente acessível no File Explorer depois de aplicar a atualização na máquina virtual 10 N. Portanto, é uma questão de perder 500 MB para o bloatware da Microsoft que nunca vou usar.