App-V 5 and OS integration

One of the new features that App-V 5 brings to the table is the possibility to more seamlessly integrate to the operating system. But, what does that mean in practice?

Well, if you sequence Mozilla Thunderbird – the following things show up…

Protocol Handlers;

image

Default Program Handlers;

image

This means that if you click a link like this;

image

A new mail will be presented;

image

(guessing that the empty subject / to-field relates to beta-code Smile )

If you sequence InstEd – more things will be available on the right-click of MSI-files that previously wasn’t there see the Instead It! menu-option)

image

Of course there are many more features to come – but Application Virtualization just took a major step forward in bringing a native application experience.

App-V 5 beta–features

Here comes a low-down of what we hope to expect!

Rewritten architecture to support the following;
Higher level of integration with the operating system and other applications, support things like;
Shortcuts
File Type Associations
Protocol Handlers
AppPaths
JumpLists
Com-objects

Not yet verified; Integration with default application handlers?
Shell Extensions?

A “working” shared cache-mode – easy to setup, easy to maintain – one-click and you are good to go!
Granular configuration of package – provide different users with different configurations
Per-machine configuration possibilities
Increased scripting possibilities to allow per-machine and per-user scripting
Easy to install client and to configure client (that has been a major problem)
Side-by-side migration from previous version of App-V
Converter of packages to support the new format of App-V
New openly available format – just rename it to .ZIP to view the contents
Powershell-support to administrate the entire environment
Connection Groups – DSC, however working!

The server
Its still alive? Apparently. Sighs… Apparently people like this. Well – it can´t be anything worse than what the previous one was. Does it distribute all types of packages (MSI, scripts, customer installers, virtualized applications)? No
Do I want it then? No
Sorry – I am not to excited about this part

What did they drop?
Windows XP support

App-V 5 beta– behind the scenes

This is what it looks like – no more Softgrid!

These are prerequisites that aren’t installed by the installer, but still required;
.NET Framework 3.5
.NET Framework 4.0
Windows Hotfix; http://support.microsoft.com/kb/2533623
These are prequisites that are installed by the installer, and required;
Visual C++ 2005
Visual C++ 2008
Visual C++ 2010

My general recommendation has always been to deploy .NET Framework natively along with all versions of Visual C++ (ALL – I can not stress this enough – ALL VERSIONS. Every RTM, SP and FIX!) aswell as J# and F#. App-V 5 continues this race and to be prepared for a future upgrade – get these prerequisites out right now. They will not only assist in the upgrade of the App-V Client, but will assist you in the deployment of applications – natively installed as well as virtualized ones.

Reviewing the documentation for install switches that might reveal features that are interesting looks aswell;
/AUTOLOAD – streaming will stick around.
/SHAREDCONTENTSTOREMODE – shared cache will become less of a hassle to setup.
/MIGRATIONMODE – we can do a side-by-side migration of App-V 4.X and 5.0
/ENABLEPACKAGESCRIPTS – Running scripts are not enabled by default – enable it at install time!

Now the registry has no more references to Softgrid – it is all about App-Vimage

To enable scripts – we are simply talking about a registry key! You can se this option via powershell or at install time using the previously mentioned switch. image

Migration Mode – will allow App-V 5 to take over previously own App-V 4.X associations / shortcuts ! It is required that you will have the RTM-version of 4.6 SP2 for this to be supported. image

It seems that the client is all prepared for Windows 8 and Internet Explorer 10!image

The Q: drive is no longer and instead all the content is stored in the clear – allows for much more integration to the OS and will move App-V into the next gear of application virtualization;

image

Shared cache? Oh boy! (from the docs);
To configure the App-V 5.0 Beta client to operate in shared content store mode, set HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\Streaming\SharedContentStoreMode=1 and restart the computer running the App-V 5.0 Beta client.

The shared cache can be setup on deployment time using a switch for the installer – easy! What happens? When you enable this – it simply means that all the data for an application will not persist on disk. Compared to the old days of shared cache – this will be a breeze to maintain as we are working directly of the network. It does require network connectivity though – which all our clients that want to leverage shared will have, right?

App-V 5 beta Config Files–User Config

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>

App-V 5 beta Config Files–deployment config

We previously looked at the sequencer and the client. There setup and usage seemed effortless – which is great as it has always been an administrative overhead that we had to worry about. Now – application deployment is never easy and always have to take quite a few possibilities in consideration. That is why it is such great fun – right? Lets look at how App-V will continue to make it easier for all of is! I have posted the complete contents of a deployment configuration file below (as a reference) – but will dive into some parts of it for further explanation.

