Lets continue with the details of the User Configuration-files!
Most of the pre-generated content of the file has been removed – the scripting part is what this post will mostly deal with! Now we can deploy a per-user configuration – which will allow us to configure all options and deploy a package with a different configuration for a set of users! As opposed to the one common OSD-file, we can now have a single package and create several different sets of configuration files for different user groups. Shortcuts, protocol handlers, Apppaths, FTAs, scripts, COM-isolation – can now all be configured with different configuration for any per-machine deployment and per-user deployment! There we rarely need to clean-up the shortcuts in a package, but can rather do a post-packaging clean-up on whats get published on a client using a configuration file!
See the sample script that has been automatically generated from the App-V 5 beta – we can initiate quite a few different options and hopefully this can provide an even more valuable asset when it comes to setup our applications environment!
<!-- User Scripts Example - customize and uncomment to use user scripts --> <!-- <UserScripts> <StartProcess RunInVirtualEnvironment="true"> <Path>VFS\ProgramFilesX86\App\dosomething.exe</Path> <Arguments>-WithArgs</Arguments> <Wait RollbackOnError="true"/> <ApplicationId>[{AppVPackageRoot}]\Contoso\ContosoApp.EXE</ApplicationId> </StartProcess> <ExitProcess> <Path>VFS\ProgramFilesX86\App\UnDoSomething.exe</Path> <Arguments>-WithArgs</Arguments> <Wait RollbackOnError="false"/> <ApplicationId>[{AppVPackageRoot}]\Contoso\ContosoApp.EXE</ApplicationId> </ExitProcess> <StartVirtualEnvironment RunInVirtualEnvironment="true"> <Path>[{AppVPackageRoot}]\VFS\ProgramFilesX86\App\DoSomething.exe</Path> <Arguments>-WithArgs</Arguments> <Wait RollbackOnError="true"/> </StartVirtualEnvironment> <TerminateVirtualEnvironment> <Path>[{AppVPackageRoot}]\VFS\ProgramFilesX86\App\UnDoSomething.exe</Path> <Arguments>-WithArgs</Arguments> <Wait RollbackOnError="false"/> </TerminateVirtualEnvironment> <PublishPackage> <Path>\\server\share\foobar.exe</Path> <Arguments>-WithArgs</Arguments> <Wait RollbackOnError="true" Timeout="30"/> </PublishPackage> <UnpublishPackage> <Path>\\server\share\barfoo.exe</Path> <Arguments>-WithArgs</Arguments> <Wait RollbackOnError="false" Timeout="30"/> </UnpublishPackage> </UserScripts> --> </UserConfiguration>