Criando um arquivo de resposta para “WindowsUpdateDiagnostic.diagcab” no Eclipse WTP

2

Estou tentando criar um script para a instalação do WindowsUpdateDiagnostic.diagcab originado aqui .

msdt.exe /cab "%~dp0WindowsUpdateDiagnostic.diagcab" -af "%~dp0stillneeded.xml"

Infelizmente, as tentativas de criar um arquivo de resposta parecem ter falhado:

Nãoencontrandomuitoem0x80092003.Euestouesperandocomumexemploanswer.xml,eupoderiafalsificarasrespostasefazê-lofuncionar.

Aquiestáummodelo,masaindanãotivesorte.

<Answers><InteractionID="IT_Theme">

  <Value>Nature</Value>

  </Interaction>

</Answers>

Fonte: link

Obrigado antecipadamente.

    
por semtex41 31.01.2015 / 01:14

2 respostas

1

Você pode usar o Get-TroubleshootingPack ( link ) cmdlet no PowerShell para criar um arquivo de resposta:

Get-TroubleshootingPack C:\Windows\Diagnostics\system\WindowsUpdate -AnswerFile c:\WUDAnswers.xml

(Observe que ele usa o caminho para a solução de problemas existente em% systemroot% (geralmente C: \ Windows), não o arquivo .diagcab. Não consegui criar um arquivo de resposta usando o arquivo .diagcab).

Isso deve fazer apenas uma pergunta e você digita "1 [Enter]" para responder "Aplicar correção". Em seguida, você pode criar um script do PowerShell (.ps1) apenas com essa linha:

Get-TroubleshootingPack -Path C:\Windows\diagnostics\system\WindowsUpdate | Invoke-TroubleshootingPack -AnswerFile c:\WUDAnswers.xml -Unattended -Result c:\WUDResult

E você pode executar o script do PowerShell com um comando como este:

powershell -ExecutionPolicy Bypass -file c:\RunWindowsUpdateDiagnostics.ps1

... o qual deve criar 3 ou mais arquivos em C: \ WUDResult (altere os caminhos como quiser).

    
por 16.06.2015 / 21:00
2

A solução sugerida está teoricamente correta, mas não funcionará com o WindowsUpdateDiagnostic.diagcab, porque esta inclui dois pacotes WTP em um único arquivo de gabinete diagcab.

  1. Portanto, por favor, expanda o arquivo diagcab usando o expand.exe, 7Zip ou similar para c: \ wud \
  2. Em seguida, execute o Powershell com privilégios elevados (clique com o botão direito do mouse / execute como administrador)
  3. digite "Import-Module TroubleshootingPack"
  4. continue usando a solução indicada anteriormente, ou seja, execute "Get-TroubleshootingPack C: \ wud \ BitsDiagnostic -AnswerFile c: \ wud \ answer_bits.xml"
  5. e "Get-TroubleshootingPack C: \ wud \ windowsupdatediagnostic -AnswerArquivo c: \ wud \ answer_wud.xml"

Agora você tem dois arquivos de resposta e um diretório correspondente c: \ wud que pode ser implantado e chamado usando

Get-TroubleshootingPack -Path C:\wud\windowsupdatediagnostic | Invoke-TroubleshootingPack -AnswerFile c:\wud\answer_wud.xml -Unattended -Result c:\wud\log_wud

e

Get-TroubleshootingPack -Path C:\wud\BitsDiagnostic | Invoke-TroubleshootingPack -AnswerFile c:\wud\answer_bits.xml -Unattended -Result c:\wud\log_bits

Eu não sei se alguém pode fazer isso usando o "multi-diagcab" com dois arquivos de resposta e msdt.exe ... Provavelmente não.

    
por 28.06.2016 / 10:30