Deployment config-concept
The file pasted below is a deployment config file. It is intended for configuring the client computer at the time the package is deployed. It may be used to write scripts that will install required software – such as drivers, OS-components and such. It will also setup the virtual applications interaction with the operating system (FTA, shortcuts etc etc)

GUID;<DeploymentConfiguration PackageId=”15ff5ef2-8a60-409e-9530-5535e541c028″ DisplayName=”Winrar 4.11 x86″ IgnorableNamespaces=”” xmlns=”http://schemas.microsoft.com/appv/2010/deploymentconfiguration”>
App-V has previously given quite of admins the headaches of conflicting GUIDs, application names, asset directories and what not. There were so much thinking going into NOT conflicting parts of a package with other packages that were deployed. This time around – it looks that this problem is gone. Lets hope that don’t mess things up Smile

Protocol Handlers;<URLProtocols Enabled=”true”>
Wow ! So if anyone saw me at the European App-V User Group – my greatest problem was never a technical limitation within packaging anything. Instead the greatest problem App-V has had over the years (and yes, any other competing product) is that of how the user interaction will work with a virtualized instance of any software. Suddenly – we will see Protocol Handlers? That’s great! We can now sequence Spotify AND allow users to click Spotify links! (and mail applications, and what not!).

App Paths; <AppPaths Enabled=”true”>
Application Paths are quite often used by software to locate required components. Think about generating a report and automatically open it in the associated software. Previously – this was often something that were noticed post-deployment of a virtualized software. All those reports suddenly generated an error – because the software were now virtualized and isolated. Not any more – App-V 5 will support AppPaths!

COM-isolation; <COM Mode=”Isolated”>
COM can be configured to now be available to the entire machine! Woho ! See the description above – COM is a different way of essentially doing the same thing. Another issue that previously was found out post-deployment and caused angry users to not like App-V – RESOLVED!

Scripts;<MachineScripts>
<PublishPackage>
<AddPackage>
<UnpublishPackage>
<RemovePackage>
Scripting seems to be completely remade – which is a good thing! First of all – the option of providing scripts to run at publishing or adding a package allows for a more controlled approach that can ensure prerequisites are available and ready. Since it is executed at the provisioning of a package – it is likely (haven’t tested it) that this will executed with elevated privileges. Perfect!

For the rest of the file – we have seen the configuration previously in the OSD-file, but the options are more elaborate and the XML-format always for an easy overview. Gone are the odd options, the unstructured layout – and hopefully all the undocumented possibilities!

&lt;!--
 This is your sample dynamic deployment configuration.  Use this to override machine wide and per user
 elements within your sequenced package.  The document is pre-filled with data from your sequenced package.
 Customize the document to fit your needs before adding your package.
 --&gt;
 &lt;DeploymentConfiguration PackageId=&quot;15ff5ef2-8a60-409e-9530-5535e541c028&quot; DisplayName=&quot;Winrar 4.11 x86&quot; IgnorableNamespaces=&quot;&quot; xmlns=&quot;&lt;a href=&quot;http://schemas.microsoft.com/appv/2010/deploymentconfiguration&amp;quot;&quot;&gt;http://schemas.microsoft.com/appv/2010/deploymentconfiguration&quot;&lt;/a&gt;&gt;
 &lt;!--

Per User Configuration

--&gt;
 &lt;UserConfiguration&gt;
 &lt;Subsystems&gt;
 &lt;!--OVERRIDE BEHAVIOR OF MANIFEST AND CONFIGURATION FILES
 Integration Subsystems can be enabled and disabled independently of the content.
 Thus if Shortcuts are enabled, The client will use the shortcuts contained within
 the manifest by default.

Each Integration Subsystem can contain an &lt;Extensions /&gt; node. If this child element
 is present, the client will ignore the content in the Manifest file for that subsystem
 and only use the content in the configuration file.

e.g. for the shortcuts subsystem,
 (A)
 if the user defined this in either the dynamic or deployment config file:
 &lt;Shortcuts  Enabled=&quot;true&quot;&gt;
 &lt;Extensions&gt;
 ...
 &lt;/Extensions&gt;
 &lt;/Shortcuts&gt;

Content in the manifest will be ignored.

