Sequencer Command Line help

Is there a way to "recompile" an MSI from the command line? We have a script we want to put into every OSD file, but then you have to open the SPRJ file in the sequencer and hit save (with the create MSI box checked), otherwise the MSI has the old OSD file.

Is there a quicker way to do this? Can I modify the base OSD template to include my script?

here is a link to the sequencer command line:


thanks for your help


0 Comments   [ + ] Show comments

Answers (3)

Posted by: anonymous_9363 13 years ago
Red Belt
App-V support files are invariably in XML format so you could use the MS XML Parser object (which every system with XP and above should have) in script. There are a myriad of sample scripts around that will show you how to add elements and attributes to an XML using the parser.
Posted by: srini 13 years ago
Yellow Belt
Try using OSD Editor from Login consultant whcih is free tool and helps a lot. And for detail try http://www.tmurgent.com/OSD_Illustrated.aspx
Posted by: kkaminsk 13 years ago
9th Degree Black Belt
I swore some lesser known programer made an OSD Search and Replace type tool but I cannot find it. I have some code that can show you how to use the XML parser via vbscript but it is supplied as is and is a little ugly too as this was written many years ago and I don't think this was the final code we used.

Set xmlDoc = CreateObject("MSXML2.DOMDocument")
OsdPath = InputBox("i.e. \\softgridserver\content\SoftgridTest\WinZip.osd", "Please enter UNC Path to OSD", "\\softseq001\content\SoftgridTest\WinZip.osd")

'Check that the file is available and ready for writing.
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set File = objFSO.OpenTextFile(OsdPath, 8)

'Load the doc supplied
xmlDoc.Load (OsdPath)

'Check the XML formatting
If xmlDoc.parseError.errorCode <> 0 Then
MsgBox("Parse Error line " & xmlDoc.parseError.line & ", character " & _
xmlDoc.parseError.linePos & vbCrLf & xmlDoc.parseError.srcText)
End If

'Get some OSD info
Set RootObj = xmlDoc.selectSingleNode("//CODEBASE")
Set RTSPPath = RootObj.getElementsByTagName("HREF")

'Prep the strings for some checks later on.
Realpath = RootObj.getAttribute("HREF")
WScript.Echo Realpath
RTSPCheckArr = Split(Realpath, ":554/", 2)
WScript.Echo RTSPCheckArr(0)
WScript.Echo RTSPCheckArr(1)

'Check the server name
If RTSPCheckArr(0) = "rtsp://softseq001" Then
WScript.Echo "It's Good!"
WScript.Echo RTSPCheckArr(0) & " is wrong!"
End If

'Convert the necessary strings for some checks with the OSD.
FolderCheck = Split(OsdPath, "\content\", 2)
WScript.Echo FolderCheck(1)
FolderCheckConvOSD = Replace(FolderCheck(1), "\", "/")
FolderCheckConvSFT = Replace(FolderCheckConvOSD, ".osd", ".sft")
WScript.Echo "Folderconv: " & FolderCheckConvSFT
WScript.Echo "FromOSD: " & RTSPCheckArr(1)

If FolderCheckConvSFT = RTSPCheckArr(1) Then
WScript.Echo "Folder path matches!"
WScript.Echo "Content folder does not match."
End If
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


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