2016-12-30 4 views
0

Всего начинающих при пакетном скриптинге, я пытаюсь создать пакетный файл, проверяя, запущена ли программа в диспетчере задач. Если приложение запущено, запустите файл обновления, если программа не установлена, установите программу .. Adobe Reader в качестве примера.Использование .bat-файла для установки/обновления программ

@echo off 
echo Installing Adobe Reader DC 150072033 Base... 
echo This step will be omitted if it is unnecessary. 
:B 
tasklist | findstr /I "AcroRd32.exe" 
if errorlevel 1 (call "msiexec /i AcroRdrDC1502020039.msi /qn") ELSE (timeout /t 30) 
GOTO :B 
echo. 
echo Installing Adobe Reader DC Update Patches... 
msiexec /p "AcroRdrUpd1502020039.msp" /qn" 
echo. 
echo Installation concluded. 

Надеюсь, у вас есть рекомендации или решения. с новым годом :)

+2

Что вы хотите сказать? – aschipfl

ответ

0

Возможно следующий прокомментировал фрагмент кода может помочь:

@echo off 
echo Installing Adobe Reader DC 150072033 Base... 
echo This step will be omitted if it is unnecessary. 
:B 
rem check if Adobe Reader is currently running not if it's installed 
tasklist | findstr /I "AcroRd32.exe" 
if errorlevel 1 (
    rem use `start` command instead of `call` 
    rem    to ensure that current `bat` waits until `msiexec`'s finish 
    start "" /B /WAIT msiexec /i AcroRdrDC1502020039.msi /qn 
) ELSE (
    echo please exit Adobe Reader to continue 
    timeout /t 30 
    rem check again 
    GOTO :B 
) 
echo. 
echo Installing Adobe Reader DC Update Patches... 
msiexec /p "AcroRdrUpd1502020039.msp" /qn 
echo. 
echo Installation concluded. 

Пожалуйста, обратите внимание, что tasklist | findstr /I "AcroRd32.exe" проверяет, является ли Adobe Reader в настоящее время работает . Чтобы проверить, установлен ли Adobe Reader , следуйте за частью 1.7 Identifying deployed applications в этом документе: Enterprise Administration Guide for the Adobe® Acrobat Family of Products.

Короче: проверить GUID местоположения реестра см последний документ:

идентификатор GUID записывается в различных местах. Тем не менее, Adobe рекомендует использовать следующее:

  • 32-битных Windows:
    • HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\{application}\{version}\Installer\
  • 64-битных Windows:
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Adobe\{application}\{version}\Installer\

Cf. также эта резьба: Check if Adobe Reader is installed