Improvements in the App-V 4.6 SP1 Sequencer Command Line Interface (CLI)
The Command Line Sequencer, or CLI, has been improved with the App-V 4.6 SP1 release of the Sequencer. The Sequencer now has the ability to define Feature Block 1, create Package Accelerators, and create packages from Package Accelerators. The CLI is closer in feature parity to the GUI sequencer.
As with any Command Line Interface, there is a much greater potential for automation. The rule for automating with the CLI Sequencer is that the Sequencer does not need to be reverted as long as monitoring has not occurred. In the App-V 4.6 SP1 Sequencer, there is no "Begin Monitoring" button anymore. Monitoring occurs in the "Configure Software" phase. From the CLI, this would occur when creating a package via Sequencing or potentially creating a Package from a Package Accelerator. For all other scenarios, the CLI provides a method to automate several sequencing tasks.
Known issues with the App-V 4.6 SP1 CLI Sequencer are found in this KB article: https://support.microsoft.com/kb/2497312 .
The Command Line Sequencer has built-in help that displays all of the available usage syntax. Below are the commands displayed when SFTSequencer [/? | /Help] is typed in a Command Prompt in the C:\Program Files\Microsoft Application Virtualization Sequencer directory. For the purposes of this article, the commands have been labeled with their purpose.
Sequence Application
SFTSequencer /INSTALLPACKAGE:installpackage /INSTALLPATH:installpath /OUTPUTFILE:outputfile [/FULLLOAD | /LAUNCHALL [/UPTIME:seconds] | /LAUNCH:executable1.exe,... [/UPTIME:seconds] | /LAUNCHSCRIPT:scriptpath] [/PACKAGENAME:packagename] [/BLOCKSIZE:4|16|32|64] [/COMPRESS] [/MSI] [/DEFAULT:defaultproject]
Open Package to Edit
SFTSequencer /OPEN:packagetoopen [/PACKAGENAME:packagename] [/MSI] [/COMPRESS]
Open Package for Upgrade
SFTSequencer /UPGRADE:packagetoupgrade /INSTALLPACKAGE:installpackage /OUTPUTFILE:outputfile [/DECODEPATH:path] [/FULLLOAD | /LAUNCHALL [/UPTIME:seconds]| /LAUNCH:executable1.exe,... [/UPTIME:seconds] | /LAUNCHSCRIPT:scriptpath] [/PACKAGENAME:packagename] [/COMPRESS] [/MSI]
Create Package Accelerator (Installation Media)
SFTSequencer /INPUTFILE:SprjFile /INSTALLMEDIAPATH:InstallMediaPath /PACKAGEACCELERATORFILE:PackageAcceleratorCabFile [/REMOVEMISSINGFILES]
Create Package Accelerator (Locally Installed Application)
SFTSequencer /INPUTFILE:SprjFile /LOCALINSTALLPATH:LocalInstallPath /PACKAGEACCELERATORFILE:PackageAcceleratorCabFile [/REMOVEMISSINGFILES]
Create Package from Package Accelerator (Installation Media)
SFTSequencer /PACKAGEACCELERATORFILE:PackageAcceleratorCabFile /INSTALLMEDIAPATH:InstallMediaPath /OUTPUTFILE:SprjFile [/PACKAGENAME:Package Name] [/COMPRESS] [/MSI] [/TRUSTPACKAGEACCELERATOR]
Create Package from Package Accelerator (Locally Installed Application)
SFTSequencer /PACKAGEACCELERATORFILE:PackageAcceleratorCabFile /LOCALINSTALL /OUTPUTFILE:SprjFile [/PACKAGENAME:Package Name] [/COMPRESS] [/MSI] [/TRUSTPACKAGEACCELERATOR]
Expand to Local System (DSC)
SFTSequencer /EXPAND:SprjOrSftFile
Defining FB1
Users will now have greater control over defining Primary Feature Block contents. The CLI Sequencer will build the Primary Feature Block using a similar method as the GUI Sequencer: by starting a virtual environment and then launching applications to identify the essential bits to stream to the client cache first. This phase of the sequencing process will be completely hands-off. The CLI Sequencer will sequentially launch each application and then shut it down as gracefully as possible before launching the next one.
Feature Block is optional for sequencing or upgrading a package, not for Package Accelerators.
Option |
Argument |
Comments |
Do not put anything in FB1 |
None |
Default behavior if no FB1 arguments are passed. Same as current CLI Sequencer. |
Add entire package to FB1 |
/FULLLOAD or /F |
Same as current CLI Sequencer. Still useful for mobile scenarios where admins want package fully loaded before app starts |
Launch only these files for FB1 optimization. Files must be linked to shortcuts |
/LAUNCH: executable1.exe [, filename2.xyz …] |
Each filename is separated by commas. Filenames with spaces should be enclosed in “quotes.” Filenames only; partial or full paths will not be accepted. Command line arguments for each executable cannot be passed. |
Launch all shortcuts for FB1 optimization |
/LAUNCHALL |
Equivalent to Launch All in GUI Sequencer: serially launch each application. |
Run each application for exactly this amount of time |
/UPTIME:seconds |
Allows user to override default heuristics for how long an application will run before being shut down. [min: 5; max: MAX_INT] |
Steve Bucci | Support Escalation Engineer
The App-V Team blog: https://blogs.technet.com/appv/
The WSUS Support Team blog: https://blogs.technet.com/sus/
The SCMDM Support Team blog: https://blogs.technet.com/mdm/
The ConfigMgr Support Team blog: https://blogs.technet.com/configurationmgr/
The SCOM 2007 Support Team blog: https://blogs.technet.com/operationsmgr/
The SCVMM Team blog: https://blogs.technet.com/scvmm/
The MED-V Team blog: https://blogs.technet.com/medv/
The DPM Team blog: https://blogs.technet.com/dpm/
The OOB Support Team blog: https://blogs.technet.com/oob/
The Opalis Team blog: https://blogs.technet.com/opalis
The Service Manager Team blog: http: https://blogs.technet.com/b/servicemanager
The AVIcode Team blog: http: https://blogs.technet.com/b/avicode
The System Center Essentials Team blog: http: https://blogs.technet.com/b/systemcenteressentials
The Server App-V Team blog: http: https://blogs.technet.com/b/serverappv