Secara terprogram, apa metode yang bisa mendapatkan nama versi Microsoft Office yang diinstal ? Saya telah mencoba setiap perintah Powershell, VBScript, dan kueri WMI yang bisa saya temukan. Saya telah memeriksa melalui registry dan sistem file, dan saya tidak dapat menemukan metode yang sempurna untuk mengumpulkan versi Office yang diinstal.
Metode terdekat yang dapat saya buat adalah menggunakan kueri WMIC:
wmic product where "Name like '%Office%'" get name,version
Sayangnya, ini mengembalikan berbagai aplikasi dan bahkan jika lebih halus difilter tidak memberi tahu saya jika "Office 16" adalah "Pro", "Professional Plus", atau "Office365".
Jika tidak, nilai registri di
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Scenario\INSTALL\ProductstoAdd
ada setidaknya pada versi 2016, tetapi tidak dengan versi yang lebih lama. Dan itu sendiri tidak mengandung nama yang ramah sehingga skrip lebih lanjut diperlukan untuk mengonversi data ProPlusRetail.16_en-us_x-none
ke "Office 2016 Professional Plus" atau O365BusinessRetail.16_en-us_x-none
ke "Office 365 Business (2016)"
Saya berharap seseorang memiliki metodologi yang lebih mudah daripada sekelompok pernyataan if / elseif / elseif dalam skrip besar.