(B)
 IF the user defined only this:
 &lt;Shortcuts  Enabled=&quot;true&quot;/&gt;
 Then the content in the Manifest will be integrated during publishing.

(C)
 note that if the user defines this:
 &lt;Shortcuts  Enabled=&quot;true&quot;&gt;
 &lt;Extensions/&gt;
 &lt;/Shortcuts&gt;

Then all the Shortcuts within the manifest will still be ignored.
 There will be no shortcuts integrated.--&gt;
 &lt;!--

Shortcuts

--&gt;
 &lt;Shortcuts Enabled=&quot;true&quot;&gt;
 &lt;Extensions&gt;
 &lt;Extension Category=&quot;AppV.Shortcut&quot;&gt;
 &lt;Shortcut&gt;
 &lt;File&gt;[{Programs}]\WinRAR\Console RAR manual.lnk&lt;/File&gt;
 &lt;Target&gt;[{AppVPackageRoot}]\Rar.txt&lt;/Target&gt;
 &lt;Icon&gt;[{AppVPackageRoot}]\Rar.txt&lt;/Icon&gt;
 &lt;Arguments /&gt;
 &lt;WorkingDirectory /&gt;
 &lt;Description&gt;Process RAR, ZIP and other archive formats&lt;/Description&gt;
 &lt;Hotkey&gt;0&lt;/Hotkey&gt;
 &lt;ShowCommand&gt;1&lt;/ShowCommand&gt;
 &lt;/Shortcut&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.Shortcut&quot;&gt;
 &lt;Shortcut&gt;
 &lt;File&gt;[{Programs}]\WinRAR\WinRAR help.lnk&lt;/File&gt;
 &lt;Target&gt;[{AppVPackageRoot}]\WinRAR.chm&lt;/Target&gt;
 &lt;Icon&gt;[{AppVPackageRoot}]\WinRAR.chm&lt;/Icon&gt;
 &lt;Arguments /&gt;
 &lt;WorkingDirectory /&gt;
 &lt;Description&gt;Process RAR, ZIP and other archive formats&lt;/Description&gt;
 &lt;Hotkey&gt;0&lt;/Hotkey&gt;
 &lt;ShowCommand&gt;1&lt;/ShowCommand&gt;
 &lt;/Shortcut&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.Shortcut&quot;&gt;
 &lt;Shortcut&gt;
 &lt;File&gt;[{Programs}]\WinRAR\WinRAR.lnk&lt;/File&gt;
 &lt;Target&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/Target&gt;
 &lt;Icon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/Icon&gt;
 &lt;Arguments /&gt;
 &lt;WorkingDirectory /&gt;
 &lt;Description&gt;Process RAR, ZIP and other archive formats&lt;/Description&gt;
 &lt;Hotkey&gt;0&lt;/Hotkey&gt;
 &lt;ShowCommand&gt;1&lt;/ShowCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;/Shortcut&gt;
 &lt;/Extension&gt;
 &lt;/Extensions&gt;
 &lt;/Shortcuts&gt;
 &lt;!--

File Type Associations

--&gt;
 &lt;FileTypeAssociations Enabled=&quot;true&quot;&gt;
 &lt;Extensions&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.7z&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.ace&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.arj&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.bz&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.bz2&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.cab&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.gz&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.jar&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.lha&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.lzh&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r00&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r01&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r02&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r03&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r04&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r05&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r06&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r07&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r08&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r09&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r10&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r11&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r12&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r13&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r14&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r15&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r16&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r17&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r18&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r19&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r20&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r21&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r22&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r23&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r24&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r25&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r26&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r27&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r28&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.r29&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.rar&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;ShellNew&gt;
 &lt;FileName&gt;[{AppVPackageRoot}]\rarnew.dat&lt;/FileName&gt;
 &lt;/ShellNew&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.rev&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR.REV&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR.REV&lt;/Name&gt;
 &lt;Description&gt;RAR recovery volume&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.1.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.tar&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.taz&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.tbz&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.tbz2&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.tgz&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.uu&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.uue&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.xxe&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.z&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR&lt;/ProgId&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Description&gt;WinRAR archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;Extension Category=&quot;AppV.FileTypeAssociation&quot;&gt;
 &lt;FileTypeAssociation&gt;
 &lt;FileExtension&gt;
 &lt;Name&gt;.zip&lt;/Name&gt;
 &lt;ProgId&gt;WinRAR.ZIP&lt;/ProgId&gt;
 &lt;ShellNew&gt;
 &lt;FileName&gt;[{AppVPackageRoot}]\zipnew.dat&lt;/FileName&gt;
 &lt;/ShellNew&gt;
 &lt;/FileExtension&gt;
 &lt;ProgId&gt;
 &lt;Name&gt;WinRAR.ZIP&lt;/Name&gt;
 &lt;Description&gt;WinRAR ZIP archive&lt;/Description&gt;
 &lt;DefaultIcon&gt;[{AppVPackageRoot}]\WinRAR.exe.0.ico&lt;/DefaultIcon&gt;
 &lt;ShellCommands&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ProgId&gt;
 &lt;/FileTypeAssociation&gt;
 &lt;/Extension&gt;
 &lt;/Extensions&gt;
 &lt;/FileTypeAssociations&gt;
 &lt;!--

