Câu hỏi Tạo tệp trả lời cho “WindowsUpdateDiagnostic.diagcab” trong WTP Eclipse


Tôi đang cố gắng tập lệnh cài đặt WindowsUpdateDiagnostic.diagcab  có nguồn gốc ở đây.

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

Rất tiếc, các nỗ lực tạo tệp trả lời dường như không thành công:

enter image description here

Không tìm thấy nhiều trên 0x80092003. Tôi hy vọng với một ví dụ answers.xml, tôi có thể giả mạo các câu trả lời và làm cho nó hoạt động.

Đây là một mẫu, nhưng tôi không có may mắn.

<Answers>

  <Interaction ID="IT_Theme">

  <Value>Nature</Value>

  </Interaction>

</Answers>

Có nguồn gốc: https://msdn.microsoft.com/en-us/library/dd776530.aspx#CommandLineQuản trị

Cảm ơn trước.


2
2018-01-31 00:14


gốc


0x80092003 = CRYPT_E_FILE_ERROR (Đã xảy ra lỗi khi đọc hoặc ghi vào tệp.) - magicandre1981


Các câu trả lời:


Bạn có thể sử dụng Get-TroubleshootingPack (https://msdn.microsoft.com/en-us/library/dd323716(v=vs.85).aspx) lệnh ghép ngắn trong PowerShell để tạo tệp trả lời:

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

(Lưu ý rằng nó sử dụng đường dẫn đến trình gỡ rối hiện có trong% systemroot% (thường là C: \ Windows), không phải tệp .diagcab. Tôi không thể tạo tệp trả lời bằng tệp .diagcab).

Điều này sẽ chỉ hỏi bạn một câu hỏi và bạn nhập "1 [Enter]" để trả lời "Áp dụng Khắc phục sự cố". Sau đó, bạn có thể tạo tập lệnh PowerShell (.ps1) chỉ với dòng này trong đó:

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

Và bạn có thể chạy tập lệnh PowerShell đó bằng lệnh như sau:

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

... nên tạo 3 hoặc nhiều tệp trong C: \ WUDResult (thay đổi đường dẫn theo ý muốn).


1
2018-06-16 19:00





Giải pháp được đề xuất về mặt lý thuyết là chính xác nhưng sẽ không hoạt động với WindowsUpdateDiagnostic.diagcab vì gói này bao gồm hai Gói WTP trong một tệp nội tuyến diagcab duy nhất.

  1. Do đó, hãy mở rộng tệp diagcab bằng expand.exe, 7Zip hoặc tương tự với c: \ wud \
  2. Sau đó chạy Powershell với các đặc quyền nâng cao (nhấp chuột phải / chạy dưới quyền quản trị)
  3. nhập "Gói khắc phục sự cố nhập-mô-đun"
  4. sau đó tiếp tục sử dụng giải pháp đã nêu trước đó, tức là chạy "Get-TroubleshootingPack C: \ wud \ BitsDiagnostic -AnswerFile c: \ wud \ answer_bits.xml"
  5. và "Get-TroubleshootingPack C: \ wud \ windowsupdatediagnostic -AnswerFile c: \ wud \ answer_wud.xml"

Bây giờ bạn có hai tệp trả lời và một thư mục tương ứng c: \ wud có thể được triển khai và gọi ra bằng cách sử dụng

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

Tôi không biết nếu có thể làm cho nó bằng cách sử dụng "multi-diagcab" với hai tập tin trả lời và msdt.exe ... Có lẽ không.


2
2018-06-28 08:30