The next release of Test Design Studio has literally been in development for many, many years. Even as other major versions were released, we have been prepping for an architectural shift in the core text editing experience and how we manage parsing files to provide best-in-class code analysis and intelligent code completion for VBScript.
Our singular goal for Test Design Studio has always been to provide the most advanced code-based IDE for developing VBScript-based tests for the Unified Functional Testing platform (UFT, formerly QuickTest Professional). From the beginning, QuickTest was marketed as a tool for users without development skills. The code view for tests was a basic feature, but not the focus of the tool and only briefly mentioned during sales presentations. The lack of commitment to code-based development was reflected in the limited capabilities of the text editor. This is exactly why Test Design Studio was created all those years ago. UFT has improved since Test Design Studio first introduced the automated testing community to the productivity that comes with a proper editing environment. UFT keeps changing names and ownership, but it has never crossed the boundaries into supporting enterprise-scale automation. With the next release of Test Design Studio, we solidify our position as the premium IDE experience for VBScript-based test automation and further separate ourselves from the default UFT experience. It is fitting that “Professional” was dropped from QuickTest Professional when the tool was renamed, but that’s why Test Design Studio exists… to put the “Professional” back in UFT.
The beta program for the new release is currently open to everyone and does not require a paid license. We hope you will join us in evaluating the beta and providing your critical feedback. By working with the software before release, you’ll not only be able to take advantage of all the great new functionality before everyone else, but your feedback at this early stage also allows us to guide the development in a direction that will better meet your needs. We realize you may be used to working with huge corporations that serve their stockholders before their end-users, so we invite you to experience what it is like to work with a user-centric organization whose primary goal is to improve your day-to-day job.
If you need a little arm-twisting, keep reading for a preview of what you can expect in the all-new Test Design Studio. When you’re ready to get started with the beta, please contact support to express your interest (Slack Channel preferred).
New Feature Spotlight
Now for the fun parts! The editing experience is what sets Test Design Studio apart from generic text editors and even Unified Functional Testing itself. Here are some of the features we’re excited to bring in the next release.
No modern software release is complete without support for a dark theme, so of course we had to add it! Users can now choose between light or dark themes to meet their individual preferences, and we think dark mode is going to be very popular. We’ve used dark mode for all the screenshots in this article so you can get a feel for what is coming.
Full disclosure, not all aspects of the user interface fully support dark mode yet and icons do not fully adjust between themes, but we will continue to refine support for the theme.
Options, Options, Options!
We have completely redesigned the user interface for the Options dialog to support responsive layouts. For the user, this means you can now resize the control as needed and the layout will respond to the new size. For us, it means adding new options to the dialog is very easy. So that’s exactly what we did! New options are popping up in several categories, and here’s a sample of a brand new category just for Advanced VBScript options.
Automatic VBScript Code Formatting
No more inconsistent code formatting! We spend more time reading code that writing it, and poorly formatted code has a significant impact on the ability of others to read and understand the code. Test Design Studio now includes the ability to automatically format VBScript code. Since everyone has different formatting style preferences, we put you in control of the different options and scenarios that cause formatting to occur.
With automatic formatting, you no longer need to worry about format as you type. Let Test Design Studio automatically format your code when you press the ENTER key for a new line, paste code from the clipboard, or type the end of a code block (e.g.
End If). You can easily format an entire document at any time.
The screen below demonstrates different options available for formatting. Watch the text preview area at the bottom as each setting is turned on/off to demonstrate how the setting impacts code formatting.
Redesigned Text Parsing Engine
This isn’t a flashy new feature and you may never even know it’s there, but this is the soul of the IDE. All files must be parsed to determine the code elements you define, and the new engine is at least 25% faster than the old engine. Perhaps more important than individual parsing speed, support for advanced multi-threaded scenarios means multiple operations can be processing on the same document at the same time when they used to be queued up one after the other.
Did you know that every time you edit a document you are potentially invalidating the context of every other file in your project? That’s a lot to process with every keystroke, so the new parsing engine means that when you edit a document, the impact of your changes is reflected faster in the IDE than ever before.
Code Analysis Improvements
One of the marquee features of Test Design Studio is the real-time error analysis. The new parsing engine allows for errors to be processed faster than ever before! Even when working in complex projects with 100’s of files, you will find the editing experience responsive and the error list consistently updated with your changes.
When working with XML documentation comments, we’ve made a few tweaks. First, incorrectly formatted XML now shows up as a warning instead of an error. We made this change since XML formatting errors will only impact how Test Design Studio understands your code but will not prevent your code from executing. You will also find the XML issues are better represented in the editor. Previously, a small squiggle line was placed at the position of the error, but now the squiggle will be extended to include more of the text that is relevant for that position. For code analysis rules related to missing information in XML comments (e.g. public function without a summary), we changed the severity of those messages from “Warning” to “Information”. Especially for new users, we have observed that too many warnings related to missing XML data could distract the user from seeing more important warnings about code quality.
While we have reduced the visibility and message level, it is still important to understand that properly formatted XML comments are what help light up the extended functionality of Test Design Studio. We hope this change will help you make the most of those comments and correct issues when they arise.
Brand New Text Editor Control
Paired with the new parsing engine is an entirely new editor control. On the surface, the editor will look about the same as we’ve worked hard to bring forward all the functionality you love today. It’s what this editor allows us to do that makes all the difference! As you start to use it, you’ll even realize a lot of subtle tweaks have greatly improved and modernized the editing experience. Below are some highlights of new capabilities powered by the updated editor control.
Completion List Improvements
The completion list shown to auto-complete code has seen several improvements. As you type, the list will be filtered to only show items that match the text you have typed. Most importantly, matches no longer have to happen at the beginning of the completion item!
The list will match anything you type no matter where it appears, with the “best matched” item automatically selected. The matching text doesn’t have to be contiguous, either, so long as the individual characters appear somewhere in the same order in which they were typed. Match priority is first given to text that starts at the beginning and then to upper-case characters used by
camelCase naming conventions. The following sample shows how
mbox was used to match on
MsgBox and the related constants.
You also have the ability to control which items are displayed in the list. Use the filter buttons at the bottom of the completion list to toggle which items are displayed.
Code Match Highlighting
The ability to highlight code relevant to the current caret position or selection is one of the most visible new editor features, and you’ll find it implemented in a few different ways.
We think this one will make everyone’s favorite new feature list! Any time you place the caret over an identifier (e.g. function name, variable name, parameter name), all other instances of that same identifier are highlighted in the editor. It does not simply match on text but makes sure the text refers to the same item. This makes it easy to glance at your code and see the other places an identifier is being used.
If you do want a simple text-based highlight, select any range of text and other instance of that same text will be highlighted as well.
Token Pair Matching
Several code blocks in VBScript have opening and closing token pairs:
Class…End Class. You can even have blocks of the same token pairs nested inside each other. Indenting code helps identify matching pairs, but it can still be difficult to follow, especially if you must scroll the view to find the match. Any time the caret is positioned over an opening or closing token pair, the matching tokens will be highlighted. This means if the caret is positioned over a
Function declaration, the corresponding
End Function will be highlighted.
For more complicated code blocks like
Select…Case…End Select, the
Case tokens will also be highlighted. The same concept is applied to
If…Else…End If blocks.
Incremental Search Results
Incremental search is one of those features that can change your life! If you aren’t using it yet, it only takes a moment to learn. Pressing CTRL+I activates Incremental Search mode and then every character you type after that is combined into a search term where the caret moves to the first match. Pressing CTRL+I or CTRL+SHIFT+I while the search mode is active will move selection forward and backward through all the matches. Press ESC when you’re done to go back to editing.
New in this release, all matching text will be highlighted as you type so you have greater visibility into the text you’ve typed and the matches you will find as you cycle through. The screen below shows what happens when Incremental Search is activated and then the characters
A R R are typed. Each typed letter expands the search term and updates the highlighted matches. Then CTRL+I is used to move selection forward through the matches before using CTRL+SHIFT+I to return to the original position where ESC is pressed to return to normal editing.
If you find you need to type the same text in a document in multiple locations, you can now insert multiple carets. Hold the CTRL key and click in the document to insert an additional caret at that location (or remove a caret that was already there). Add as many as you want. Every character you type will be repeated at each caret location. Backspace, caret movement, and other basic editing commands are also supported. For fast use with the keyboard, pressing ALT+SHIFT+DOWN will automatically insert a new caret below the current caret, and you can repeat the command to extend carets over as many lines as needed. This is especially useful when the text you want to edit is vertically aligned and you want to perform the same edit on each line.
Automatic Delimiter Completion
Certain characters in code are always entered in pairs where one character starts a sequence and another character ends it. When you type one of these characters, the completing character is automatically inserted after the caret. If you accidentally type the character anyway out of habit, the editor won’t insert the extra character but will advance the caret position after the closing character so you can continue typing normally.
Outlined regions have an improved visual appearance and interactive highlights of the corresponding region when hovering over the outlined nodes. XML Documentation comments have also improved the text displayed when comments are collapsed to always show the summary when defined, even if it is not the first line. Otherwise the first line of comment text will be displayed.
Each editor now supports an individual zoom setting. If you need to make text bigger or smaller, you can simply adjust the zoom level and not worry about changing font size. This is especially useful when presenting or collaborating with a colleague that may not be sitting close enough to the monitor to easily read the code.
All standard zoom gestures are supported, including CTRL+MouseWheel. There’s also a drop-down at the bottom-left of the editor where you can easily set the zoom level to a predefined list of common values.
Move Selected Lines Commands
So simple in concept, but so handy for moving code! The selected lines will be moved up ALT+UP or down ALT+DOWN in the editor. If there is no selection, the line where the caret is positioned is moved. Using these commands allow you to avoid cut & paste just to move a line and, as a result, allow you to move code without impacting the contents of your clipboard.
Expand/Contract Selection Commands
These commands allow you select the range of text based on logical blocks. If the caret is positioned inside an
If statement, pressing CTRL+SHIFT+NumPadPlus will expand to include the entire statement. Expand again and selection might include an enclosing function declaration or class declaration. Every time you expand, the selection is moved out one block. The contract command CTRL+SHIFT+NumPadPlus works in reverse and will reduce the selection by one block.
No Need to Wait… Get Started Now!
You don’t have to wait for the official release to enjoy these great new features. Join the beta program and you can experience the future of Test Design Studio today! Please contact support to express your interest (Slack Channel preferred), and we’ll let you know how to get started.
Run Code Analysis from the Command Line
This is a big one! The Code Analysis functionality of Test Design Studio is perhaps the most important functionality in the tool, and this one little update opens up a world of new possibilities. You can now trigger Test Design Studio to load a Project or Solution, analyze the code, and export the results… all from the command line without having to interact with the user interface! Of particular interest, this should enable you to integrate Test Design Studio into your DevOps pipeline.
TestDesignStudio.exe "C:\TDS Solutions\MySolution.tdssln" -Analyze "C:\Results\MySolution.Analysis.csv"
The above loads a solution called “MySolution.tdssln” and outputs the analysis results to “MySolution.Analysis.csv”, a comma-separated values file. This standard format can be opened in Excel or parsed by any number of 3rd-party solutions.
We started with CSV because that format was already supported by Test Design Studio using the File –> Export -> Excel option from the main menu, but more formats can be supported. If you need a different format, please reach out and let us know what you are looking for. If you have any challenges integrating Test Design Studio with your DevOps platform, we’re ready to work with you and make sure you get the functionality you need.
Naming Convention Rules Change
The naming conventions feature allows you to create a series of rules that are applied to named declarations in your code to make sure you are following a standard naming convention. Use our built-in rules or create your own! With this release, we changed how the “Matches” rule looks at regular expressions to ensure the expression fully matches the given term. Previously, the ^ and $ characters were added to any pattern that did not include them to ensure a full match, but this caused issues with some alternation patterns. Those characters are no longer added to your pattern and, instead, we now make sure that the length of the pattern match is the same as the name being verified. Make sure any regular expressions you define will fully match the entire name to be successful.
If you are using our built-in rules, your files are automatically updated with this release. If you copied our rules or created a new one of your own, make sure you look at the changes in the macro patterns we define in our rules so you apply the same to your own files. If you modified the built-in files without copying them to a new location, your modifications will be overridden by this update. Please make sure you are maintaining your edits outside of the application installation folder to avoid future overwrites.
We always included an introduction to the Incremental Search feature in our getting started walk through, but it never had a dedicated help topic until now. For those that skip the walkthrough, you might have missed out on this great productivity booster. As a reminder for those who missed it, Incremental Search allows you to quickly and easily navigate to matching search terms in the document, all without removing your hands from the keyboard or loading a blocking UI element.
To begin Incremental Search, press the keyboard shortcut Ctlr+I to start searching forward, or Ctrl+Shift+I to start searching backwards. The status bar will then display “Incremental Search:” or “Reverse Incremental Search:” to match the shortcut you pressed.
With Incremental Search active, begin typing your search term. The characters you type will not be entered in the editor, but, instead, will be used to define the search. As each character is typed, Incremental Search will move the selection to the first match and the status bar will be updated to display your search term to help confirm what you have typed (e.g. “Incremental Search: MySearchTerm”). If at any point you have typed a term that is not matched in the text, the status bar will display “(not found)” after your search term.
Once you have defined your search term, you can easily navigate to all the matches for the same term. No matter whether your started with Ctrl+I or Ctrl+Shift+I, pressing Ctrl+I while Incremental Search is active will move forward to the next term, and Ctrl+Shift+I will move backwards to the previous term. Continue issuing either of these keyboard shortcuts to navigate through all the matched terms.
Incremental Search mode will be automatically cancelled if you change the selection with mouse or keyboard. You can manually cancel Incremental Search with the Esc key.
If you’ve never tried Incremental Search, you owe it to yourself to give it a shot. Try performing Incremental Search for the term “dim” to quickly jump between all your declarations, or enter the name of a variable to cycle through all the places it appears in the file. Once you see how easy it can be to perform these simple navigations, you’ll wonder who you ever lived without it. We put together a quick 2-min video highlighting the feature. Check it out!
We are pleased to announce the availability of Test Design Studio 4.5 (Build 7220). You can see the change notes and download now. There are two notable changes in this release that we want to highlight.
Goodbye .NET Framework 3.5
With this release, we were able to remove the final components that were forcing us to keep a dependency on .NET Framework 3.5. This is particularly nice for our Windows 10 users who would have to enable that feature in Windows if not already turned on. You will still need .NET Framework 4.5.2 (or newer). Windows 7 and Windows 8 users will still need to install the .NET Framework, but Windows 10 users should already have what they need since even the first release of Windows 10 included .NET Framework 4.6.
Next/Previous Declaration Commands
These commands have been missing since Test Design Studio 3, but now they’re back and better than ever. The restored
Edit.PreviousDeclaration commands allow you to easily navigate to major declarations in your file. They intentionally do not stop on every declaration, only the major ones. Those include:
- Script-level function/sub declarations
- Class declarations
- Class-level public variables
- Class-level function/sub declarations
- Class properties
The default shortcut for “Next” is
CTRL+SHIFT+Right Arrow, and “Previous” is
CTRL+SHIFT+Left Arrow. We created a quick 90-second video highlighting the new commands so you can see it in action.
We are pleased to announce that Test Design Studio 4.5 is now generally available and can be downloaded here. Much like version 4.0, this release continues our journey to modernize the application by shifting away from .NET Windows Forms toward Windows Presentation Foundation (WPF). While there is still a lot to migrate, we have completed the migration of all Tool Windows to WPF.
As noted in the introduction, several windows were converted to WPF for this release. Those include:
- Find and Replace tool window
- Find Results tool window
- Object Browser tool window
- Bookmarks tool window
- Solution Explorer tool window
- Task List tool window
- ALM Version History dialog
The end goal is to convert the entire application to WPF as that platform provides more flexible UI options and will better support hi-dpi monitors that are becoming more common today.
Search Solution Explorer
The WPF update enabled us to implement one of our favorite new features of this release, Search Solution Explorer. This feature adds a search box at the top of solution explorer. As you type, the entries in Solution Explorer are filter to only include the items that match your filter. In projects with a lot of files, this can help you quickly navigate to the file you are looking for.
The picture below shows a side-by-side view of a project open in Solution Explorer. On the right, the search term “check” has been entered in the “Search Solution Explorer” box, and the content of Solution Explorer has been filtered to only show items containing the text “check”
Error List Column Updates
The error list now supports two new columns of data, Code and Path. Description and File were also updated as noted below.
The Code, which is used to identify a code analysis rule, was previously displayed as part of the description, but has now been separated for display in a dedicated column. Not only does this make it easier to sort, the value of the code is now hyperlinked to help about the particular code if you are unsure why Test Design Studio is making a recommendation.
The File column previously displayed the full path of a the file. This has now been separated into two columns, Path and File. The Path will display the folder location, while File now only displays the name of the file. This helps reduce visual clutter when file path is not important, and can also make it easier to sort errors independently by either location or file name.
Object Browser Parameter Details
VBScript does not support overloads directly in the language, but many of the built-in functions provided by VBScript do. When the Object Browser would repeat these overloaded methods, it was not clear which entry matched which overload.
The member list has now been updated to show the type of data passed as parameters to each method call. As seen in the picture below, it makes it easier to determine which overloaded method matches a particular parameter signature, and the faded color of the data helps keep emphasis on the function name itself.
Task List Filter to Active File
This feature has been available on the Error List tool window for a while, so this release brings “Filter to Active File” to the Task List tool window as well. When activated, the Task List will only show entries that are related to the currently selected file. This allows you to stay focused on the file at hand.
Output Window Provider Filtering and Output Buffering
The Output tool window provides a method for various parts of the application to provide textual feedback about a process. There is a drop-down to select which output you want to see. New in this release, we now only show entries in the drop-down list that are actually providing content in the current. The first time a provider publishes content, it will also become the active selection to make sure that content is easily seen.
Some output providers, like the one used when generating documentation, produce a lot of detail in the output window. Updating the UI with the new output could cause poor performance. We are now buffering the output so that instead of pushing updates on each new line, we are building a buffer of lines and only push updates about once a second. That may not sound like much, but Documenter could easily produce many lines of output a second. With the new buffered approach, content is still updated in near-real-time but without the performance penalties.
Open Help from Options
Test Design Studio has a lot of options to allow the end user to customize the application experience, and sometimes those options need a little explaining. A new “Help” button has been added to the Options dialog to allow you to open the Help file to the corresponding topic.
Cache COM References
Test Design Studio has long supported the ability to parse a COM library and provide rich IntelliSense when editing files. Unfortunately, some of the larger libraries can take a long time to fully parse. After a library is parsed, that data is now cached in a temporary folder for future use. On subsequent launches of the application, the cached data can be read significantly faster than returning to the original COM library. This greatly improves the time needed to launch a new instance of the application.
Built-in references rarely change, yet the Test Design Studio documenter was generating HTML pages for members of the built-in references every time you generated documentation with that option. This easily exploded the amount of time it took to generate documentation. These generated files are now cached as they are generated. On future documentation updates, any previously generated cache file will be used instead of re-creating the file.
We also identified a scenario where the XML data used to provide details about a project would duplicate some information for each project. This resulted in files that were larger than they needed to be, and could result in OutOfMemory exceptions when processing the data. Any data that can be shared between projects is now shared to reduce the file size.
We are pleased to announce that Test Design Studio 4.0 is now generally available and can be downloaded here.
This release continues our push to re-architect and modernize the back end code of the application while also moving the front-end away from Windows Forms and toward Windows Presentation Foundation with a modern look-and-feel. The tool windows for Output, Server Explorer, and Toolbox were all converted in this release. Even the splash screen saw the first update since v2 with a flatter design.
The following are some highlights from the 4.0 release
We’re very excited about this feature. So excited, in fact, that it gets its own blog post!
Floating Document Windows
Those with multiple monitors know how convenient it can be to float your tool windows on a secondary monitor while leaving Test Design Studio on a primary monitor, but document windows were also bound to the main window. Not anymore! You can now drag the document tab outside of the main window to float it, or simply right-click the document tab and select ‘Floating’. When combined with the long-standing ability to dock document windows side-by-side in the main part of the application, you now have a new tool to customize your view to see exactly what you want and where you want to see it.
Disable Code Analysis Rule from Context Menu
We love the code analysis feature, but sometimes a rule just isn’t a good fit for your organization. You no longer have to dig through the options dialog to find the rule you want to turn off. If it shows up in the Error List and you don’t want to see it, simply right-click and turn it off. You can always turn it back on from the original Options dialog.
Sometimes it’s the little things. Many users were confused about how to get Test Design Studio connected to ALM or, even worse, didn’t know the feature was available. The Server Explorer tool window, when not connected to ALM, should remove all doubt about the capability and how to get started:
We even redesigned the login screen with a friendly reminder that you must register the ALM Client for the integration to work properly:
We also removed the special feature called “Offline Mode”. This was a carry over from functionality prior to TDS 3 where server connections were managed very differently, and it created a confusing interface. You no longer have to enter “Offline Mode” to work with any files offline. If you’re not connected to ALM, you’ll be in offline mode. Simple as that! We even added the option to have your credentials stored so that your ALM connection is automatically restored every time you launch TDS.
Now TDS even scans a project before you open it to look for any ALM files and will prompt you to connect to ALM before opening (with the option to cancel) so that you are not presented with errors opening the files.
All customers with an active maintenance agreement will receive this upgrade at no change. Users with a Seat License will need a new serial number for this version and it will begin with "TDS40-". Users with a Concurrent License will not need to modify their License Server, but will need a new client license file to use along with the new version.
Please contact email@example.com if you are ready to upgrade and have not already received your new license.
The feature we’re most excited about with TDS 4.0 is support for naming conventions. Most of us work on teams that contribute to the same code base. It is important that the unified product of that team’s effort be presented consistently no matter who contributed the code. Choosing to name variables or functions a certain way can make your framework more cohesive and easier to use by everyone.
By default, Test Design Studio comes pre-configured for the most basic naming conventions around character casing for language elements. These defaults are based on generally accepted industry norms for VBScript and include:
- Variables and parameters start with lower-case letter and capitalize each new word.
- Functions, subs, and properties start with upper-case letter and capitalize each new word.
- Class names start with upper-case letter and capitalize each new word.
- Constants use all upper-case letters with underscore between words.
The following illustrates a Sub whose name begins with a lower-case letter instead of upper-case
The violations for naming rules are displayed in the Error List along with any syntax errors and code analysis feedback. Each violation is also underlined in the editor with green “squiggles” to draw attention to the oversight.
These default rules are a great start for naming conventions, but individual policies at your organization are likely far more complex. Since every organization is different, we designed this feature from the beginning to be user-driven. All naming conventions are based on a series of rules in an XML-formatted file. We’ve provided a powerful set of criteria to help you define your individual conventions. We’ve even provided a working sample of a much more complicated rules file that you can use as a template for your own rules (look at ‘CodeAnalysis\rules.sample.typePrefix.xml’ under the TDS installation directory).
Not only can you define different rules based on item type (e.g. Sub, Function, Variable), you can also define rules based on the content. Do you name integer variables one way and boolean variable another way? No problem! Different convention for public vs. private items? We have that, too!
You can change the location of the naming rules XML file in the same spot where you turn individual code analysis rules on/off by selecting “Tools –> Options” from the main menu.
While we’ve tried to prepare a solid foundation for the rules engine, we know our customers will be the truest test of when the feature is complete. We fully support the functionality, but are releasing it under a “Beta” tag for now. We’re confident in the core functionality for the default rules we have provided, but we need to hear from more customers about how they want to implement rules.
If you are unable to implement your naming conventions using our present rules engine, we want to hear from you! Please contact us with examples of the rules you want to implement. If we can’t make the current rules engine work, we’ll see what we can do to add the support your need.
We hope you enjoy this new feature, and look forward to hearing your feedback.
With the recent release of Unified Functional Testing 14, we are happy to report that Test Design Studio continues to be fully compatible with the latest version. In fact, it doesn’t appear that the core GUI Test functionality has changed at all… and hasn’t for years! That should speak volumes about how much this manufacturer cares about those who still write code for UFT, but that’s why we have Test Design Studio anyway!
Some users may receive an error message about an 'OutOfMemory' exception while building documentation. The error message will be similar to the following:
Unable to build documentation. An error was encountered while merging XML documenation. Exception of type 'System.OutOfMemoryException' was thrown.
This error is typical when large projects (or solutions with multiple projects) are being documented and the XML file that is generated for the documenter contains too much information. To prevent the error, the size of the merged XML file must be reduced.
The primary solution is to remove source code from the generated document. The inclusion of source code can cause signficant bloat to the size of the XML file used for documenting.
The Default setting is to include source code, so you will need to use the Custom setting to turn off the source code. When using the Documenter Wizard, you will need to select 'Custom settings' on the 'Configuration Style' page. On the 'General Options' page, you will then need to clear the box labeled 'Include source code' under the 'Other Settings' section. This option is also available on the 'Documenter' tab of the Property Pages for the project.
The Network License Monitor must be installed on a machine that will be accessible from other machines on the network that will need licenses managed by the Network License Monitor. It may be installed either on a workstation or a server.
The Network License Monitor is built using Microsoft .NET Framework 3.0, so you must have that version of the framework or newer installed. Any operating system that support that version of the .NET Framework may be used (i.e. Windows XP, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, and newer versions of Client and Server OS).
A user with administrator access will need to be used to install the software and configure the license. Elevated privileges will be required on operating systems with UAC enabled.
Installing the Software
The current release of the Concurrent License Monitor application should be downloaded from our Downloads page
To install the software, simply execute the ConcurrentLicenseMonitor.msi installer package and follow the on-screen prompts.
After the installation is complete, you will need to manually copy the license file (*.lic) to the installation folder of the Network License Monitor (i.e. C:\Program Files\Patterson Consulting\Concurrent License Monitor on 32-bit operating system, or C:\Program Files (x86)\Patterson Consulting\Concurrent License Monitor on 64-bit operating system). Contact 'firstname.lastname@example.org' if you have not received your license file. This file is typically called 'monitor.lic' or 'monitor.x.x.lic' (where the 'x' values represent a version of the monitor software, e.g. 'monitor.1.1.lic').
Applying the License and Verifying Functionality
To apply the license, you will need to start the Concurrent License Monitor GUI application. You may do so by selecting the corresponding entry from the Program Files -> Patterson Consulting -> Concurrent License Monitor program files folder.
Upon launching the application, you will be prompted to register your software. If you do not receive a registration prompt, your license is likely not configured properly or was not copied to the proper folder.
Complete the registration form by entering the serial number that was supplied along with your license and click Next. This will display the activation screen.
The activation process will tie your serial number to the specific machine where you perform the activation. In most cases, you may activate your software using our on-line activation server. Otherwise, you will need to manually request an activation code. Follow the prompts on the wizard interface to determine the 'Machine Code' for your installation. E-mail that 'Machine Code' to 'email@example.com' and we will provide you with the corresponding 'Activation Code'.
Once registration is complete, you will see a log entry in the application indicating the status of the application monitor. The log messages will include the TCP Port being used by the application and the details of the applications which are licensed to the monitor. If you do not see this information along with entry 'Server Activated' in the log, your monitor is probably not working properly. Ensure the TCP Port in the log is available for use. Contact 'firstname.lastname@example.org' for additional assistance.
Changing the TCP Port
If you are unable to use the default TCP Port, you may change it. Currently, the only way to modify the TCP Port is to edit the system registry. Using a tool like 'regedit', locate the following registry key
HKEY_LOCAL_MACHINE\SOFTWARE\Patterson Consulting\Concurrent License Monitor
This key will have a string value called TcpPort. Update the value in the registry and close the registry editing tool. Stop/Restart the monitor using the Ribbon commands on the application and the monitor will use the newly defined port.
If your monitor is installed behind a software/hardware firewall, you will need to configure the TCP Port for access through the firewall. Without access, clients will not be able to request a license.
Configuring the Client
You will be provided a license file for each client that will connect to the license monitor. Follow the license instructions for the client to apply the license file. When prompted, enter the name of the host running the network monitor and the TCP Port that has been configured for use (Default = 8085).
With the Concurrent License Monitor application running, attempt to launch a client application that is managed by the monitor. The log will display connection attempts and license validation data. If no request information is displayed in the log, verify the following:
- The client has been configured with the concurrent license file
- The client has been configured with the proper host name and TCP Port
- A firewall is not blocking the TCP Port on the server or the client
For more details on configuring the Client, refer to the following Knowledge Base article:
Installing Monitor as a Service
While the Concurrent License Monitor application provides some useful information about the activity of the monitor, it must remain running for clients to be able to request a license. In most cases, the application is used to verify the monitor is running properly. Once proper operation is complete, you may install the application as a Windows Service.
To install the service, select 'Install Service' from the Program Files group where the Concurrent License Monitor was setup, or execute 'InstallService.bat' from the application installation folder. This will configure Windows to recognize the service. The service will be listed as Patterson Consulting Concurrent License Monitor. You will need to start this service in order to process license requests. If necessary, contact your Windows administration group for details on configuring a service to start automatically and/or use a specific account for authentication. If you ever experience issues processing licenses from the service, stop the service and launch the GUI-based application. The log data in the application will help debug the issue.
Uninstalling Monitor as a Service
To uninstall the service, select 'Uninstall Service' from the Program Files group where the Concurrent License Monitor was setup, or execute 'UninstallService.bat' from the application installation folder.
Some installations of the HTML Help Compiler will report the error code HHC6003 referencing file
itircl.dll. In fact, QuickTest® Professional has a documented issue where this error is often received after installing QuickTest® Professional. This is typically caused by the
itcc.dll file being missing or improperly registered. Check if the following file exists on your system:
If it does not exist, use the links above to download and re-install the HTML Help Workshop. If it does exist, it probably just needs to be re-registered on your system. You can re-register the file by executing the following command from a Command prompt or the Run window.
Note: The exact path to the
itcc.dllfile may vary based on your system configuration.