Создание файла ответов для «WindowsUpdateDiagnostic.diagcab» в Eclipse WTP

7591
semtex41

Я пытаюсь написать скрипт установки WindowsUpdateDiagnostic.diagcab источника здесь .

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

К сожалению, попытки создания файла ответов не увенчались успехом:

enter image description here

Не нахожу много на 0x80092003. Я надеюсь, что на примере answers.xml я смогу подделать ответы и заставить их работать.

Вот шаблон, но мне не повезло.

<Answers>  <Interaction ID="IT_Theme">  <Value>Nature</Value>  </Interaction>  </Answers> 

Источник: https://msdn.microsoft.com/en-us/library/dd776530.aspx#CommandLineAdministration

Заранее спасибо.

2
0x80092003 = CRYPT_E_FILE_ERROR (Произошла ошибка при чтении или записи в файл.) magicandre1981 9 лет назад 0

2 ответа на вопрос

2
Gizmo0001

Предлагаемое решение теоретически правильно, но не будет работать с WindowsUpdateDiagnostic.diagcab, потому что оно включает в себя два пакета WTP в одном файле кабинета diagcab.

  1. Поэтому, пожалуйста, раскройте файл diagcab с помощью файла расширения.exe, 7Zip или аналогичного файла в папку c: \ wud \
  2. Затем запустите Powershell с повышенными привилегиями (щелкните правой кнопкой мыши / запустите от имени администратора)
  3. тип "Импорт-модуль для устранения неполадок пакета"
  4. затем продолжите использовать ранее заявленное решение, то есть выполните команду «Get-Устранение неполадок пакета C: \ wud \ BitsDiagnostic -AnswerFile c: \ wud \ answer_bits.xml»
  5. и «Пакет Get-Устранение неполадок C: \ wud \ windowsupdatediagnostic -AnswerFile c: \ wud \ answer_wud.xml»

Теперь у вас есть два файла ответов и соответствующий каталог c: \ wud, который можно развернуть и вызвать с помощью

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

а также

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

Я не знаю, можно ли сделать это, используя «multi-diagcab» с двумя файлами ответов и msdt.exe ... Предположительно, нет.

1
Tonedef_Spacetornado

You can use the Get-TroubleshootingPack (https://msdn.microsoft.com/en-us/library/dd323716(v=vs.85).aspx) cmdlet in PowerShell to create an answer file:

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

(Note that it uses the path to the existing troubleshooter in %systemroot% (usually C:\Windows), not the .diagcab file. I have not been able to create an answer file using the .diagcab file).

This should just ask you one question, and you type "1 [Enter]" to answer "Apply Fix." Then you can create a PowerShell script (.ps1) with just this line in it:

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

And you can run that PowerShell script with a command like this:

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

...which should create 3 or more files in C:\WUDResult (change the paths as you want).