Zero functions are recorded when recording a web application in a browser.


There a number of possible causes of failure to record a web application.  The most common issues and their resolution are as follows: 

Existing browser instance
SilkPerformer may not record browser traffic if an existing instance of the browser is open before the recorder is launched. Before recording, shut down existing instances of the browser.

Application profile specifies the 64bit version of Internet Explorer (since Silk Performer 16.0, you can now also record 64-bit applications, so this only applies to earlier versions)

SilkPerformer used to be unable to record the 64bit version of Internet Explorer and the 32bit version needed to be specified at "SETTINGS | SYSTEM | RECORDER | APPLICATION PROFILE".

If you are using a 64bit operating system the correct path to the 32bit version of Internet Explorer is usually "C:\Program Files (x86)\Internet Explorer\iexplore.exe".

Internet Explorer 10 and 11 on a 64bit version of Windows 7 or Windows 8 and Windows 8.1
There is a known issue where the 64bit version of Internet Explorer 10 is launched even though the 32bit version is specified.
This occurs because the "TabProcGrowth" registry entry is set to 0, meaning tabs are set to run in the same process as the manager process (64-bit), rather than opening a new process for each tab (32-bit). You can fix this by changing the registry entry here:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\TabProcGrowth

Set it to something greater than 0, restart IE, and you should see normal behavior resume.
To check whether the 32bit or 64bit version of Internet Explorer is running, open task manager when Internet Explorer is running.
The Internet Explorer processes are listed as either:
iexplore.exe - this is the 64bit version
iexplore.exe *32 - this is the 32bit version

Internet Explorer 11 on a 64bit version of Windows 8.1

Disable Enhanced protected Mode in Advanced Internet Options

Incorrect setting of the registry key AppInit_DLLs
The SilkPerformer Recorder uses the registry key AppInit_DLLs. If the entry for this key is incorrect the Recorder may not record traffic. To verify its setting:

  1. From the Start button select Run
  2. Enter regedit and click OK 
  3. Expand the registry Key HKEY_LOCAL_MACHINE | SOFTWARE | Microsoft | Windows NT | CurrentVersion | Windows | AppInit_DLLs 
  4. Right Click AppInit_DLLs 
  5. Select Modify 
  6. Check that the value is exactly "qaphooks.dll" 
    Make sure that there are no trailing characters e.g. "," or " " (spaces). Although this should resolve the issue, you may need to check step 2 below as the qaphooks.dll registry setting can change some default SilkPerformer settings. For a 64 bit Operating Systems, the AppInit_DLLs registry key may be required in the registry location:[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows]

If AppInit_DLLs is not already in that registry location with its value set to exactly "qaphooks.dll" you must create it.

Incorrect application profile or proxy set up 
To verify the setup of your application profile 

  2. Select the Application Profile for the browser you are using 
  3. Click Edit 
  4. The Application Path should point to the browser executable
    The application type should be the type of the browser 
  5. In the PROTOCOL SELECTION area of this dialog, ensure that 'Web' checkbox is checked. The 'Web Settings...' button will then become active; 
  6. Select Winsock and the ws2_32.dll
    If the Winsock and the ws2_32.dll options are disabled (greyed out), please delete and recreate the PERFHK_NAME7x system variable. (START | SETTINGS | CONTROL PANEL | SYSTEM | ADVANCED | ENVIRONMENT VARIABLES | SYSTEM VARIABLES)

To verify the setup of your proxies

  2. Highlight SOCKS and click Edit 
  3. Protocol should be Socks 
  4. Listen port should be 19180 by default 
  5. Remote host should be "Any" Open SETTINGS | SYSTEM | RECORDER | PROXIES 
  6. Highlight HTTP and click Edit 
  7. Protocol should be HTTP 
  8. Listen port should be 8080 
  9. Remote host should be "Any"

Incorrect browser Settings
For example, for Internet Explorer

  2. Automatically Detect Settings should be checked. 

