Sequencing SystemTools Hyena 12.5.2 with App-V 5.1

Copy the installation media locally and launch the sequencer with the EnablePVADControl parameter

Load a sequencing template if you have one – here’s a copy of the one I use

Ensure sequencer is clean and ready i.e. no restarts pending/previous packages captured etc.

Select the installer

Enter name and PVAD  – C:\System-Tools_Hyena_12.5.0_001A

Click Next

Enter the installation directory C:\System-Tools_Hyena_12.5.0_001A

Allow time for installation to complete

Tick the checkbox and click Next

Run Hyena

Enter the registration info

Click OK

Open RegEdit – Browse to HKCU\Software\Adkins Resource\Hyena\Win32 and set AskForNewsletterSignup to 1

Create a key under HKCU\Software\Adkins Resource\Hyena\Advanced called DisableUpdateChecker and set to 1

Click Next

Continue to modify package if you want to clean up further or modify shortcuts etc otherwise save the package

Microsoft App-V 5 Sequencing Template

When sequencing an application it’s handy to have a template with some common file and registry exclusions to save on the cleanup work afterwards.

Copy the xml content below into a text file and save with a .appvt extension. Load this template into the App-V Sequencer before packaging an application.

To load this template launch the Sequencer and select File > Load Template.

Template Code

<?xml version="1.0" encoding="utf-8"?>

<SequencerTemplate xmlns:xsd="" xmlns:xsi="">









<string>[{Common AppData}]\Microsoft\Crypto</string>

<string>[{Common AppData}]\Microsoft\Search\Data</string>




<string>[{Local AppData}]</string>



<string>[{Profile}]\Local Settings</string>










<string>[{AppVPackageDrive}]\System Volume Information</string>


<string>[{Local AppData}]\Temp</string>

<string>[{ProgramFilesX64}]\Microsoft Application Virtualization\Sequencer</string>


























<string>REGISTRY\USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings</string>













<string>REGISTRY\MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings</string>









<TargetOSes />


Clearing Hung/Disconnected Sessions Without Rebooting Windows Server 2012 R2

For this situation the setup consisted of four Windows Server 2012 R2 servers running Citrix XenApp 7.15. They host a desktop as well as several published applications.

Recently I had multiple users with disconnected sessions that just would not log off. I suspect the server was running into resourcing issues as there was a high number of sessions on there previously. As a result, these hung sessions meant that they could no longer launch the hosted shred desktop or any of the published applications. The usual course of action in this case is to reboot the server when appropriate however these users needed access sooner rather than later and I couldn’t reboot whilst other users are logged on to those same production servers.

I worked out a way around this and documented the steps below.

These are the offending sessions (below). The same processes hung within each one. Winlogon.exe appears to be the culprit. Attempting to end these via task manager doesn’t work and with taskkill results in – This is critical system process. Taskkill cannot end this process.

Log on to the affected XenApp server and run qwinsta from an elevated command prompt to find the session ID of the disconnected sessions (disc state). Note no username against the session.

Run query process /ID:[session_id] to get the PID of the hung winlogon.exe process within that session.

At this point I tried taskkill /f /t however this didn’t work.

Switching to powershell and using kill –id [PID] does the job effectively.

You can see that there are no longer any process running within that session.

I did this for all disconnected sessions.

I attempted a logoff however the sessions no longer exist, the entries in task manager must just be blank placeholders for the old sessions.

I closed and reopened task manager to confirm and sure enough the sessions disappeared.

I checked in with the users and there were able to launch published applications successfully again.

Hopefully someone finds this useful. Any comments welcome.


Sequencing Java Runtime Environment (JRE) 8u91 with App-V 5.1