URL Protocols

--&gt;
 &lt;URLProtocols Enabled=&quot;true&quot;&gt;
 &lt;!--

&lt;Extensions&gt;
 &lt;Extension Category=&quot;AppV.URLProtocol&quot;&gt;
 &lt;URLProtocol&gt;
 &lt;Name&gt;mailto&lt;/Name&gt;
 &lt;ApplicationURLProtocol&gt;
 &lt;DefaultIcon&gt;[{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE,-9403&lt;/DefaultIcon&gt;
 &lt;EditFlags&gt;2&lt;/EditFlags&gt;
 &lt;Description /&gt;
 &lt;AppUserModelId /&gt;
 &lt;FriendlyTypeName /&gt;
 &lt;InfoTip /&gt;
 &lt;SourceFilter /&gt;
 &lt;ShellFolder /&gt;
 &lt;WebNavigableCLSID /&gt;
 &lt;ExplorerFlags&gt;2&lt;/ExplorerFlags&gt;
 &lt;CLSID /&gt;
 &lt;ShellCommands&gt;
 &lt;DefaultCommand&gt;open&lt;/DefaultCommand&gt;
 &lt;ShellCommand&gt;
 &lt;ApplicationId&gt;[{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE&lt;/ApplicationId&gt;
 &lt;Name&gt;open&lt;/Name&gt;
 &lt;CommandLine&gt;[{ProgramFilesX86}\Microsoft Contoso\Contoso\contosomail.EXE&quot; -c OEP.Note /m &quot;%1&quot;&lt;/CommandLine&gt;
 &lt;DropTargetClassId /&gt;
 &lt;FriendlyName /&gt;
 &lt;Extended&gt;0&lt;/Extended&gt;
 &lt;LegacyDisable&gt;0&lt;/LegacyDisable&gt;
 &lt;SuppressionPolicy&gt;2&lt;/SuppressionPolicy&gt;
 &lt;DdeExec&gt;
 &lt;NoActivateHandler /&gt;
 &lt;Application&gt;contosomail&lt;/Application&gt;
 &lt;Topic&gt;ShellSystem&lt;/Topic&gt;
 &lt;IfExec&gt;[SHELLNOOP]&lt;/IfExec&gt;
 &lt;DdeCommand&gt;[SetForeground][ShellNewDatabase &quot;%1&quot;]&lt;/DdeCommand&gt;
 &lt;/DdeExec&gt;
 &lt;/ShellCommand&gt;
 &lt;/ShellCommands&gt;
 &lt;/ApplicationURLProtocol&gt;
 &lt;/URLProtocol&gt;
 &lt;/Extension&gt;
 &lt;/Extensions&gt;

--&gt;
 &lt;/URLProtocols&gt;
 &lt;!--

App Paths

--&gt;
 &lt;AppPaths Enabled=&quot;true&quot;&gt;
 &lt;Extensions&gt;
 &lt;Extension Category=&quot;AppV.AppPath&quot;&gt;
 &lt;AppPath&gt;
 &lt;Name&gt;WinRAR.exe&lt;/Name&gt;
 &lt;ApplicationPath&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationPath&gt;
 &lt;PATHEnvironmentVariablePrefix&gt;[{AppVPackageRoot}]&lt;/PATHEnvironmentVariablePrefix&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\WinRAR.exe&lt;/ApplicationId&gt;
 &lt;/AppPath&gt;
 &lt;/Extension&gt;
 &lt;/Extensions&gt;
 &lt;/AppPaths&gt;
 &lt;!--

COM

--&gt;
 &lt;COM Mode=&quot;Isolated&quot;&gt;
 &lt;IntegratedCOMAttributes OutOfProcessEnabled=&quot;true&quot; InProcessEnabled=&quot;false&quot; /&gt;
 &lt;Extensions&gt;
 &lt;Extension Category=&quot;AppV.COM&quot;&gt;
 &lt;COM&gt;
 &lt;x86&gt;
 &lt;Class&gt;
 &lt;ClassId&gt;{B41DB860-8EE4-11D2-9906-E49FADC173CA}&lt;/ClassId&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;InprocServer&gt;
 &lt;Library&gt;[{AppVPackageRoot}]\rarext.dll&lt;/Library&gt;
 &lt;ThreadingModel&gt;Apartment&lt;/ThreadingModel&gt;
 &lt;/InprocServer&gt;
 &lt;/Class&gt;
 &lt;/x86&gt;
 &lt;/COM&gt;
 &lt;/Extension&gt;
 &lt;/Extensions&gt;
 &lt;/COM&gt;
 &lt;!--

Objects

--&gt;
 &lt;Objects Enabled=&quot;true&quot; /&gt;
 &lt;!--

Virtual Registry

--&gt;
 &lt;Registry Enabled=&quot;true&quot;&gt;
 &lt;!--

&lt;Include&gt;
 &lt;Key Path=&quot;\REGISTRY\USER\Software\Foo&quot;&gt;
 &lt;Value Type=&quot;REG_SZ&quot; Name=&quot;Bar&quot; Data=&quot;NewValue&quot;/&gt;
 &lt;/Key&gt;
 &lt;Key Path=&quot;\REGISTRY\USER\Software\EmptyKey&quot;/&gt;
 &lt;/Include&gt;

--&gt;
 &lt;!--

&lt;Delete&gt;
 &lt;Key Path=&quot;\REGISTRY\USER\Software\Foo\BarDelete&quot;/&gt;
 &lt;/Delete&gt;

--&gt;
 &lt;/Registry&gt;
 &lt;!--

Virtual File System

--&gt;
 &lt;FileSystem Enabled=&quot;true&quot; /&gt;
 &lt;!--

Fonts

--&gt;
 &lt;Fonts Enabled=&quot;true&quot; /&gt;
 &lt;!--

Environment Variables

--&gt;
 &lt;EnvironmentVariables Enabled=&quot;true&quot; /&gt;
 &lt;!--

Services

--&gt;
 &lt;Services Enabled=&quot;true&quot; /&gt;
 &lt;/Subsystems&gt;
 &lt;!--

Applications

--&gt;
 &lt;Applications&gt;
 &lt;Application Id=&quot;[{AppVPackageRoot}]\WinRAR.exe&quot; Enabled=&quot;true&quot;&gt;
 &lt;VisualElements&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Icon /&gt;
 &lt;Description /&gt;
 &lt;/VisualElements&gt;
 &lt;/Application&gt;
 &lt;/Applications&gt;
 &lt;!-- User Scripts Example - customize and uncomment to use user scripts --&gt;
 &lt;!--

&lt;UserScripts&gt;
 &lt;StartProcess RunInVirtualEnvironment=&quot;true&quot;&gt;
 &lt;Path&gt;VFS\ProgramFilesX86\App\dosomething.exe&lt;/Path&gt;
 &lt;Arguments&gt;-WithArgs&lt;/Arguments&gt;
 &lt;Wait RollbackOnError=&quot;true&quot;/&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\Contoso\ContosoApp.EXE&lt;/ApplicationId&gt;
 &lt;/StartProcess&gt;
 &lt;ExitProcess&gt;
 &lt;Path&gt;VFS\ProgramFilesX86\App\UnDoSomething.exe&lt;/Path&gt;
 &lt;Arguments&gt;-WithArgs&lt;/Arguments&gt;
 &lt;Wait RollbackOnError=&quot;false&quot;/&gt;
 &lt;ApplicationId&gt;[{AppVPackageRoot}]\Contoso\ContosoApp.EXE&lt;/ApplicationId&gt;
 &lt;/ExitProcess&gt;

&lt;StartVirtualEnvironment  RunInVirtualEnvironment=&quot;true&quot;&gt;
 &lt;Path&gt;[{AppVPackageRoot}]\VFS\ProgramFilesX86\App\DoSomething.exe&lt;/Path&gt;
 &lt;Arguments&gt;-WithArgs&lt;/Arguments&gt;
 &lt;Wait RollbackOnError=&quot;true&quot;/&gt;
 &lt;/StartVirtualEnvironment&gt;

&lt;TerminateVirtualEnvironment&gt;
 &lt;Path&gt;[{AppVPackageRoot}]\VFS\ProgramFilesX86\App\UnDoSomething.exe&lt;/Path&gt;
 &lt;Arguments&gt;-WithArgs&lt;/Arguments&gt;
 &lt;Wait RollbackOnError=&quot;false&quot;/&gt;
 &lt;/TerminateVirtualEnvironment&gt;
 &lt;PublishPackage&gt;
 &lt;Path&gt;\\server\share\foobar.exe&lt;/Path&gt;
 &lt;Arguments&gt;-WithArgs&lt;/Arguments&gt;
 &lt;Wait RollbackOnError=&quot;true&quot; Timeout=&quot;30&quot;/&gt;
 &lt;/PublishPackage&gt;
 &lt;UnpublishPackage&gt;
 &lt;Path&gt;\\server\share\barfoo.exe&lt;/Path&gt;
 &lt;Arguments&gt;-WithArgs&lt;/Arguments&gt;
 &lt;Wait RollbackOnError=&quot;false&quot; Timeout=&quot;30&quot;/&gt;
 &lt;/UnpublishPackage&gt;
 &lt;/UserScripts&gt;

--&gt;
 &lt;/UserConfiguration&gt;
 &lt;!--

Machine Wide Configuration

--&gt;
 &lt;MachineConfiguration&gt;
 &lt;!--

Product Source URL Opt Out

--&gt;
 &lt;ProductSourceURLOptOut Enabled=&quot;true&quot; /&gt;
 &lt;Subsystems&gt;
 &lt;!--

Application Capabilities

--&gt;
 &lt;ApplicationCapabilities Enabled=&quot;true&quot;&gt;
 &lt;Extensions&gt;
 &lt;Extension Category=&quot;AppV.ApplicationCapabilities&quot;&gt;
 &lt;ApplicationCapabilities&gt;
 &lt;Reference&gt;
 &lt;Name&gt;WinRAR&lt;/Name&gt;
 &lt;Path&gt;Software\WinRAR\Capabilities&lt;/Path&gt;
 &lt;/Reference&gt;
 &lt;CapabilityGroup&gt;
 &lt;Capabilities&gt;
 &lt;Description&gt;WinRAR&lt;/Description&gt;
 &lt;FileAssociationList&gt;
 &lt;FileAssociation Extension=&quot;.rar&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.zip&quot; ProgID=&quot;WinRAR.ZIP&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.cab&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.arj&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.lzh&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.lha&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.ace&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.7z&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.tar&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.gz&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.tgz&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.uue&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.xxe&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.uu&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.bz2&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.tbz2&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.bz&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.tbz&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.jar&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.iso&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.z&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;FileAssociation Extension=&quot;.taz&quot; ProgID=&quot;WinRAR&quot; /&gt;
 &lt;/FileAssociationList&gt;
 &lt;/Capabilities&gt;
 &lt;/CapabilityGroup&gt;
 &lt;/ApplicationCapabilities&gt;
 &lt;/Extension&gt;
 &lt;/Extensions&gt;
 &lt;/ApplicationCapabilities&gt;
 &lt;!--

Machine Wide Virtual Registry

--&gt;
 &lt;Registry&gt;
 &lt;!--
 &lt;Include&gt;
 &lt;Key Path=&quot;\REGISTRY\Machine\Software\Foo&quot;&gt;
 &lt;Value Type=&quot;REG_SZ&quot; Name=&quot;Bar&quot; Data=&quot;Baz&quot;/&gt;
 &lt;/Key&gt;
 &lt;Key Path=&quot;\REGISTRY\Machine\Software\EmptyKey&quot;/&gt;
 &lt;/Include&gt;
 --&gt;
 &lt;!--
 &lt;Delete&gt;
 &lt;Key  Path=&quot;\REGISTRY\Machine\Software\Foo\BarDelete&quot;/&gt;
 &lt;/Delete&gt;
 --&gt;
 &lt;/Registry&gt;
 &lt;/Subsystems&gt;
 &lt;!-- Machine Scripts Example - customize and uncomment to use machine scripts --&gt;
 &lt;!--
 &lt;MachineScripts&gt;
 &lt;PublishPackage&gt;
 &lt;Path&gt;\\server\share\foobar.exe&lt;/Path&gt;
 &lt;Arguments&gt;-WithArgs&lt;/Arguments&gt;
 &lt;Wait RollbackOnError=&quot;true&quot; Timeout=&quot;30&quot;/&gt;
 &lt;/PublishPackage&gt;
 &lt;UnpublishPackage&gt;
 &lt;Path&gt;\\server\share\barfoo.exe&lt;/Path&gt;
 &lt;Arguments&gt;-WithArgs&lt;/Arguments&gt;
 &lt;Wait RollbackOnError=&quot;false&quot; Timeout=&quot;30&quot;/&gt;
 &lt;/UnpublishPackage&gt;

&lt;AddPackage&gt;
 &lt;Path&gt;[{PackageRoot}]\VFS\ProgramFilesX86\App\InstallDriver.exe&lt;/Path&gt;
 &lt;Arguments&gt;-DriverName Printer-Visibility Northamerica&lt;/Arguments&gt;
 &lt;Wait RollbackOnError=&quot;true&quot; Timeout=&quot;30&quot;/&gt;
 &lt;/AddPackage&gt;
 &lt;RemovePackage&gt;
 &lt;Path&gt;[{PackageRoot}]\VFS\ProgramFilesX86\App\InstallDriver.exe&lt;/Path&gt;
 &lt;Arguments&gt;-Uninstall&lt;/Arguments&gt;
 &lt;Wait RollbackOnError=&quot;false&quot; Timeout=&quot;60&quot;/&gt;
 &lt;/RemovePackage&gt;
 &lt;/MachineScripts&gt;
 --&gt;
 &lt;/MachineConfiguration&gt;
 &lt;/DeploymentConfiguration&gt;

App-V 5 beta Client

So – lets first clear out the base system that we will install the App-V Client on. It already has the App-V 4.6 SP2 beta on it – so we will simply try if the two can co-exist.

image

Starting the installer doesn’t seem to cause any problems (no pre-condition checks ?). The user interface seem to be very similar to the sequencer when it comes to install, and that is a really good thing. The previous experience of installing an App-V client was horrible and allowed for quite a few error prone mistakes. If you were setting up the App-V client previously – it was more realistic that there sub-optimal (that is an Microsoft term) values set for your deployment later on. So, lets investigate the client!

image

image

image

Wow – we are all finished installing the new App-V client and not a single option that related to the configuration of the client. Not even what directory it was supposed to be in!

image

An option on the start-menu is now presented. Considering that we are talking about enterprise customers for this product – removing this should certainly be an option. Lets hope that this start-menu shortcut will go away in the final product and we can let the user be never-knowing of how we do deploy software. They hired us to worry about that right?

image

The actual client interface looks a lot different. Wonder where they got their inspiration from?

image

After deploying the Winrar package that was previously made – to see any statistics update – the Refresh button had to be clicked. An annoyance, but a small one.

image

Using the MSI-file allowed for a silent install and pre-cached the entire application. Just the way we like it!

image

What a second – we just deployed a virtual application – and when I choose Open With. This is how Winrar is presented! WOW! We are off to a good start!

image

Looking at the shortcut on the start-menu – this is what executable is referenced;
%ALLUSERSPROFILE%\Microsoft\AppV\Client\Integration\15FF5EF2-8A60-409E-9530-5535E541C028\Root\WinRAR.exe

It seems that now we are simply virtualizing an application and NOT isolating it. This should allow for a whole new feature set of possibilities when it comes for the operating system to interact with virtual applications.

Also – the previous so annoying possibility of a naming conflict due toe Application Name + Application Version seems to be gone. A GUID-folder is now used to separate the package – truly effortless side-by-side deployment – HERE WE COME!

So far we have just brushed on the future possibilities of the product – lets see if we can’t dig deeper into it!

App-V 5 beta sequencer

Lets get started with the newly released App-V 5 beta sequencer and see what the administrative experience is of creating a package.

The installation of the sequencer is a pretty basic finish-installation (next, next, next – finish).

image

image

It seems that even in the future there will be possibility to leverage the Windows Update infrastructure – which should ease the process of rolling out updates. Considering that current hotfixes are released on a non-regular bases and aren’t automatically provided – there certainly is room for improvement before customer widely start adopting this feature. (and ehm, the fact that things sometimes broke when new versions of the client were released).

image

image

image

That’s it – the App-V 5 sequencer is now installed and ready to be used. Simple enough?

When first starting the sequencer – you will see a very familiar interface. The investments made in App-V 4.6 SP1 will glow through the entire UI – even though there are some major updates under the hood.

image

Since this is beta code – some options are greyed out or simply does nothing when beeing clicked. As we can see – Package Accelerators aren’t an option in the beta-release.

image

Reports will still be generated and give people a heads-up when performing the sequencing. This is one of the features producing real value for all customers and even the most experienced packager could benefit from this. Glad to see the concept is still around.

image

Previously – there was no technical difference between packages, however the sequencer user interface provided the possibility to create three different type of packages (you can see them below). I haven’t yet plowed through the entire thing, but there is a certain thought that there will not be three different type of packages. So – why present these options? Any customer that have looked at these have sometimes picked the wrong one and had to revert the entire snapshot and started over. This step – is unfortunately a bad one that still persists.

image

image

Here comes a major difference – compared to the previously looked at wizard. There isn’t a Q: drive available anymore – but you still have to pick a Primary Virtual Application Directory. Now, it isn’t optional. According to the below descriptive text – you are recommended to select the installation directory of your application. Well – I don’t know it? I had to drop the entire thing, install Winrar (which is the current choice of application to sequence), look-up the directory, revert the sequencer and then start over. I am suspecting that selecting a generic place (like, say… program files?) will be the lazy-mans option. Perhaps it will not make a difference? Perhaps the discussion in the future will not be about MNT / VFS, but wether or not selecting the ACTUAL installation directory or just a generic-place.

image

Look – no Q: drive!

image

Here comes some major differences – lets look at them more closely…

image

Reboots are processed quite differently and now actually does require a reboot. Good, bad? I can’t say – but it will defiantly be more like other packaging software around.

image

The actual monitoring mode seems to be around – basically the computer is your play ground and any change will be captured. In detail – no investigation has been done if there is a major difference in what will be captured or not. Lets assume that its new process and any changes invoked by those new processes.

image

The second step – allows you to run the software you have installed. This will allow for an easy identification of what software were captured and it seems to perform a really good job of filtering out any necessary shortcuts (help menus, uninstallers etc). When you run the software in this step – it is still not and will never be a test to verify if your package will be OK during deployment. Its simply a chance to preconfigure the software.

image

A final report is produced of what was noticed during the actual capture process that could cause an issue with our package.

image

For the sake of our testing – the customize option will be chosen. Mind though – for the very first time I am stating this;

I do believe you will be done at this step most of the time  and can safely choose Stop Now. There are quite a few reasons for this;
1. We will not have to worry about naming conflicts (more of this will be revealed when working with the client)
2. Per default – the package will run on any operating system.

image

The optimization for streaming (old feature block 1 – you know) – where you will determine the required bits and pieces of what the application _first_ needs to get started successfully if being streamed to a client. I can not repeat this often enough;
This is not a test of how the application will work on the client.

image

This is just a warning that the package will not be optimized for streaming. If you don’t stream – you don’t care.

image

As explained above – the default option is that the package will be allowed on all operating systems. This list also gives an indication of operating system-support. Windows XP is simply to old to be supported, I guess?

image

For the sake of blogging – the choice to continue to modify the package will be made as opposed to just wrapping it up.

image

A final summary of the reports generated previously.

image

The editing mode looks very similar to how it previously looked. However, a few key differences are there. No OSD-tab. So no OSD-files, right? We now have Package Files as opposed to Virtual File System. VFS could have been used still – right?

image

If looking at the options – we can see that several things relating to the configuration of the OSD-file are now missing. OSD-files really seem to be obsolete?

image

Parse items and exclusions items use a different way to make a package system independt – but the concept is still there.

image

image

As you can see – Package Files is the same as old Virtual File System. The content looks very similar and the variables now are resolved to the new style format to make them independent of the computer system.

image

Where the old OSD-tab used to be – there is now a summary of the applications and their configuration for deployment.

image

The actual package looks quite different. The .appv-file seems to contain any content. The rest if simply configuration for deployment or references of the reports generated.

image

However, the XML-style of configuration seems to stick around – but greatly enhanced. Seems that we can still do amazing things and we will have to options;

Deployment-configuration that will happen when the package is deployed to a machine

User configuration that will happen when an application is being started.

We will explore more of this later.

image

The .appv file is a zip-file. So if we rename it – we can just crack it open!

image

image