SFT-Encoder
Brilliant! I wanted to get your attention right from the go!
There are some tools which you tend to use from time to time and some tools which you grow into and just cant live without. SFT-Encoder has all of a sudden become the latter for me and some of my App-V Usage. Its funny as when Kalle first told me about the tool, i did not really get it, the use cases for the tool did not stack up for me, but then all of a sudden it all feel into place. Like the moons aligning.
So firstly what is SFT Encoder? In kalle words….
“SFT Encoder is a multi-purpose SoftGrid/App-V package encoding and modification solution, designed to be used as a quick and easy way to generate new packages and to make modifications to existing packages. Also suitable for migration scenarios, SFT Encoder can up- and downconvert between SoftGrid 3.x, 4.1/4.2 and App-V 4.5 packages.
Unlike the Microsoft Application Virtualization Sequencer which interactively monitors and captures changes on the packaging system, SFT Encoder modifies new and existing packages based on user specified file- and registry -operations, making it possible to integrate SFT Encoder with workflow of software vendors, service providers and packagers. At the same time, easy-to-use options make it perfect fit and addition to toolkit of all SoftGrid/App-V consultants and administrators. “
So what does this actually mean? Well you basically point the tool at a SFT file and programmatically inject/remove/inspect files and registry settings.
Use Case 1: I have x number of App-V applications how can i check that a certain registry key or file is captured?
Use Case 2: I want to inspect all my or some of my App-V applications, and if they have a registry key or file that does not meet my package requirements, delete it from my package?
So this situation here was that a customer of mine wanted to create a standard for what was in there app-v packages. They wanted a way to programmatically inspect the packages that were created to see if the registry key or files were there and in this situation delete the registry keys or files. They also wanted to create a standard list of files / regkeys to check against and delete or add for consistency.
Just think of the inspections that you can automate to validate your packages? I get asked this a lot. How can i do this today? ….. This could be your pre-check that you want to have done.
What else can it do?
Batch processing updates to SFT files and the associated files. For example say you have 1000 packages that were created in 4.1. And you want to rapidly update every single package to 4.5, and change the server path, and the blocksize……..
well thats exactly what the SFT Encoder Batch Processor does.
So lets take some of the things i do for example. I am constantly upgrading my packages form one app-v version to another. I am also involved in certain programs where i need to update or modify my packages to suite the needs of a situation (new server, block size, compression) , I don’t want to override my old packages but do want the new packages created. This is where this tool really comes into its own and with the addition of the x64 and OSTAGs modification (for my win7 x64 build) it saves me bundles of time!
Use Case 3: I have a requirement to Rapidly modify my App-V packages to newer versions and without complex scripting.
Use Case 4: I want to update or modify all or some of my OS TAGS in a programmatic fashion.
What are the complete set of features?
So this has grown recently and I thought it would be worth pasting an extract from the website.
Feature | Express | Professional | Enterprise | Server |
Create new package | • | • | • | • |
Modify existing package (SFT or whole package) | • | • | • | |
Import directory structure to package as normal mount | • | • | • | • |
Import multiple directory structures as normal mounts | • | • | • | |
Import multiple directory structures using specific mount point | • | • | ||
Import directory structures to package as VFS mount | • | • | • | |
Import multiple directory structures to package as VFS mounts | • | • | • | |
Delete files from package | • | • | • | |
Import registry branches into package | • | • | • | |
Import registry files into package | • | • | • | |
Delete registry keys from package | • | • | • | |
Delete registry values from package | • | • | • | |
Set registry key attributes | • | • | ||
Set registry value attributes | • | • | ||
Change/create registry value data | • | • | ||
Specify encoded package's version level | • | • | • | |
Specify encoded package's blocksize | • | • | • | |
Save compressed package | • | • | • | |
Specify file to launch from package | • | • | • | • |
Specify multiple exectuables to launch from package (from normal package path or VFS) | • | • | • | |
Specify multiple external executables to launch (from external paths) | • | • | • | |
Generate associated package files (OSD, ICO, SPRJ) | • | • | • | • |
Generate package manifest file | • | • | • | |
Generate only SFT file | • | • | • | |
Change package's root directory name | • | • | • | |
Generate new GUIDs for package | • | • | • | |
Remove package's version history | • | • | • | |
Perform in-place editing | • | • | • | |
Toggle package's internal ACL enforcing on and off | • | • | • | |
Specify server address for OSD | • | • | • | • |
Specify server protocol for OSD | • | • | • | |
Specify server protocol port for OSD | • | • | • | |
Specify package subdirectory placement in content directory | • | • | • | |
Set attributes for internal filesystem | • | • | ||
Search and set attributes for internal filesystem with regular expression | • | • | ||
Rename OSD files | • | • | ||
NEW: Add and remove OS VALUEs | • | • | • | |
NEW: Cleanup of Windows Installer runtime files | • | • | • | |
NEW: Set explicit virtual drive | • | • | ||
NEW: Support for x64 packages | • | • | • | |
NEW: Write data to files inside the package filesystem | • | • | ||
NEW: Create directories inside the package filesystem | • | • | ||
Fine-grained content generation and modification via Processing Templates | • | • | ||
Licensed per user | • | • | ||
Licensed per machine | • |
I use the enterprise edition which has been super handy for my testing and deployment requirements.
The tool can also be integrated into your own workflow by creating processing templates which you can build upon!
The killer piece is that after a lot of work SFT Encoder is now available in a trial format that you can play with to see whether it would fit your business requirements and needs. If your a hardcore App-V house than this is certainly something worth looking at! As always, this is not a Microsoft tool and as such we make no warranties or guarantee's, nor does Microsoft support the use of these tools in any way.
Try out full functionality of the Enterprise Edition with the trial version!
You can also download free SFT Encoder Express*, capable of creating simple App-V packages.
To summarise, this third party tool is a brilliant tool that has some great features that are available to make you more efficient in your App-V deployments. If you have not already downloaded it to play, go do it NOW!
Brilliant!!!