Quantcast
Channel: Silk Performer
Viewing all 4084 articles
Browse latest View live

Wiki Page: Why would Browser Driven recordings fail after upgrading SilkPerformer?

$
0
0

When creating a new Silk Performer project (either in the same version or after upgrading) the Active Profile settings will be lost from the original project.  This is particularly important with the Browser Driven approach as you are likely to have ignored / preferred specific DOM Elements for record.

In order to solve this, you can compare these settings between versions / projects or Export your original project complete with profile settings:

2641528


Forum Post: RE: No solution to "There is a problem with this website's security certificate"

$
0
0

The article which you have referenced is specific to testing at the protocol level and will have no affect when testing with the Browser Driven approach.  With the Browser Driven approach, instead of providing a certificate (i.e. the Borland cert), the certificates from the browser are used.

Instead, could you try following the advice in the following knowledge article, which is specific to the Browser Driven approach, and let us know if this helps?

community.microfocus.com/.../18561.unable-to-progress-beyond-the-certificate-warning-when-recording-a-secure-application-with-silkperformers-browser-application.aspx

Forum Post: RE: How do I clear old searches from the seach drop down list in Silk Performer Workbench?

$
0
0

I see the previously stored search terms are specifically in [HKEY_CURRENT_USER\Software\Silk\SilkPerformer\9.5\Silk Performer\Workspace\MFCToolBar-41] as hex - "ThinkTime(" ends up being "54,68,69,6e,6b,54,69,6d,65,28" - will it always be in the same subkey so one would not have to blow the entire workspace away?  Why store the values as hex?

Wiki Page: Silk Performer 9.5 compilation error “Compile error SYN124: unexpected token in this section” after using Customize Value wizard

$
0
0

Problem:

Silk Performer 9.5 returns compilation error message: “Compile error SYN124: unexpected token in this section” after using “Customize Value” wizard.

Resolution:

This error happens only when there is no empty line between the use "kernel.bdh" line and the var declaration line and after the Customize Value... wizard is used to create new parameter from a customizable value.

This error message can be reproduced in Silk Performer 9.5 with following below steps:

1) Open a test script in Silk Performer workbench.

2) Ensure that there is no empty line separating the ”kernel.bdh” line and the “var” declaration line. Below snippet shows such an example:

3) Move the mouse to the some customizable value (for example, a string value) and select Customize Value… from the context menu.

4) Select Create new parameter and click Next.

5) Select Parameter from Multi-column Data File and click Next.

6) Select the column that you like to use and Click Next.

7) Choose a row selection order, for example, Random and click Finish.

Upon completion of this customization, you will see in the modified script that Silk Performer had inserted new variables into the script. However, there is an issue with the positioning of the variable. We will use the following example to illustrate. In the sample below, the newly inserted hAirports1 variable (a file handle to the data file) is not placed under the var section.                    

 

Without the var declaration in front of the “hAirports1        : number; “ line.  Silk Performer will report the error in this article when the script is compiled.The same problem also happens in Silk Performer 9.0.

The workaround solution is to ensure that one empty line exists between the ”kernel.bdh” line and the “var” declaration in the script before running the Customize Value wizard. This issue will be fixed in the next major release.

SI: 2610826

 

Forum Post: RE: "This program cannot display the webpage" in true log while replaying.

$
0
0

Hi Steve,

We can only publish the list of fixed issues when the hotfix has actually been released.

Have you any specific issues in mind?

Best Regards,

Neil

Wiki Page: How can I create a recording rule that will suppress the recording and scripting of calls to a particular URL?

$
0
0

If you need to prevent calls to particular URL being recorded on a regular basis e.g. you may want to suppress requests to Microsoft Windows updates or to suppress calls to a third party site e.g. banner ads, which you do not wish to test under load, then you may want to create a recording rule to suppress recording.

For full details on recording rules please see resolution 19289.

