Khalil Bhm
Khalil Bhm

Reputation: 398

Else If batch File

I need to auto-silent Update an air application with a native installer, so I made this batch file :

IF EXIST "%PROGRAMFILES(X86)%" (
taskkill /IM Application.exe
taskkill /IM adl.exe
wmic product where name="Application" call uninstall /nointeractive
"%HOMEPATH%\AppData\Roaming\com.application\Local Store\Application.exe" -silent -eulaAccepted -location "\%PROGRAMFILES(x86)%\" -desktopShortcut
"%PROGRAMFILES(x86)%\Applicaion\Application.exe"
taskkill /F /IM cmd.exe 
) ELSE (
taskkill /IM Application.exe 
taskkill /IM adl.exe
wmic product where name="Application" call uninstall /nointeractive
"%HOMEPATH%\AppData\Roaming\com.Application\Local Store\Application.exe" -silent -eulaAccepted -location "\%PROGRAMFILES%\" -desktopShortcut
"%PROGRAMFILES%\Application\Application.exe"
taskkill /F /IM cmd.exe ) 

And I tested it on a 64bit windows, so the %PROGRAMFILES(x86)%" does exist, and it uninstall the software, but without installing the new one, and it does not work at all on windows 32bit

Upvotes: 1

Views: 685

Answers (1)

Endoro
Endoro

Reputation: 37569

@ECHO OFF &SETLOCAL
IF DEFINED PROGRAMFILES(X86) (SET "PROGRAMFOLDER=%PROGRAMFILES(X86)%") ELSE SET "PROGRAMFOLDER=%PROGRAMFILES%"
taskkill /IM Application.exe
taskkill /IM adl.exe
wmic product where name="Application" call uninstall /nointeractive
"%HOMEPATH%\AppData\Roaming\com.application\Local Store\Application.exe" -silent -eulaAccepted -location "\%PROGRAMFOLDER%\" -desktopShortcut
"%PROGRAMFOLDER%\Application\Application.exe"
taskkill /F /IM cmd.exe 

Upvotes: 2

Related Questions