/bundles/itninjaweb/img/Breadcrumb_cap_w.png
Hi ,

I have to package service pack 3 for Outlook 2003 for which I have downloaded the exe from microsoft website .This exe extracts outlhol.msp while installation.
So , is it suggestable to go with the snapshot of MSP.

How should a MSP file be delivered and how should it be edited to make some changes ?
Can MSP be supported by MST file ?.
0 Comments   [ - ] Hide Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity

Answers

0
You can use the command-line option to apply a patch to software installed on a computer

msiexec /p patch.msp REINSTALL=[Feature list] REINSTALLMODE=omus


To patch installations using an administrative image:
1. Create the administrative image, if it does not already exist, with the following command line:
msiexec /a package.msi

2. Update the administrative image by running the following command-line option:
msiexec /a package.msi /p \patch.msp

To remove a patch that you have applied, you must remove the entire application, and then reinstall the application without the patch. There is no way to roll back the changes a patch applies to the original package

if you have installed the patch on the top of the installation of an MSI on a machice then you can uninstall just the patch from the machine using "MSIPATCHREMOVE"

Msiexec /I {0C9840E7-7F0B-C648-10F0-4641926FE463} MSIPATCHREMOVE={EB8C947C-78B2-85A0-644D-86CEEF8E07C0} /qb

Where {0C9840E7-7F0B-C648-10F0-4641926FE463} is the Product Code of the application and ={EB8C947C-78B2-85A0-644D-86CEEF8E07C0} is the Patch GUID

Applying a Patch Package to a Local Installation
msiexec /p patch.msp REINSTALL=ALL REINSTALLMODE=omus

Applying a Patch Package to an Administrative Installation
msiexec /a //server/MNP2000.msi /p MNP2000.msp
Answered 08/19/2008 by: bheers
Second Degree Blue Belt

Please log in to comment
0
thanks a lot for the valuable information.
Answered 08/19/2008 by: dpu_bansal83
Orange Belt

Please log in to comment
0
Please guide , how can I check the GUID of a msp file.
Answered 08/21/2008 by: dpu_bansal83
Orange Belt

Please log in to comment
0
Here is something I've used in the past

' Usage: [CScript | WScript] MsiExtractPatchXMLData.vbs <full path to .MSP>
' Example: cscript MsiExtractPatchXMLData.vbs "C:\Temp\patch.msp"
On Error Resume Next

Dim ScriptArguments : Set ScriptArguments = WScript.Arguments
Dim NumberOfArguments : NumberOfArguments = ScriptArguments.Count

If NumberOfArguments <> 1 Then
WScript.Echo "Error: ERROR_INVALID_PARAMETER (An invalid parameter was passed to the function.)" & vbNewLine & vbNewLine _
& "Usage: [CScript | WScript] MsiExtractPatchXMLData.vbs <szPatchPath>" & vbNewLine _
& "Example: cscript MsiExtractPatchXMLData.vbs ""C:\Temp\patch.msp"""
WScript.Quit 1
End If

Dim szPatchPath : szPatchPath = WScript.Arguments(0)

Dim FSO : Set FSO = CreateObject("Scripting.FileSystemObject")
If NOT FSO.FileExists(szPatchPath) Then
WScript.Echo "Error: ERROR_PATCH_OPEN_FAILED (The patch file could not be opened.)" & vbNewLine & vbNewLine _
& "Usage: [CScript | WScript] MsiExtractPatchXMLData.vbs <szPatchPath>" & vbNewLine _
& "Example: cscript MsiExtractPatchXMLData.vbs ""C:\Temp\patch.msp"""
WScript.Quit 1
End If

Dim FileExtension : FileExtension = StrReverse(Split(StrReverse(szPatchPath), ".", 2)(0))
If LCase(FileExtension) <> "msp" Then
WScript.Echo "Error: ERROR_PATCH_PACKAGE_INVALID (The patch file could not be opened.)" & vbNewLine & vbNewLine _
& "Usage: [CScript | WScript] MsiExtractPatchXMLData.vbs <szPatchPath>" & vbNewLine _
& "Example: cscript MsiExtractPatchXMLData.vbs ""C:\Temp\patch.msp"""
WScript.Quit 1
End If

Dim Installer : Set Installer = CreateObject("WindowsInstaller.Installer")
Dim szXMLData : szXMLData = Installer.ExtractPatchXMLData(szPatchPath )
WScript.Echo szXMLData

Dim xmlDoc : Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = false
xmlDoc.LoadXml(szXMLData)
Set xmlRoot = xmlDoc.documentElement

PatchGUID = xmlRoot.Attributes.GetNamedItem("PatchGUID").Text
ProductCode = xmlRoot.getElementsByTagName("TargetProductCode").item(0).text
UpdatedVersion = xmlRoot.getElementsByTagName("UpdatedVersion").item(0).text

WScript.Echo "PatchGUID: " & PatchGUID & vbNewLine _
& "ProductCode: " & ProductCode & vbNewLine _
& "UpdatedVersion: " & UpdatedVersion
Answered 08/21/2008 by: AngelD
Red Belt

Please log in to comment