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 ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)

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.

Condividi l'articolo con i tuoi contatti:
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