There are various forums and websites around with information on this however I thought I’d share a step by step guide I created.

      1. Download JRE 8u91 x86 and run it on the sequencer VM
      2. Browse to %userprofile%\AppData\LocalLow\Oracle\Java\hre1.8.0_91 and copy the msi to C:\1
      3. Cancel the Java setup
      4. Launch the sequencer with the following command
      5. Open the sequencer and add the following path to the exclusions
      6. Click on Create New App-V Package then Create Package (default)
      7. Click Next
      8. Click Next
      9. Select custom installation and click next
      10. Enter a name and a PVAD which we’re NOT going to use
      11. Now run the msi using the following command. Give it some time to complete.
      12. Once complete, create the following registry key
      13. Create another registry key
      14. Use notepad (run as administrator) to edit the document under this location
      15. Add these two lines to the bottom and save
      16. Check I am finished installing and click Next
      17. Click Next
      18. Click Next
      19. Click Next
      20. Select Continue to modify package… and click Next
      21. IMPORTANT – Ensure this folder is set to override the local directory. This ensures that another other versions of Java (packaged or local) do not take priority over this version.
      22. IMPORTANT – Ensure write permission to the VFS is permitted. Allows the package to write the deployment.config file back to the VFS.

Group Policy

Get the Class ID of the Java Add-Ons by going into IE and Manage Addons.

Now create a Group Policy or create a new one and go to

Computer Configuration\Policies\Administrative Templates\Windows Components\Internet Explorer\Security Features\Add-on Management

Open the Add-on List GPO and pick Enabled then click Show

In the Value Name put the copied Class ID followed by a 2 in the next field.

0 = Disabled, 1 = Enabled (user can’t edit), 2 = Enabled (user can edit)



Sequencing Deltek Cobra 5.1 with Microsoft App-V 5.0

An issue arises following the sequencing and deployment of Deltek Cobra 5.1 whereby the application fails to launch. After some investigation it turned out that a file named DeltekCobraWorkstation.xml needs to exist within the Cobra 5 installation directory and MUST contain the correct hostname of the machine running the application or it will not launch.

Parameter – <UpdateServer>\\HOSTNAME\CobraWorkstation</UpdateServer>

Obviously this is a problem when using App-V as the hostname of the sequencing machine will be captured within this file during the sequencing process. The solution I used was to write a script which dynamically creates the required file with the correct hostname parameter.

Here is the script I created. You pass it the path and it will generate the file in that location. I didn’t really need to include the ability to pass the path as a parameter as the path ended up just being “..\Root\Cobra 5” however I didn’t realise this when first writing the script as I wasn’t aware that there was an inbuilt folder location that your scripts are stored in by default.

Set objFSO=CreateObject(“Scripting.FileSystemObject”)

‘Get computer name from env variables
set oShell = WScript.CreateObject(“WScript.Shell”)
set oShellEnv = oShell.Environment(“Process”)
computerName = oShellEnv(“ComputerName”)

‘Get file path from parameter and assign to strPath
strPath = WScript.Arguments(0)

‘Create text file overwriting any existing file
if right(strPath, 1) <> “\” then
objFSO.CreateTextFile strPath & “\DeltekCobraWorkstation.xml”, true
objFSO.CreateTextFile strPath & “DeltekCobraWorkstation.xml”, true
end if

‘Assign new text file to objFile variable
Set objFile = objFSO.OpenTextFile(strPath & “\DeltekCobraWorkstation.xml”, 2, True)

‘Write a line to the text file
objFile.Write “” & vbCrLf
objFile.Write “” & vbCrLf
objFile.Write ” \\” & computerName & “\CobraWorkstation” & vbCrLf
objFile.Write ” 5.01.746″ & vbCrLf
objFile.Write “”

‘Close the file now we’re done

I then added the following to the deploymentconfig.xml file and applied it to the App-V application via the management console.

                <StartVirtualEnvironment RunInVirtualEnvironment=”true”>
                                <Arguments>writexml.vbs “..\Root\Cobra 5” > %TEMP%\cobra-deploy-log.txt</Arguments>
                                <Wait RollbackOnError=”true” />

At first I couldn’t get it to work with the sequenced app so I read more into the scripting and found that I had it in the wrong place. I had it in the MachineConfig section under PublishPackage however it needed to be under the UserConfig scripting section and it had to be run as part of StartVirtualEnvironment as this would allow interaction with the Virtual Environment.

To run this script I needed to ensure that scripting had been enabled on the client machines.

Set-AppVClientConfiguration -EnablePackageScripts 1

After that I ran Cobra 5.1 again and the script ran perfectly and brought me to the Cobra logon screen.