เรากำลังสร้างการปรับใช้การทำงานอัตโนมัติผ่าน Ansible ที่มี .msi หลายตัวให้ติดตั้ง และเราพบข้อความแสดงข้อผิดพลาดต่อไปนี้ระหว่างการปรับใช้ :

Another program is being installed. Please wait until that installation is complete, and then try installing this software again.

เป้าหมายของเราคือทริกเกอร์การหมดเวลาลองใหม่ทุกครั้งที่เกิดเหตุการณ์นี้ขึ้น และจัดเตรียมข้อความบันทึกที่จะอธิบายสิ่งที่น่าจะก่อให้เกิดข้อผิดพลาดนี้มากที่สุด

เราไม่ต้องการรีบูตเซิร์ฟเวอร์หรือบังคับปิดการติดตั้งที่อยู่ระหว่างดำเนินการ

ฉันพบผู้มุ่งหวังที่จะสำรวจเพื่อระบุว่ากระบวนการใดเป็นสาเหตุของสิ่งนี้

TLDR; ฉันกำลังมองหาวิธีการทำซ้ำอย่างสม่ำเสมอเพื่อตรวจสอบสิ่งที่ทำให้เกิดข้อผิดพลาดนี้จริง ๆ

1) กระบวนการ msiexec.exe

คำตอบทั่วไปสำหรับคำถามนี้ใน Google คือการตรวจสอบตัวจัดการงานสำหรับกระบวนการ msiexec.exe และฆ่ามันก่อนที่จะเริ่มการติดตั้งใหม่ นี่ไม่ใช่ทางเลือกอื่นสำหรับกรณีนี้

2) ดูเหมือนว่าจะมีคีย์รีจิสทรีที่ระบุว่ามีการติดตั้งอยู่ระหว่างดำเนินการหรือไม่

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\InProgress

แต่ฉันไม่พบร่องรอยของคีย์นี้ในรีจิสทรีของเครื่อง windows หลายเครื่อง (เราลองรีเฟรชขณะติดตั้งและถอนการติดตั้ง .msi)

ไม่มีคีย์รีจิสทรี

3) ใน services.msc GUI มี WindowsInstaller Service ที่ไม่มีสถานะที่เหลือ:

บริการติดตั้ง Windows

บริการนี้เข้าสู่Runningสถานะเมื่อเราเรียกใช้การติดตั้ง MSI แต่หลังจากนั้นก็ไม่เคยออกจากสถานะนี้เลยแม้แต่ไม่กี่นาทีหลังจากที่ msi เสร็จสิ้น

4) กำลังดำเนินการอัปเดต Windows

ผู้นำทั่วไปอีกรายหนึ่งพบว่าในWindows Updateกำลังป้องกันไม่ให้ติดตั้ง .msi อื่น ๆ

มีวิธีที่สอดคล้องกันในการตรวจสอบสิ่งนี้โดยอัตโนมัติหรือไม่?

no answer