Below is an example of a recording rule that will prevent calls to http://gmo.borland.com being recorded. To make this rule work you will need to copy it to a text editor and save the file with an .xrl extension. You will need to copy this rule into either the Documents directory (which you need to create) of the current project (which means it will only apply to this project) or place it in the SilkPerformer"s Working\Include directory (which means the rule will apply globally across all projects).

If you then try to record a script against http://gmo.borland.com/ you will see that no functions are recorded.

                     Suppress Recording Of http://gmo.borland.com/      true      SuppressRecording                      Http.Initial.Request.Url         gmo                              

The attributes in the rule above are as follows :

- Defines the type of rule. This rule type allows you to manipulate the recorder and thus affect the outcome of the recorded script. It allows you to override the default heuristics the recorder employed prior to this rule type and still employs in the absence of such rules.

- is simply a name to refer to the rule as. This name will appear at the beginning of the record.log file, to let you know if the rule has been loaded correctly or not.

- is used to toggle the rule on or off, if this is set to True the rule will take effect, if it is set to false it will not.

- Specifies what the recording rule should do. In the this case the "SuppressRecording" action is used, this Action can be used to suppress the recording of individual HTTP requests. Please note that this action is only available in SilkPerformer 6.5.1 onwards.

- Tell the SilkPerformer recorder under what conditions the Rule should be applied.

- specifies what part of the request that you apply this rule to. In the example above it is applied to the initial request URLs.

- In here you need to enter the text of the URL that you want to suppress recording of. In the example above we have entered "gmo" this will mean that any URL that contains "gmo" will not be recorded by the SilkPerformer recorder.

Old KB# 18205

Wiki Page: When I get the message "Error limit of agent reached - no more errors will be logged, no new TrueLog files will be created!" How do I change the number of errors logged?

$
0
0

This message means that the maximum number of errors has been reported. This setting can be changed in the following location:

SETTINGS | SYSTEM | WORKBENCH | RESULTS | REPORT UP TO X MESSAGES PER AGENT

It is also possible to adjust the settings to only report severe errors:

SETTINGS | ACTIVE PROFILE | REPLAY | RESULTS | TRUELOG | GENERATE TRUELOG ON ERROR FOR (SEVERE ERRORS)

Old KB# 19116

Forum Post: RE: How do I clear old searches from the seach drop down list in Silk Performer Workbench?

$
0
0

I don't recommend deleting the particular subkey, as this seems to confuse the layout manager and scrambles all the toolbars across the workbench on my machine.

I guess these are standard MFC controls, so we have no influence on how the values are stored.


Wiki Page: What should I consider when deciding whether it will be possible to load test an application using TCP/IP functions?

$
0
0

NOTE: High level support for Terminal Emulation was introduced in SilkPerformer 7.3. In order to make use of this support it is recommended that you upgrade to The information below is based on earlier versions of SilkPerformer.

Also, since the introduction of GUI-level testing in SilkPerformer 2006 Release 2, it may be possible to loadtest applications that are not supported by SilkPerformer on the protocol- or API-levels by recording on the GUI level. Please refer to the GUI-Level Testing Support section of the Other Supported Environments chapter in the SilkPerformer User Guide for full details.


TCP/IP is designed to handle underlying Network traffic, the protocol offers a range of services such as full error detection and correction, flow control, sequencing and its Interoperability means that it is the one of the most common protocols used. The TCP/IP protocol is the lowest level of traffic that can be captured by the SilkPerformer Recorder.