Verify that the settings for Use automatic configuration script and Use proxy server are correct for your environment

Conflict with other Software 
Any software which hooks into the application being recorded, or the operating system, can interfere with SilkPerformer recording. To resolve this you may need to take different approaches depending on nature of the conflict. This can entail stopping the software’s services, modifying its settings or uninstalling it.

Conflicting software can generally be identified by use of a tool such as Microsoft’s SysInternals Process Explorer which will show the DLLs loaded by the operating system and by the application.  For details on use of Process Explorer, refer to Microsoft.

The following are some of the applications that have been known to conflict with SilkPerformer:

  • Google Toolbar Browser Addon 
  • Aventail remote control software (similar to PC Anywhere) 
  • Netinstaller Installer program 
  • Net Medic (Hooks Browser to provide performance data) 
  • NVDesk32 Video driver 
  • Penicillin AntiVirus software 
  • Zoftech 
  • Babylon Translation software 
  • Cisco Security Version
  • Sophos Anti-Virus
  • F-Secure Client Security  

Entries in the Extend.ini file
Open file EXTEND.INI using notepad. This is normally found in the SilkPerformer root directory. The file should contain only the following:

// BEGIN extend.ini header
// (do not delete these header lines)
// END extend.ini header

If necessary remove any other information and save the file.

The SilkPerformer listening port used by another application
To find what ports are being used on your system:

  1. Open SilkPerformer and start the recorder 
  2. Press Ctrl & Z (This will expand the recorder's GUI) 
  3. Click on the Log tab 
  4. Press Ctrl & D (This will clear the log and show the current status of the recorder's listener port) 
  5. If you see an error similar to the following then another application is using the same port as the recorder.

    Error(#0, Bind: Could not start listening on port 8080, maybe there is another application listening on the same port)

In order to change the listener port in SilkPerformer:

  2. Select the SOCKS or HTTP proxy as appropriate and click Edit
  3. Change the Listener port to something such as 19123


Incorrect setting of the registry key BrowseNewProcess
The registry key BrowseNewProcess specifies whether a new process is created for each instance of Internet Explorer. If the entry for this key is not "yes" all instances of Internet Explorer and Windows Explorer that you start are run in the same process. As a result, the Recorder may not be able to hook IE correctly.

This registry key was changed by selecting Launch browser windows in a separate process option in the Tools | Internet Options | Advanced tab of versions of Internet Explorer before IE 5.01 and will probably only effect such versions.

In order to verify that this registry key is set correctly:

  1. From the Start button select Run
  2. Enter regedit and click OK
  3. Expand the registry Key HKEY_CURRENT_USER | Software | Microsoft | Windows | CurrentVersion | Explorer | BrowseNewProcess
  4. Right click BrowseNewProcess
    Select Modify
  5. Check that the value is exactly "yes"

Repeat this process for the registry Key HKEY_LOCAL_MACHINE | Software | Microsoft | Windows | CurrentVersion | Explorer | BrowseNewProcess

See the Microsoft knowledge base for additional information on this setting.


Incorrect version of perfShkXX.dll.install
The file perfShkXX.dll.install - where XX is the version of SilkPerformer - is used during recording.  In certain instances the file exists in the System32 folder, or in a subfolder of Documents and Settings\Local Settings, when it should have been removed after recording.  If the file does exist in either of these locations, it should be deleted when the recorder is closed.  A reboot may be necessary for the change to take effect.

Note: The source perfShkXX.dll.install is located in the SilkPerformer installation directory, and should not be deleted.

New Signing Code requirement in Windows 7 and Windows 2008 R2
AppInit_DLLs on Windows 7 and Windows Server 2008 R2 has a new code-signing requirement. This can result in zero functions being recorded by the SilkPerformer recorder.  To work around this issue, the Registry key ‘RequireSignedAppInit_DLLs’ must be set to 0.


Disable In-Private Browsing

Disable Secure Boot in Windows 8 and Windows 2012


Comment List