Batch: verifica installazione di un programma (da registro)

| |

È uno di quei batch tornati utili in svariati momenti, anche solo per un riferimento singolo, per un’istruzione. L’ho trovato qualche tempo fa su Symantec Connect e ve lo propongo nel caso in cui qualcuno di voi lì fuori ne abbia necessità: symantec.com/connect/downloads/batch-script-check-and-install-application-package

REM ===================DEFINE MSI,MST,UPN,log file & folder here =============
SET MSINAME=SETUP.MSI
SET MSTNAME=SETUP.MSI
SET UPN=AppID-Vendor-AppName-Version-ReleseVersion
SET LOGSFOLDER="C:\ApplicationLogs\%UPN%_Install.log"
IF NOT EXIST "C:\ApplicationLogs" MD "C:\ApplicationLogs"
REM ===========================================================================
REM ===================Check if the Product exists already=====================
SET PRODUCTKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
REG QUERY %PRODUCTKEY%\{4ECF4BDC-8387-329A-ABE9-CF5798F84BB2}
IF NOT %ERRORLEVEL% EQU 0 (GOTO :INSTALL) ELSE GOTO :ENDHERE
REM ===========================================================================
:INSTALL
REM =======================Install  the application============================
MSIEXEC.EXE /I "%~dp0SETUP.MSI" /TRANSFORMS="%~dp0SETUP.MST" /QB! /L*V "%LOGSFOLDER%"
set MSIERROR=%errorlevel%
if %MSIERROR%==0 GOTO :ENDHERE
if %MSIERROR%==1641 GOTO :ENDHERE
if %MSIERROR%==3010 GOTO :ENDHERE
GOTO :ERROR
REM ===========================================================================
REM ================ Installation successful. Write to Event Log===============
:ENDHERE
EVENTCREATE /l Application /so %UPN%-Install-SUCCESS /t SUCCESS /id 1000 /d "Application installed successfully."
Exit 0
REM ===========================================================================
REM ================ Installation failed. Write to Event Log===================
:ERROR
EVENTCREATE /l Application /so %UPN%-Install-FAILED--(ERROR=%MSIERROR%) /t ERROR /id 999 /d "Application installation failed."
Exit %MSIERROR%
REM ===========================================================================

Il batch si occupa di verificare la presenza di una chiave di registro, permettendovi così di capire se l’installazione di un determinato software è già stata eseguita sulla macchina. In caso contrario, manco a dirlo, la avvierà. Al termine riporterà (in base all’esito dell’operazione stessa) un nuovo evento all’interno del registro (Visualizzatore Eventi) di Windows, così da permettere a chiunque di controllare l’operato dello script.

Comodo, pratico, assolutamente personalizzabile in base alle proprie esigenze.

Buon fine settimana! :-)

Correzioni, suggerimenti? Lascia un commento nell'apposita area qui di seguito o contattami privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! ☕ :-)

L'articolo potrebbe non essere aggiornato

Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio lascia un commento!

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato agli articoli "a bruciapelo"!
Se vuoi leggere le altre pillole fai clic qui.

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Commenti
Oldest
Newest Most Voted
Inline Feedbacks
View all comments