Jump to content

Recommended Posts

Posted

I'm using psexec, I am trying to install the adobe acrobat 7.05 .msi along with a .mst file as well. I have slipped down a bit and just tried to install using adobe setup .exe but so far I have been unable to achieve it. I have also tried this for the java.msi as well but I find that either the thing just fails or it takes a very long time and doesn't suceed in leaving any files in the target destination. (win 2000 server with xp and 2000 clients)

 

So could someone out there please explain how to install acrobat and java or link me to a very good page.

 

Also I've tried to install these using GPO and I got messages appearing on the load up screen saying installing Java/Acrobat/Flash but the files never appear on the local hard drive.

Posted

i once remotely installed acrobat using a dos prog that enabled me to remotely create scheduled tasks that ran under admin credentials. i got this cunning idea from gfi languard as thats how it appeared to remotely install updates. i dont remember the name of the dos prog except it was probably on

a res kit. had to work out a silent install command line but worked great.

 

also acrobat had some wierd wrapper that has to extract but if you run it but dont do anything you can find the extracted install files in your temp directory and then use them instead.

Posted
Acrobat and Java are ideal candidates for GPO installation (as both are MSI based). When you tried this method, did you check the event logs for errors (on the workstations). If you got a message like 'installation source not available', it's possibly to do with the permissions on your central installation share point. You need to give 'authenticated users' RX permissions to all the folders and files that will be accessed during the install (including any parent folders up to and including the folder that is actually shared).
Posted
The GPMC can often explain why an MSI package isn't deploying correctly. Do a GP Results session on the affected machine/user and see what it throws up.
Posted

it was the authenticated users permissions causing the problems, typical afternoon wasted because of a little issue like that...

 

Anyways I'll change the subject of the thread a bit and ask if I want to uninstall the versions of acrobat and java that were already on the PC before the MSI's were installed (installed manually) how would I go about removing them with psexec ? it seems the best bet

Posted

If the original had also been deployed using Group Policy, you could have deployed the new version and marked it as 'upgrading' the old version. The old version would then have been removed automatically. You could try the following, but I've no idea if it would work...

 

1 - Load the old & new version of the app onto your distribution point

2 - Allocate the old version of the app with GP

3 - Allocate the new version of the app with GP and indicate that it upgrades the older version.

 

If you are lucky, GP might convert existing installations of the old version to 'managed' versions then upgrade them to the new versions. I would strongly suggest that you test this theory before trying it for real!

 

Another option would be to use something like WPKG to remove the old versions prior to installing the new ones. Again, I have never tried this, but WPKG looks quite flexible. I just don't know if it could uninstall something that it did not install in the first place.

 

Final possibility is to script it. As the installation is a Windows Installer one, it would be possible to remove it by issuing the following command;

 

msiexec /x {product code}

 

You can determine the product code of the old version of the app either by looking it up in the PROPERTY table of the MSI itself (use ORCA to load it), or by looking in the registry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products

again, test, test, test!

Posted

I have achieved the uninstalls with a psexec script to remove old .msi files

 

However. I was wondering how I could alter my script to:

a) not run if a user is logged onto the computer

b) keep a log of any failures or errors because at the moment I get no feedback.

 

This is my current script

psexec @"D:\scripts\lists\it18.txt" -s -d cmd /c msiexec /x beab52ab-833e-4f86-083e-8752bbb00015 /quiet /norestart

Posted

You could just check the username to see if its blank.

 

In VBscript

 

Set WshNetwork = WScript.CreateObject("WScript.Network")
strUserName = WshNetwork.UserName
if strUserName = "" 'nobody is logged on
' run your program
end if

 

Put this in some kind of time delayed loop. All code untested!!!

Posted

@ChrisH:

 

But surely the script would execute under the context of the remote user if executed by PSTOOLS, which would mean that UserName would return a non-null value....?

Posted
Thats a good point :oops: Im sure i saw a little executable somewhere that could do this task to a remote computer. You can apparently get username from netbios as well with nbtstat I read. Uninstalling on bootup is probably the most sensible approach though.
Posted

I could possibly do that I just don't like waiting.

 

I would still like to have a log though of which processes are a success.

Posted

Does psexec not have an option for logging or dumping output to a text file?

It has been a while since I used psexec but I remember that it has a load of different switches and arguments that do all sorts of stuff (I haven't even looked at half of them, never mind used them). It might have one for logging output or status.

 

If it doesn't it may be worth using a 3rd party logging tool or using something like Sawmill to process the Windows system logs.

Posted

Pear,

 

Not sure what you mean by waiting. The uninstall will run the next time the PC is restarted. If you need to cause the restart in a hurry, use shutdown.exe or PSSHUTDOWN.

 

As for logging, I maintain a hidden share on a server for logging. As long as permissions are set correctly, you should be able to redirect output using UNC path

e.g. \\(servername)\(log share)\(process name)\%COMPUTERNAME%.LOG

This would give you a log for each PC. If you create your log in CSV format then you can import all the logs into Access or similar to compare results.

  • 2 weeks later...
Posted
@ChrisH:

 

But surely the script would execute under the context of the remote user if executed by PSTOOLS, which would mean that UserName would return a non-null value....?

 

 

You can ask psexec to run in the system account.. in which case the username would not be blank.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...