This script will disable monitoring in HPSIM for 1 hour.
Friday, March 27, 2015
Tuesday, March 24, 2015
APPV5 - Sequencing FolioView ICD/CCI with AppV5. (Issues with VFS not redirecting)
When sequencing FolioView 2012 or 2015 with AppV5 SP3, launching the application after sequencing generates an error:
---------------------------
Folio Views
---------------------------
No object handler is registered for this object type.
---------------------------
OK
---------------------------
---------------------------
Folio Views
---------------------------
No object handler is registered for this object type.
---------------------------
OK
---------------------------
This error seems to appear because VFS either isn't fully loaded by the time Views.exe is loaded so the program/dlls actually traverse down a non-virtual path, or they somehow break the AppV bubble and don't find whatever it is they are looking for. To correct this issue, you need to create a symbolic link to the VFS'd program directory from where the actual directory is supposed to reside. For instance, I sequenced FolioView to:
C:\Program Files (x86)\CIHI
To produce the error, I launch my command like so (this is what AppV5 automatically puts into the shortcut):
%ALLUSERSPROFILE%\Microsoft\AppV\Client\Integration\C05CC38A-D146-442B-B97F-89E8867DF0CE\Root\VFS\ProgramFilesX86\CIHI\CIHI_PUB_2015\Cihi32\Views.exe -L1033 -cSoftware\CIHI\2015\ICD10\English -i"\\fileserver\CTX_APPS\FolioView2015\cci_2015_eng.sdw"
I then get the error message.
If I mklink /d "C:\Program Files (x86)\CIHI" D:\AppVData\PackageInstallationRoot\C05CC38A-D146-442B-B97F-89E8867DF0CE\0CA628F4-AC24-4981-9B52-DA
B4445B8ECF\Root\VFS\ProgramFilesX86\CIHI
Then launch the application via the 'native' path:
"C:\Program Files (x86)\CIHI\CIHI_PUB_2015\Cihi32\Views.exe" -L1033 -cSoftware\CIHI\2015\ICD10\English -i"\\q9-v-citrix-lif1.healthy.bewell.ca\CTX_APPS\FolioView2015\cci_2015_eng.sdw"
It works without any error messages and without issue.
Here's a short clip of the error and the 'fix':
I did a stack trace of the error message and it comes up like so:
There are several calls that appear to look for files (nfomgr4, fcctrl4, mpr, davInt) that maybe generating the error message, but, I am not skilled enough at WinDBG at this time to be able to dig deeper. Either way, there appears to be a limitation within AppV5 that prevents this program from operating correctly. The same program works in AppV 4.6 without issue though, so it appears AppV5 sill has some work to go to get full compatibility with PITA applications.
Here's the application working fine in AppV 4.6. The application was installed identically for both AppV versions.
Friday, March 20, 2015
AppV5 - Data Precache script (used for XenApp)
This is the AppV5 Data Precache script we use to load our AppV5 packages on our Citrix XenApp servers. Because we use PVS and store the AppV package installation root folder on a persistent disk, we sometimes encounter issues that require us to 'clean up' the package installation root folder before the AppV5 packages will load. What this script attempts to do is setup AppV5 as if it's a new install, grab any packages from the publishing server, then, if sharedcontentstore is disabled, fully mount/load the packages.
AppV5DataPrecache.cmd
AppV5DataPrecache.cmd
PVS Target Device Update Script -- Supplemental File, disableddnsregistration.ps1
Our PVS servers are multi-homed with the Provisioning NIC on a seperate VLAN. Because of how our network is structured, our Provision NIC could register its DNS, but client computers would not be able to connect to it as it is a segregated network. This script sets the Provision NIC to NOT register to DNS.
PVS Target Device Update Script -- Supplemental File, Update_Tools.ps1
This script is used to keep ProcMon.exe, ProcExp.exe and Wireshark up to date and available as tools we can use to troubleshoot our vDisks. We store them within a folder on the C:\Swinst.
Update_Tools.ps1:
PVS Target Device Update Script -- Supplemental File, 1_pre-get_partition_and_netinfo.cmd / 2_post-remove_nonpresent_hardware_v33.cmd
These are two scripts we use to remove nonpresent hardware from device manager. These devices are generated when we update the Target Device Hardware and VMWare Tools and sit unused so are removed. If there is ever modifications to the vDisk that generate additional hardware this script ensures the vDisk is as clean as possible. You'll need devcon.exe as well.
1_pre-get_partition_and_netinfo.cmd
2_post-remove_nonpresent_hardware_v33.cmd
1_pre-get_partition_and_netinfo.cmd
2_post-remove_nonpresent_hardware_v33.cmd
PVS Target Device Update Script -- Supplemental File, WindowsUpdate.cmd / updatehfs.vbs
These are two scripts we use to update Windows on our PVS target devices using our PVS target device update script:
WindowsUpdate.cmd
updatehf.vbs -- please note there is an error in this script. Because of formatting with HTML, you'll need to search and replace "..script" with "script"
WindowsUpdate.cmd
updatehf.vbs -- please note there is an error in this script. Because of formatting with HTML, you'll need to search and replace "..script" with "script"
Citrix PVS Target Device Update script
Saman and I have created a Citrix PVS update script we use and run each time we update a PVS target device. This script has been generated after finding numerous issues that needed to be fixed after updating a PVS image. It includes fixes to issues with AppV5, PVS, XenApp 6.5, etc.
We also made the script to be able to be run automatically by accepting command-line parameters so that we can use it to do Windows Updates with PVS's automatic vDisk update feature.
I've removed email addresses and some specific application fixes that would only be relevant to our environment. So I've tried to generalize this the best I can. We tried to make this script dynamic so if you have a vDisk without AppV it will skip the features that require AppV, skip 64bit only features, etc.
I will post the supplemental scripts in more posts.
We also made the script to be able to be run automatically by accepting command-line parameters so that we can use it to do Windows Updates with PVS's automatic vDisk update feature.
I've removed email addresses and some specific application fixes that would only be relevant to our environment. So I've tried to generalize this the best I can. We tried to make this script dynamic so if you have a vDisk without AppV it will skip the features that require AppV, skip 64bit only features, etc.
I will post the supplemental scripts in more posts.