Troubleshooting Virtualized Application

June 13, 2010 by Ramesh

Troubleshooting virtualized application could be a nightmarish experience if we don’t understand the usage of sfttray.exe

sfttray.exe comes in very handy to access the access the asset directory (Q Drive) in fact, that is the only way to get access into Q:

The below command is the way we do it
Sfttray /exe cmd “OSD"

Upon executing the above command, a new command (cmd) window opens which has access to the bubble (asset directory)

In the new command window, type
Explorer Q:

You will see a folder with a lock symbol on it meaning you can open it for troubleshooting purpose.

In the new command window, type
to see any services your application has. Needless to say you will have to move to the "services" tab

Continue Reading

Mount Point Installation vs VFS Installation

June 12, 2010 by Ramesh

There are two ways you can sequence an application. They are Mount point installation and VFS Installation. As a sequence engineer it is essential to be aware of the differences between the two types of install.
Mount Point Installation

                Installing an application to a folder in Mount point is considered to be an efficient way of sequencing application. A deeper look at the scanning operation performed during the sequencing operation would help us better comprehend the advantages of mount point installation.
·         More Efficient
As the application is installed to a mount point (Q:\), only required files are monitored by the sequencer. The tax on the sequencer to scan the entire C:\ is hugely removed in this case there by making it easily the efficient way to sequence an application.

VFS Installation

            Nonetheless, there are applications which refuse to install to a location other than C:\ (Virtual File System). Under these circumstances, the entire hard disk is scanned for system changes, making it much slower than mount point installation. Also, scanning the entire hard disk for changes would result in capturing files that are not actually used by the application.

From the above points, it is evidently visible that Mount point installation is the preferred method to sequence an application compared to VFS installation

Continue Reading

Sequencing Avaya Visibility Management Suite

by Ramesh

Upon sequencing “Avaya Visibility Suite Management”, though the OSD would have a definition for the environment variables, the virtualized app fails with a message saying “Unable to find J2RE_BIN”

To overcome this error, define the environment variables through the registry tab in HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Visually, this is how we do it
Reason for the failure
The specific reason why this application fails narrows down to badly written code which forces the application to look for the environment variables at system level.                                                 

The same issue is seen "Avaya Site Administrator 4.0" and can be fixed using the mechanism described above

Continue Reading

String And Multi String Values in Registry Table

by Ramesh

SequenThere is a stark difference between String and Multi string values in the registry table. Beyond a shadow of doubt it is comprehendible that they cannot be interchanged. To identify the multi string values in registry look out for [~] values. These values cannot be changed under any circumstances as doing so would result in a launch failure or break the functionality of the application.
Lets take a deeper look into this with an example of Business Objects

Business Objects

While sequencing Business Objects applications, it is absolutely essential to retain the registry data as it is for the reason that the application has lots multi string values and the functionality is dependent on these values.

While installing the application to a mount point (Q:) registry references should be updated accordingly. Business Objects, in this case, has registry data reading as “[ProgramFilesFolder]Business Objects[~]Data” so on and so forth. To get your virtual app working find and replace the above value with [INSTALLDIR][~]Data. Failing to do so would result in an incomprehensible error message

Continue Reading

Importance of Exclusion List

June 10, 2010 by Ramesh

Before sequencing any application, it is a very good practice to explore the source (most probably msi) to better comprehend the structure of installation of the files and registries and INI files as well. 

For Instance, by default, “CSIDL_PERSONAL” is excluded during the sequencing phase, meaning files installed to this location are never monitored.

Consider the below scenario, you try to sequence an application and deploy the same to App-V client enabled PC. You realize that shortcut doesn’t launch as it is supposed to (Worst case, you see an App-V related error i.e “Path not Found” etc)

Best Place to start investigating the issue would be
1.    Check the Location of the executable and make sure that it’s not listed in “Exclusion List”. To view the default exclusion list, Goto Tools -> Options -> Exclusion List.
2.    Check if the directory containing the executable is not listed in the exclusion list. If yes, you will have to re-sequence the application after removing the entry from the exclusion list.

Best Practice
Goto Tools -> Options -> Exclusion List,
Remove entries like “CSIDL_PERSONAL”, “CSIDL_LOCAL_APPDATA” and other pertinent entries and save it as default. Click “Apply” and close the sequencer and Open it again for sequencing. This setting will ensure that files installed to those respective locations would be captured during the sequencing process

Continue Reading

Security Descriptor

June 9, 2010 by Ramesh

By enabling Security Descriptors during sequencing an application, permissions on the windows file system are “pulled into the bubble”. The sequencer always captures security descriptors during sequencing, but only with the Enforce Security Descriptors setting checked, the client enforces them on the file system drive at runtime.

