GromfBaenre@twitter
23-01-2015, 16:56
Здравствуйте, уважаемые форумчане.
Была у меня тема такая http://forum.oszone.net/thread-291593.html
Продвинулся в ней, но снова встал в лыжах на асфальт.
rem OUTLOOK CHECK
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=2013
goto :MI
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=2010
goto :MI
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=2007
goto :MI
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=2003
goto :MI
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\10.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=XP
goto :MI
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=2000
goto :MI
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\8.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=98
goto :MI
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\7.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=97
goto :MI
)
set OUTLOOK=NOT Installed !!
:MI
rem OFFICE VERSION CHECK
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Word\InstallRoot 2>nul
if %errorlevel%==0 (
set WORD=2013
goto :MI2
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Word\InstallRoot 2>nul
if %errorlevel%==0 (
set WORD=2010
goto :MI2
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Word\InstallRoot 2>nul
if %errorlevel%==0 (
set WORD=2007
goto :MI2
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Word\InstallRoot 2>nul
if %errorlevel%==0 (
set WORD=2003
goto :MI2
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\10.0\Word\InstallRoot 2>nul
if %errorlevel%==0 (
set WORD=XP
goto :MI2
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\8.0\Word\InstallRoot 2>nul
if %errorlevel%==0 (
set WORD=98
goto :MI2
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\7.0\Word\InstallRoot 2>nul
if %errorlevel%==0 (
set WORD=97
goto :MI2
)
Этот код позволяет мне определить версию офисного пакета и критичного для меня Outlook, но внезапно нашлись машины, которые имеют установленный офис, на которых этих ключей не существует. Какие ещё ветви реестра или методы получения версий вы могли бы мне посоветовать? VBS нельзя, утилиты Windows, требующие прав администратора можно, внешние утилиты можно.
Была у меня тема такая http://forum.oszone.net/thread-291593.html
Продвинулся в ней, но снова встал в лыжах на асфальт.
rem OUTLOOK CHECK
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=2013
goto :MI
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=2010
goto :MI
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=2007
goto :MI
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=2003
goto :MI
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\10.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=XP
goto :MI
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=2000
goto :MI
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\8.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=98
goto :MI
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\7.0\Outlook\InstallRoot 2>nul
if %errorlevel%==0 (
set OUTLOOK=97
goto :MI
)
set OUTLOOK=NOT Installed !!
:MI
rem OFFICE VERSION CHECK
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Word\InstallRoot 2>nul
if %errorlevel%==0 (
set WORD=2013
goto :MI2
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Word\InstallRoot 2>nul
if %errorlevel%==0 (
set WORD=2010
goto :MI2
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Word\InstallRoot 2>nul
if %errorlevel%==0 (
set WORD=2007
goto :MI2
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Word\InstallRoot 2>nul
if %errorlevel%==0 (
set WORD=2003
goto :MI2
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\10.0\Word\InstallRoot 2>nul
if %errorlevel%==0 (
set WORD=XP
goto :MI2
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\8.0\Word\InstallRoot 2>nul
if %errorlevel%==0 (
set WORD=98
goto :MI2
)
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\7.0\Word\InstallRoot 2>nul
if %errorlevel%==0 (
set WORD=97
goto :MI2
)
Этот код позволяет мне определить версию офисного пакета и критичного для меня Outlook, но внезапно нашлись машины, которые имеют установленный офис, на которых этих ключей не существует. Какие ещё ветви реестра или методы получения версий вы могли бы мне посоветовать? VBS нельзя, утилиты Windows, требующие прав администратора можно, внешние утилиты можно.