/build/static/layout/Breadcrumb_cap_w.png

Applying a MSP to MSI that is already deployed.

Hi all,

I have a package that is already deployed to a number of PC's. I need to apply this MSP I have now and was wondering what is the best why to do this. As GPO does not handle MSP, I was thinking of creating a MSI, add in the MSP in to a temp directory and when it is on the users PC then run a script to install that patch.

Will this work, or any other ways of doing this that is easier would be great.

Thanks all

TG

0 Comments   [ + ] Show comments

Answers (5)

Posted by: Thegunner 17 years ago
Second Degree Green Belt
0
I have tried a few method which have been suggested on here like using the i6comp utility and the msix.exe and still no joy. Bugger!
Posted by: fosteky 17 years ago
Purple Belt
0
What has worked perfectly for me in the past:

Write a VB script that exits quickly if the patch has already been deployed to the target system (by checking for a reg setting, folder or file that's unique to the patched application). If the patch hasn't been applied to the target then the script uses msiexec to patch the installed MSI. Finally, apply this VB script as a Logon script of the same GPO that deploys the full MSI.

Here's an example of my VB script I used to patch an already deployed MSI. The FlagFolder is the thing that's unique to the patched installation, you'd have to modify this if you check against a registry or file. This script also writes a detailed report to the appevent log. Hope this helps:

disclaimer: You have a royalty-free right to use, modify, reproduce, and distribute this script file in any way you find useful, provided that you agree that the author has no warranty, obligations, or liability for such use.

Option explicit
On error resume next
dim oShell, oFSO
dim sMSILaunch, sAppEventText, sDate
'Adjust the following constants for desired results
const sGPOname = "APP .NET Framework 1.1 - C"
const sVBScriptName = "dotNET1.1_MSP_KB839424.VBS"
const sMSIEXEC = "%comspec% /c %Windir%\System32\msiexec.exe "
const sPatchSwitch = "/P "
const sMSP = "\\server\share\NetFramework11\NDP1.1-KB839424-X86.msp "
const sQuietSwitch = "/qn "
const sFlagFolder = "%Windir%\Microsoft.NET\Framework\v1.1.4322\Updates\M839424"

'Reference *************************************************************************
'Windows Scripting Host Object connections
Set oSHELL = WScript.CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")
sMSILaunch = sMSIEXEC & sPatchSwitch & sMSP & sQuietSwitch
sAppEventText = "Starting " & sVBScriptName & chr(10) & "which is a " &_
"startup script of the GPO: " & chr(10) & sGPOname & chr(10)
'Worker and Output Section *********************************************************
If oFSO.FolderExists(sFlagFolder) = False Then
sAppEventText = sAppEventText & "The folder " & chr(34) & sFlagFolder & chr(34) &_
" doesn't exist, which indicates that the patch, " & chr(34) & sMSP & chr(34) &_
" is needed." & chr(10) & "The following MSIEXEC command will be run:" & chr(10) &_
sMSILaunch & chr(10) & "* see subsequent MSIInstaller event for details. End of script."
oSHELL.LogEvent 4, sAppEventText
oSHELL.run sMSILaunch, 0, True
wscript.quit
Else
sAppEventText = sAppEventText & "The folder " & chr(34) & sFlagFolder & chr(34) &_
" exists, indicating patch is already applied. No action will be taken. End of script."
oSHELL.LogEvent 4, sAppEventText
wscript.quit
End If
Posted by: AngelD 17 years ago
Red Belt
0
Why not update the MSI with the MSP and then hit Redeploy?
Posted by: fosteky 17 years ago
Purple Belt
0
AngelD's suggestion is sound, but obviously necessitates the uninstall and reinstall of the application for all users, which may not be desirable should you have a lot of users and the package is sizeable.

I only suggest running the patch against the workstation installations because it avoids the need to uninstall and reinstall the app on all target computers.
Posted by: vrapp 17 years ago
Senior Yellow Belt
0
I think the problem with applying the patch by script is that after the patch, in add/remove programs it still shows the previous version. I just applied msp patch to adobe reader, and though the reader itself is now 7.0.8, in add/remove programs it's still 7.0.7 (in the title of the product; in the version, it is now correctly 7.0.8).

Also, what if the installation is managed (published or advertised)? then you obviously have to update the administrative share as well, for the future installations; which will put it out of sync with the existing installations, so if someone wants to uninstall, he may be unable to. I did not try it, but I think it is very likely.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Don't be a Stranger!

Sign up today to participate, stay informed, earn points and establish a reputation for yourself!

Sign up! or login

Share

 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