So if a users group on the Sequencer had read rights on the T:\APP-X folder, these rights are stored in the Virtual Environment. Once streamed and run on the client, the user cannot edit in this specific folder. In this manner you can set permissions on parts of the Virtual Environment and secure parts of being modified by a user
On the contrary, I would check this option ONLY when it is absolutely essential. Meaning, only for badly written software which expects specific security settings for proper functionality would precisely be the circumstances under which I would keep the option checked. When the security descriptors are turned off, the user is considered to have full rights on the asset directory which would be the ideal case.
USEFUL TIP you can turn off “Enforce Security Descriptor” by default by editing the “Default.sprj” file.

Open the “Default.sprj” file with notepad, search for “UseSecurityDescriptors” and set the value to “NO” and save the file.

Continue Reading

Sequencing Toad 10

June 8, 2010 by Ramesh

After sequencing “Toad 10” to asset directory, you might see the below errors while launching the application on Win7.

After clicking OK, the application shuts down.

In between the sequencing process, open the following files and update the hard coded paths in the file.

CSIDL_APPDATA\Quest Software\Toad for Oracle\SettingsLocation.ini
CSIDL_APPDATA\Quest Software\QSR\QSR.ini

Continue Reading

Sequencing Attachmate Extra X-treme 9.0

by Ramesh

Sequencing "Attachmate Extra X-treme 9.0" for Windows 7 could be highly annoying without the below tip.
The Sequenced application launches with a "Server busy/retry" message every time the Extra session based application shortcut is launched.

Issue: issue is with the Vendor code which is the causative factor for the error.

Solution: Installing the service pack which is available from the vendor at the time of sequencing would fix the error.
"Attachmate Extra X-treme 9.0" is on the certified list of applications that run on Windows 7 32 as well as 64 bit OS. The earlier versions of the application DOES NOT run on Windows 7.
NOTE: Windows Compatibility list doesn't talk about requirement of the service pack. The list of Windows 7 compatible applications can be found using the below link

Continue Reading

Environment Variables in Virtual App

by Ramesh

As we all know that Environment variables play a vital role in many applications, the way they are handled in a virtual app is radically different from that of a physically installed application.
   Below mentioned points discriminates behavior of virtually defined environment variables from that of physical ones.

• The Environment Variable defined exists ONLY when the application is active. The variables are cleared once the application is closed.

• The environment variable inside the virtual app will override the values defined by the Operating system.

• All the variables are treated as User variable even if gets captured as a variable defined at system level.

This is how an environment variable is defined inside OSD
                  <[ENVIRONMENT VARIABLE="TEMP"]>Value<[/ENVIRONMENT]>

Multiple environment variables can be defined within the tag using the above syntax. Needless to say that above XML content will return a parser error because of "[". Removing this would get the us the job done

Continue Reading

Virtualized App - Feature Block

June 2, 2010 by Ramesh

Any virtualized application is divided into two blocks namely “Feature Block 1” and “Feature Block 2”.

What data goes into Feature block 1 is defined by the operations performed by the user during the launch phase of the sequencing process. It is a wise idea to launch as much functionality as possible within the application which would ensure a bigger FB1 (Feature Block 1) size. Rest of the application would go into FB2 (Feature Block 2). FB1 is the minimum necessary block of data required for successful launch and FB2 is streamed to the client PC as the user starts using the application

There are circumstances where you might not want to launch the shortcut during the launch phase which would set the size of FB1 to “0” (Zero). Under these circumstances, entire application is streamed to the user upon first launch, thereby making it evidently slower than having a non-zero sized FB1.

Continue Reading

Block Size, Compression Algorithm

June 1, 2010 by Ramesh

Below mentioned are the major changes in AppV 4.6
• Disappearance of the option to select the block size.
After an in-depth analysis, Microsoft decided to set “64kb” as the default block size for the applications sequenced using AppV 4.6 “Which CANNOT be changed”
Block Size internally defines the amount of the data that is transmitted in out-of sequence packets when a user accesses the part of the program which was not part of the initial launch. This means less number of blocks will be requested by the user as the block size is more.

• Monitoring page is redesigned
There is a new progress bar in the background during the sequencing phase. The presence of a progress bar indicates that the system changes are being captured. This gives a better understanding to the sequence engineer as against the minimized sequencing window in App-V 4.5

Compression algorithm allows us to compress the size of the SFT file. An uncompressed SFT file would take relatively longer time to stream over the network as against a compressed SFT. When you compress the SFT, though the streaming would be much faster, the data requires a decompression algorithm at the client which is CPU intensive. The default option is “Not Compressed

Continue Reading