Avatar of pdixit1977
pdixit1977
Flag for India asked on

Preparing a batch script to uninstall and reinstall a program

Hi Experts,
we are running a client app on 100 numbers of windows server 2003 R2 64 bit, now an upgraded version comes and client asking us to do reinstall that on all those servers. Here is the text flowchart of that batch script which i m planning to create to automate this.
1. uninstall that program (but no user intervention is required).
2. Reboot the server.
3. install the latest version.
4. copy 3 config file to installed program directory (files are already there but the one we copying is upgraded one).
5. Reboot the server again.

But i got stuck on first point, i tried

msiexec /x path_app.msi /q

it does nothing, then i remove Quiet switch but now it is asking Yes/No option for removal

Please help..
Windows BatchWindows Server 2003Microsoft Server OS

Avatar of undefined
Last Comment
pdixit1977

8/22/2022 - Mon
becraig

Did you check the eventlog on the server you ran against with the /q flag to see what entry was in the event log for the msi installer source ?


This will help you know what happened when you ran with the /q flag so we can determine how to resolve this.
pdixit1977

ASKER
i checked that and there is nothing in event logs..
becraig

you may want to look into c:\temp on the target server to see if any logs were generated.

It seems the msi installer was not invoked if you are not seeing any msi entries in the eventlog.
Your help has saved me hundreds of hours of internet surfing.
fblack61
Neil Russell

Try using

msiexec /x path_app.msi /quiet
pdixit1977

ASKER
Neilsr:
I would request you to please read my question carefully, i already did that but it not worked.


becraig:
No, there is no such logs in c:\temp too
becraig

So I hate shooting in the dark but here are some options:

1. msiexec /x path_app.msi /qn
2. msiexec /x path_app.msi /l path to some logfile so we can see what is really up
3. msiexec /x path_app.msi /passive
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Steve Knight

Why not add some logging to see what is going on, and perhaps use /passive for now instead of /quiet

msiexec /x app.msi /passive /log C:\temp\logfile.txt

Steve
Steve Knight

(Cross posted there with becraig)
Neil Russell

/q is NOT /quiet the same, so you did not try that. There are slight differences.
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
pdixit1977

ASKER
I tried
msiexec /x app.msi /passive /log C:\temp\logfile.txt

but it neither uninstalled the app NOR log something

msiexec /x path_app.msi /l path to some logfile  asking for user intervention yes/no

i already tried /q and /quiet but that also not worked for me..
becraig

This is the strangest case I have ever heard, did the Application log on the computer this was run against show any msi installer entries for any of the commands you ran ?

Also please be sure to use verbose logging

msiexec /l*v
pdixit1977

ASKER
msiexec /x app.msi /l*v C:\Appuninstalllogfile.txt

but its asking for user intervention yes/no
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
becraig

also be sure to use either passive or /qb or /qn with this, e.g.

msiexec /x  /qb app.msi /l*v C:\Appuninstalllogfile.txt
msiexec /x  /qn app.msi /l*v C:\Appuninstalllogfile1.txt
msiexec /x  /passive app.msi /l*v C:\Appuninstalllogfile2.txt
Steve Knight

Odd!  /log should do the same as /l*v afaik?

is this one particular application btw, could always be that for some reason it won't allow/accept such uninstalls?

Does the msiexec task still continue running in task manager, or if you start it from cmd.exe does it return control straight away or show anything?

Steve
becraig

Steve has a good point I would also try running the command from the command line on one of the servers to see what the command line returns.

As for what logging options exist and what does what, see below:
Windows Installer handles its installations through Msiexec.exe. The logging options offered by this tool allow you to create different types of logs, depending on the information you need about the installation. These options are:

    i - Status messages
    w - Nonfatal warnings
    e - All error messages
    a - Start up of actions
    r - Action-specific records
    u - User requests
    c - Initial UI parameters
    m - Out-of-memory or fatal exit information
    o - Out-of-disk-space messages
    p - Terminal properties
    v - Verbose output
    x - Extra debugging information
    + - Append to existing log file
    ! - Flush each line to the log
    * - Log all information, except for v and x options
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23
becraig

It might be possible the uninstall requires additional flags that we can pass into the command, more information would be required to accomplish this.
pdixit1977

ASKER
Is it possible that an MSI package has some problem which not allowing it to run via command however it works if you install thru GUI ?
pdixit1977

ASKER
i m saying it because i tried to install same app thru below command on another server

msiexec /i OpenSpanRuntimeEntSetup.msi /quiet /l* C:\Appuninstalllogfile.txt

and it says "the installation package could not be opened, verify that the package exist and you can access it"
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
becraig

you get that error if the path to the msi is not reachable from the location the command is being called.

There are other potential issue but I think that is it, please ensure the msi is present in the location specified when running...

e.g. If running on a remote server copy the msi to c:\temp on that server then run via invoke-command or psexec msiexec c:\temp\file.msi
pdixit1977

ASKER
i tried some other application installation and uninstallation with they way you guys suggest and they all were installed and uninstalled successfully but only this MSI giving error.

i m going back to client to ask another copy of MSI and also validate if they put any restrictions in code to not to install via command..

thanks for your help and i will update you soon..
Steve Knight

OK, good luck.
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes
pdixit1977

ASKER
As expected, that MSI file was having problem. Client gave me another MSI file which is working as yous suggested.
ASKER CERTIFIED SOLUTION
becraig

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
SOLUTION
Steve Knight

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
pdixit1977

ASKER
thanks