ฉันกำลังตั้งค่าระบบเพื่อให้จาวาอยู่ในสำนักงานของเราอยู่เสมอ ทุกคนมี Java เวอร์ชันต่าง ๆ ทั้งหมดส่วนใหญ่มีอายุและไม่ปลอดภัยและบางรุ่นมีอายุย้อนกลับไปถึง 1.4 ฉันมีเซิร์ฟเวอร์ System Center Essentials ซึ่งสามารถผลักดันและเรียกใช้ไฟล์. msi แบบเงียบ ๆ และฉันได้ทดสอบแล้วว่าสามารถติดตั้ง Java ล่าสุดได้ แต่โปรแกรมติดตั้งรุ่นเก่า (เช่น 1.4) ไม่ได้ถูกลบออกดังนั้นฉันต้องถอนการติดตั้ง ทุกคนใช้ Windows XP
เหตุบังเอิญที่ประณีตคือ Sun เพิ่งซื้อโดย Oracle และ Oracle ได้เปลี่ยนอินสแตนซ์ทั้งหมดของ "Sun" เป็น "Oracle" ใน Java ดังนั้นฉันไม่ต้องกังวลเกี่ยวกับการถอนการติดตั้ง Java ล่าสุดเพราะสะดวกเพียงแค่ทำการค้นหาและถอนการติดตั้งโปรแกรมทั้งหมดของSun Java
ฉันพบชุดสคริปต์ต่อไปนี้ในโพสต์ฟอรัมซึ่งดูมีแนวโน้ม:
@echo off & cls
Rem List all Installation subkeys from uninstall key.
echo Searching Registry for Java Installs
for /f %%I in ('reg query HKLM\SOFTWARE\microsoft\windows\currentversion\uninstall') do echo %%I | find "{" > nul && call :All-Installations %%I
echo Search Complete..
goto :EOF
:All-Installations
Rem Filter out all but the Sun Installations
for /f "tokens=2*" %%T in ('reg query %1 /v Publisher 2^> nul') do echo %%U | find "Sun" > nul && call :Sun-Installations %1
goto :EOF
:Sun-Installations
Rem Filter out all but the Sun-Java Installations. Note the tilda + n, which drops all the subkeys from the path
for /f "tokens=2*" %%T in ('reg query %1 /v DisplayName 2^> nul') do echo . Uninstalling - %%U: | find "Java" && call :Sun-Java-Installs %~n1
goto :EOF
:Sun-Java-Installs
Rem Run Uninstaller for the installation
MsiExec.exe /x%1 /qb
echo . Uninstall Complete, Resuming Search..
goto :EOF
อย่างไรก็ตามเมื่อฉันเรียกใช้สคริปต์ฉันได้รับผลลัพธ์ต่อไปนี้:
Searching Registry for Java Installs
'DEV_24x6' is not recognized as an internal or external command,
operable program or batch file.
'SUBSYS_542214F1' is not recognized as an internal or external command,
operable program or batch file.
และจากนั้นก็ปรากฏขึ้นเพื่อแขวนและฉัน ctrl-c เพื่อหยุด
การอ่านสคริปต์ฉันไม่เข้าใจทุกสิ่ง แต่ฉันไม่รู้ว่าทำไมจึงพยายามเรียกใช้รีจิสตรีคีย์เป็นโปรแกรม มีอะไรผิดปกติกับชุดสคริปต์? ฉันจะแก้ไขได้อย่างไรเพื่อที่ฉันจะสามารถเปลี่ยนเป็น MSI และนำไปใช้กับทุกคนในการทำความสะอาดสำนักงานนี้
หรืออีกวิธีหนึ่งคุณสามารถแนะนำวิธีแก้ปัญหาที่ดีกว่าหรือไฟล์ MSI ที่มีอยู่ให้ทำสิ่งที่ฉันต้องการได้หรือไม่? ฉันแค่ต้องการให้แน่ใจว่าจะกำจัดจาวารุ่นเก่าออกจากคอมพิวเตอร์ของทุกคนเพราะฉันเคยได้ยินว่ามีช่องโหว่ที่ทำให้เว็บเพจโหลดโดยใช้จาวารุ่นเก่าและฉันต้องการหลีกเลี่ยงสิ่งเหล่านี้