In order to decide whether or not you will be able to load test an application using SilkPerformer TCP/IP functions you have to consider three things:

  1. The amount and type of data returned by the Server:

    When you record HTTP traffic between a Client and a Server at TCP/IP level what you will see generated in the BDF script will be mainly client requests made to a server via the function "WebTcpipSend" function. These client requests will be shown in ASCII text format as Request Headers.

    Every Client Request will be followed by a Response from the Server, this can be seen in the form of functions such as "WebTcpipRecvExact". The purpose of this function is to retrieve an exact number of bytes from the server or an error will be flagged, however this will cause problems on replay of the script if the server response is dynamic in size. This problem can be easily rectified if you replace the function "WebTcpipRecvExact" with "WebTcpipRecvUntil" function which retrieve the response from the server until a particular pattern is found. It is critical that you distinguish exactly what this pattern is. It is possible to implement Recording Rules for the SilkPerformer Recorder to avoid this type of behavior occurring during the Record process, see below for further details.

  2. Determine if the generated TCP/IP Recorded BDF script is suitable for replay in SilkPerformer

    In essence by recording at TCP/IP level you are able to capture the proprietary traffic sent by the Custom application which is carried by this underlying protocol. However you have to consider the type of traffic generated, for example you should note that not all protocols are practical at the TCP/IP level, especially complex standard protocols (e.g. JDBC or RMI), or traffic that is encrypted using non-SSL encryption.

    There are three questions a user should ask when deciding if it makes sense to replay a generated TCP/IP Recorded script in SilkPerformer.

    • Question:Is the generated traffic readable or does it use a character set other than ASCII?.

      Answer: If on inspection of the script the generated traffic appears not to be ASCII then a user should be aware of the validity of replaying the script without customization; the reason being is that the script in its current format is un-readable and thus a user may be unaware if customization is required. To combat this problem SilkPerformer provides character mapping functions which can easily be implemented in SilkPerformer"s BDL language. For example a user can build a function "EBCDIC2ASC" which will convert EBCDIC characters to ASCII; thus allowing a user to perform any necessary manipulation and customization which may be required to enable successful replay.

      The following below is an example of TCP/IP traffic recorded by SilkPerformer which requires character conversion:

      WebTcpipSendBin(hWeb0, "\h00000000007DD7D311D57CA2899392F0"// }WS U|" p"\hF0F14011D74CA2899392F0F0F140FFEF", 32); // pq@ WL" ppq@ o WebTcpipRecvExact(hWeb0, NULL, 645);

      Customization of such a script may at first appear daunting; the server responses (not shown in the above example) look much like the client request in they do not include a single readable character. However the reality is that customization of such a script is fairly simple; in the above example the server is an IBM mainframe that uses the EBCDIC (Extended Binary Coded Decimal Interchange Code) character set rather than the more familiar ASCII character set. There is a simple one-to-one mapping between these two character sets, which can be implemented as a SilkPerformer function. For further detailed information on performing character mapping please refer to the Whitepaper "Load Testing Legacy and Custom TCP/IP Based Protocols with SilkPerformer".

    • Question:Is the traffic encrypted with a custom encryption algorithm (i.e., one that doesn"t rely on SSL, which would automatically be supported by SilkPerformer)?.

      Answer: The encryption/decryption routines should be re-implemented in SilkPerformer script by implementing the logic of the algorithm in the BDL language. Alternatively the encryption/decryption algorithms could be accessible in SilkPerformer via a DLL or a SilkPerformer framework (e.g., Java Framework).

    • Question:Does the traffic contain any strings?

      Answer: If the traffic generated in the script only consists of numbers which are sent as binary then a user will normally not have to worry about customization or string conversion.



  3. Customizing session / data hard-coded in the script

    It is important to note that the majority of TCP/IP based protocols rely on TCP/IP connections between server and client to keep the communication open and active during sessions, as a result of this they do not contain any session ID"s. Therefore the problems that can arise when customizing load test scripts for stateless protocols such as HTML often don"t exist; so a user may not need to worry about parsing session id"s. However with every rule there are of course exceptions, so a user should always check the generated TCP/IP script and look out for any session ID"s that may be being sent to the server (normally a constant number which is sent to the server for each request). A good way to do this is to use the Compare Wizard in the TrueLog Explorer to identify any differences in the server response data. If any session information is found a user can write out the server response by adding the parameter "sData" to any WebTcpIpRecv function; there is a resolution listed below which explains in detail how to customize binary data in SilkPerformer BDF script.

    It is also essential to have access to someone who really understands the protocol used for communication. In order to manipulate the script to enable successful replay. For example some of this proprietary traffic will contain hexadecimal or binary data which will then need to be interpreted in order to customize. This means understanding how connections are established, the format of requests, being able to understand any encryption, how requests are terminated etc. If you do not have a clear understanding of this it is very likely that your TCP/IP script will fail on replay.

  4. Creating "Advanced Recording Rules" for the TCP/IP protocol to be used by the SilkPerformer Recorder.

    Recording rule files are written in XML, have a .XRL file extension, and can be stored either in the include directory "..\SilkPerformer 6.5\Working\Include\" for global rules, or the current project directory"..\SilkPerformer 6.5\Working\Projects\MyProject\Documents" for project specific rules.

    Without SilkPerformer recording rules, the server responses are scripted by the "WebTcpipRecvExact() function calls. The recorder uses the TCP/IP to detect user defined termination sequences, if detected the Recorder generates functions which are better suited to handling dynamic server responses.

    There are two types of TCP/IP Protocol Rules that can be created.

    TcpRuleRecvProto
    This rule is used to describe length based protocols. Length based protocols are protocols in which the number of bytes received from the server can be extracted from a fixed location in a protocol header. This rule type is specified by XML nodes with the name TcpRuleRecvProto.

    Using this rule the number of bytes can be extracted from the protocol header at offset "LengthOffset" using "lengthLen" number of bytes. This can be interpreted by specifying the byte order of the packet-length section using the Little-endian representation means that the most significant byte is at the end. At the opposite end is the (default) Big-endian which means that the most significant byte is at the front of the packet-length section.

    There is also added attributes and conditions which can be applied in order to specify exactly where the rules should be applied this is beneficial when a user wishes to exclude the detection of a protocol where the server responses coincidentally resemble protocol specifications.

    TcpRuleRecUntil
    This rule is used to describe protocols in which the end of a server response can be detected by a terminating sequence of bytes. This rule type is specified by XML nodes with the name TcpRuleRecvUntil.

    The main attribute required when using this rule is the terminating byte sequence of the protocol however you can added conditions in the same manner as the other Recording Rule and you can also use the attribute to "ignore white spaces" which will mean the recorder will ignore white spaces when searching for the terminating data.

    Further details on Recording Rules and testing custom TCP/IP based protocols are located in the whitepapers called Rule-Based Recording With SilkPerformer and Load Testing Legacy and Custom TCP/IP Based Protocols with SilkPerformer which can be found by going to:

    "START | PROGRAMS | SILKPERFORMER 6.5 | DOC | ADVANCED CONCEPT BOOK"

For information on customizing the binary data generated by TCP/IP traffic please view the following resolution - How can I customize binary data in my script ?

Old KB# 19199

Wiki: Silk Performer Knowledge Base

Forum Post: RE: Element not displaying in Browser Application

$
0
0

We have an SP 9.5 setup out on a VM in case we want to run tests from there instead of locally. Interestingly endogenous, it all sees to work fine from there, it seems to be pointing to something I have set up locally.

Wiki Page: View the k-th percentile of a set of measurements with Silk Performer 9.5

$
0
0

Problem:

The Overview report, generated after a load test, presents some Percentile charts along with the values for 50th, 90th, 95th, and 99th percentile displayed. Is it possible to include additional Percentile charts and how to determine the k-th percentile using Silk Performer 9.5?

Resolution:

To include additional Percentile charts, the function “MeasureCalculateRawPercentiles” should be declared in the TInit transaction along with appropriate Measurement Functions to set or start/stop the measure. Following is a code snippet for a timer measure:

transaction TInit
begin
    MeasureCalculateRawPercentiles("Home page", MEASURE_TIMER_RESPONSETIME);

transaction TMain
begin
      MeasureStart("Home page");
      WebPageUrl("http://"+serverAddress+"/ShopItV60", "ShopIt - Greetings");
      MeasureStop("Home page");

Refer to Silk Performer Help for definition of MeasureCalculateRawPercentiles as well as an example for a custom counter measure.

Following is a screenshot of two percentile charts as shown in the Overview report:

To find out the k-th percentile (other than those shown in the report) without estimating it from the graph, open the baselineReport.brp file using a text editor.

And using the text editor search facility, locate the Percentile Data of the desired measure by searching for the name of the measure or the “PercentileData” keyword. 

Following is a sample of the Percentile Data appearing in the baselineReport.brp:

In Silk Performer 9.5, there are one hundred markers, identified by Marker nr=”0”, Marker nr=”1”, etc.

Marker nr=”0” indicates the 1st percentile;

Marker nr=”24” indicates the 25th percentile;

Marker nr=”49” indicates the 50th percentile;

Marker nr=”74” indicates the 75th percentile; and

Marker nr=”99” indicates the 100th percentile

Background

  • Percentile graphs enable you to analyze the percentages of actions that execute within certain time limits. With the help of percentile graphs you can determine the percentage of transactions, page-load times, and custom timers that meet the performance criteria defined for your system. Additionally, by considering the shape of a graph, you can analyze the distribution of execution times.

Additional Notes

  • Silk Performer 9.5 offers a more precise percentile calculation than earlier releases. To support this improved implementation, a new function named MeasureCalculateRawPercentiles is released and the original function MeasureCalculatePercentiles is deprecated. Executing the function MeasureCalculatePercentiles in Silk Performer 9.5 will internally invoke the MeasureCalculateRawPercentils with default parameters. This is mentioned in Silk Performer 9.5 release notes. 

Forum Post: RE: Element not displaying in Browser Application

$
0
0

Hi Neil. Attempting to scroll of resizing the browser didn't make any difference. Here are the IE versions:

My laptop

IE 9.0.8112.16421

VM

IE 8.0.6001.18702

I believe compatibility mode is enabled, if I'm looking in the right place.

Tony

Forum Post: RE: "This program cannot display the webpage" in true log while replaying.

$
0
0

No, just wondering what was in the pipeline.

Wiki Page: How do I resolve Citrix Windows Synchronization errors?

$
0
0
Citrix Synchronization functions (for instance,"CitrixWaitFor****") sometimes return errors at TryScript or during a load test, a typical error being:

CitrixWaitForWindowCreation(CitrixEngine: 32 - GetWindowSizefailed, Could not find the specified window)

The three most common causes of these Windows Synchronization errors are addressed below, together with suggested solutions.

Step 1: look for BDL scripting errors:
Firstly, ensure that it is not caused by a BDL scripting error. You can verify this after TryScript by checking that the problematic Citrix Windows Function was not modified after it had been recorded.  This is best confirmed by comparing the current Citrix bdf script to the original record.bdf script and investigating any differences. You should also ensure that no changes have been made to the height, width or the position of the actual Window on the Citrix Server.

Step 2: examine why sporadic Tool Tips and Dialog Boxesappear, and determine whether or not they are essential to theworkings of the application:
Determine whether the window which cannot be found during replayis actually required for subsequent user interactions/workflow ofthe application. For example, it is common for some Windows applications to sporadically launch tool tips or other dialog boxes/messages during execution... such windows will be recorded by SilkPerformer. Consequently, SilkPerformer will assume that the window is required for successful operation and will script a Citrix Windows Synchronization function to check for its presence.  SilkPerformer"s Citrix Recorder cannot determine which windows are important for the application workflow and which are not, and so it lies with the load tester to determine whether or not they are required. If the load tester has verified that a specific window is not required, (for example, the user may not need to click this window to launch a subsequent window for data input) then the easiest solution is to simply remove the relevant "CitrixWaitFor****" function, or group of functions, associated with the Window from the .bdf script and run a fresh TryScript.

Step 3: performing analysis when Windows Applications behave differently under load:
The final issue occurs in those scenarios where a user performs a click-action on a specific window of an application and then waits for the subsequent window to appear (for example, a dropdown menu). Here, the generation of the subsequent Window is clearly necessary for the workflow to continue, but an application underload may simply ignore the click-action (as Windows GUIs often do not respond immediately to click-actions when under load).  In this case, the first troubleshooting step should be to decide if theWindows Synchronization has returned an error which you see as important. For example, you could decide that the average user will not worry if the Window is not generated immediately and, after realizing that a window (e.g. a dropdown menu) does not appear, they will simply repeat their last action until it is generated. If you have decided that such behavior is occurring, you must implement the same behavior in the script. To do this, you can create logic in the script which will wait a small period of time for the window to be created (by modifying the "nTimeout"and "bNoError" parameters of the"CitrixWaitFor...." function), then redo the last user action if the window does not appear (CitrixWaitForWindow returnsfalse) and wait again. This behavior could be reiterated in a loop to simulate a patient virtual user which is waiting on the Windows GUI application to eventually return the associated dropdown window. However it is essential that the final iteration of the CitrixWaitForWindow does not contain the modified parameters (nTimeout and the bNoError)... that is, so that the SilkPerformer Citrix Replay Engine will eventually be able to throw an error if the window does not appear on the last attempt (and not become caught in an endless loop).

Example Code demonstrating a patient user:

hWnd11 := CitrixWaitForWindowCreation("File",MATCH_Exact, 0x96000000, 25, 40, 152, 322, true, 1, true);
print(string(hWnd11));

if hWnd11 < 0 then
CitrixMouseClick(39, 42, hWnd10,MOUSE_ButtonLeft);
hWnd11 :=CitrixWaitForWindowCreation("File", MATCH_Exact,0x96000000, 25, 40, 152, 322);
CitrixMouseClick(65, 291, hWnd11,MOUSE_ButtonLeft); print(string(hWnd11));
else
end;


Original KBID: 17636
Old KB# 34665
Created On:  06 September 2011

Wiki Page: How do I configure SilkPerformer to provide client certificate authentication during record and replay?

$
0
0
A secure web server can be configured to refuse clients who do not have a proper client certificate from a trusted Certification Authority. If a web server requests a client certificate, it is necessary to export the client certificate from the Web browser and place it in the Recorder"s certificate store before recording.

STEP A - Set up SilkPerformer to record using the client certificate
-------------------------------------------------------------------------------------------------------------
1 Export the client certificate from your browser


* Internet Explorer 5.x
----------------------------------
i. From the Internet Explorer menu bar select
TOOLS | INTERNET OPTIONS | CONTENT tab

ii. In the Certificates area, click the Certificates button.
The Certificate Manager dialog opens.

iii. From the list, select the certificate and click Export
IE automatically starts the Certificate Manager Export Wizard. Using the Wizard, perform all steps described to export your client certificate, making a note of the password used. During the export save the certificate to SilkPerformer"s Data directory

(i.e. in SilkPerformer V it is SilkPerformer5.0\Working\Data )

Note: You must export the private key with the certificate for the certificate to become usable within the Recorder

iv. In the Certificate Manager dialog, click Close
v. Click OK to close the Internet Options dialog

The certificate file (.pfx) can now be imported by the Recorder.

See also: Why I am unable to export a client certificate into the correct format when using the Export Wizard in Internet Explorer?

2 Import the certificate into the SilkPerformer recorder
i. Open
SETTINGS | SYSTEM | RECORDER | PROXIES tab

ii. Select the SOCKS proxy and click EDIT
In the CLIENT CERTIFICATE field choose Import and select the appropriate certificate. Once you import this certificate SilkPerformer will create a .pem format of your certificate.

3 Record against the server.
When prompted for the client certificate SilkPerformer will automatically present the client certificate.

3 Record against the server.

When prompted for the client certificate SilkPerformer will automatically present the client certificate.

STEP B - Replay your script using your client certificate
---------------------------------------------------------------------------------------
Go to
SETTINGS | ACTIVE PROFILE | INTERNET | SECURITY
and add the client certificate (.pem) in the certificate field.
The client certificate should already be in the drop down list so you won"t need to import again. The script should now replay successfully.

NOTE - instead of specifying the client certificate in the GUI, you can use the following function in the script
SslSetClientCert("certificate_name.pem");

NOTE: When obtaining a client certificate from a Certification Authority, be sure to allow the private keys to be exported with the certificate as this is required for the Recorder.

Old KB# 19417

Forum Post: stop an user when it receive some error,

$
0
0

How I can to set silk performer for just stop an user when it receive a bad response, without stop the anothers users.

thank you

César.

Forum Post: RE: Facing problem while loading WSDL in Silk performer .NET Explorer 9.0

Forum Post: RE: stop an user when it receive some error,

$
0
0

Hi César.

Please have a look at the 'Error-Handling Functions' section of Silk Performer Help. It contains great information on this very topic.

Wiki Page: Failed to determine whether hooking is installed. Resintalling may solve the problem.

$
0
0
Created On:  31st December 2012

Problem:

How can I resolve the error, "Failed to determine whether hooking is installed. Reinstalling may solve the problem. (0x0: The operation completed successfully)" when trying to record in Silk Performer?

Resolution:

There are two known causes for the problem, both of which relate to the internal system registry settings.

During the installation of Silk Performer, setup queries the following Registry key to retrieve the AppData folder,

32 Bit Operating System

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common AppData

64 Bit Operating System

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common AppData

If these keys are missing or have no values assigned to them, i.e. C:\ProgramData, then setup will use a default directory, '-', during the installation process.

After the installation of Silk Performer has completed and an attempt to record is made, the error message "Failed to determine whether hooking is installed..." will be displayed.

To confirm this is the cause of the problem, either

  • access the system registry manually and check for the Registry Keys / value

or

  • refer to the install.log (C:\Program Files (x86)\silk\Silk Performer xx).

With a successful install, the following entries will appear in the log file

COMMON_APP_DATA_DIR : C:\ProgramData

If the Registry Keys are not specified or no value has been assigned, then the following will appear

COMMON_APP_DATA_DIR : -

Note the use of the default, - ,  directory.

To resolve, ensure that

  1. the system registry contain the keys highlighted above,
  2. the keys contain the value C:\ProgramData [or C:\Program Files (x86) for 64 Bit Operating system].

If the registry keys have been added or changed after the Silk Performer installation, then a fresh install of Silk Performer is required.

If the above registry keys are set correctly then you should check the value assigned to the Registry Key:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLL

During a recording session in Silk Performer, the Registry Key is assigned the value of "qaphooks.dll".

This Registry Key is not specific to Silk Performer and can be utilized by other tools. When other tools use the Registry Key and assign it a specific value, Silk Performer cannot overwrite the value assigned to the Registry with the qaphooks.dll value, thus leading to the error message during record.  To resolve:

  1. Select "AppInit_DLLs"
  2. Right click and MODIFY
  3. In the "Value Data" section ensure that there is only one entry for "qaphooks.dll" remove any other DLLs listed (make a note of the dll before removing it as another application may use that entry.). It is best to delete the qaphooks.dll value and then re-add it, as spaces after the value have caused issues.

Please take a backup of your registry before making any amendments.

#2597613
Old KB# 36699
Viewing all 4084 articles
Browse latest View live


Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>