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   [ + ] Show 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.

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
Answer this question or Comment on this question for clarity