ReSharper is a commercial software product, protected by copyright under international law. Each copy of the product requires a license.
Where can I download License Server for ReSharper? How do I select ReSharper Edition when connected to License Server? (ReSharper 4.x - 8.x) How do I add ReSharper Keys to the License Server? (old License Server) 'No Free Ticket Available' message when trying to obtain license from License Server (ReSharper 4.x - 8.x). DevXpress Refactor! Pro is similar, and is $99 per license. Telerik also makes a refactoring add-in, but it's more expensive ($199). If you qualify for an academic license, you can get ReSharper cheaper. They even offer free licenses for Open Source projects. I think that CodeRush has a free, limited version, too. I ended up going with ReSharper, and I still recommend it, even though some of the functionality is in Visual Studio 2010. There are just some things that make it worth it. Keep in mind that you don't need the full ReSharper license if. Are managed by faculty members, professors, IT support staff, and other official representatives of your educational organization. License administrators manage the licenses in their JetBrains Account. Are valid for one year and can be renewed in the 30 days before the license expiration date. Must be used only for teaching classes.
For new users, ReSharper offers a 30-day free evaluation period. During this period, you can enjoy full functionality of the product and decide whether it suits your needs. The evaluation period can be paused and resumed with the Pause/Resume Evaluation button in the License Information dialog. During the evaluation period you will be able to see how many days are left.
If you decide to use the product after the evaluation period, you need to obtain a license at ReSharper website and specify the license information in one of the following ways:
All personal and commercial licenses for JerBrains products can be managed through the JetBrains Account, which can be used as a way of specifying licensing information.
All personal and commercial licenses can be specified with a license key.
For corporate clients, ReSharper allows storing and distributing license tickets through JetBrains License Server. The server allows enterprises to establish limited or unlimited number of product licenses and distribute them within the corporate network. The benefit of this approach is that as soon as the user closes the application, their license ticket returns automatically to the server and becomes available for other users.
You can check the status of your license in the License Information dialog or in the About dialog.
Specify your license information
In the main menu, choose ReSharper Help License Information.
In the License Information dialog that opens, use the check boxes to specify one or more licensing options (you may need several options in case you have several JetBrains .NET products licensed in different ways):
Use JB Account - select this option if you have ReSharper licenses bound to your JetBrains account.
To specify your account, click Add Account , then, in the dialog that appears, enter your account credentials and click Log In. After successful login, ReSharper will display the available licenses. If necessary, you can clear the check boxes next to the licenses that you do not want to use.
Note that you should be connected to the Internet when specifying your JetBrains account credentials. After successful login, the Internet connection is not required.
Use License Keys - select this option if you have a license key for ReSharper.
To specify your license key, click Add License Key , then, in the dialog that appears, enter your username and the license key and click Add. If the license is valid, you will see the corresponding message.
Use License Server - select this option if your company uses JetBrains License Server to distribute licenses.
If the license server is in your local network, ReSharper would normally detect this server. In case the server is not detected automatically, click Add License Server , then, in the dialog that appears, specify the server URL and click Add. If ReSharper licenses are available on the server, you will see the corresponding message.
As soon as a valid product license becomes available through any of the licensing options, a green check marks appears next to the product with the details of the license.
Click Close to apply the selected licensing option and close the dialog.
License tickets from JetBrains License Server
If you are using JetBrains License Server, you can get two types of license tickets. By default, the server issues a floating ticket for you, which lasts as long as you are connected to the server. If you need to work offline, you can get a permanent license ticket.
The table below describes the differences between the two types of the license tickets.
|Floating license ticket (default)||At startup, ReSharper finds the License server in the local network and requests a ticket, which is returned to the server and becomes available to other users when ReSharper is closed. Both obtaining and returning of the ticket are done automatically.||Number of licenses on the license server can be less than the number of ReSharper users. For example, if there are 60 engineers who use ReSharper but only a maximum of 50 of them can use ReSharper concurrently, then 50 licenses on the license server would be enough.||Connection to the License Server via a local network or VPN is required to start ReSharper.|
|Permanent license ticket||Once obtained, a permanent ticket stays on a client machine. It is not available to other users until it is returned from the client. Both obtaining and returning of the ticket are done manually on the client or by a license sever administrator.||The client does not need a network connection to run ReSharper.||The license obtained with a permanent ticket remains unavailable for other users even if the client does not use it.|
Obtain a permanent license ticket from the License Server
In the License Information dialog, check that a floating ticket from a license server is currently used (this should be written in the product license details).
Click Request Permanent next to the license server option.
In the Obtain Permanent License dialog that opens, specify your email address and click Send Request.
Check your inbox and find the message from the license sever with the activation key.
In the Activation key field, enter the received activation key and click Activate License.
Click Close. Note that if your License Server distributes a limited number of licenses, the license ticket that you hold remains unavailable to other users until you return it.
Release a permanent license
In the main menu, choose ReSharper Help Return Permanent License. In the confirmation dialog opens, click Yes.
In the main menu, choose ReSharper Help License Information. In the License Information dialog that opens, click Release Permanent License.
You are viewing an old version of this page. View the current version.
- System Requirements
- Installing and Configuring License Server
- Extending License Server to Use Custom Verification
- Logging In
- License Server Settings
- Product-Specific Control Panel
About JetBrains License Server
JetBrains License Server is a web application that enables license administration across a single network.
License Server serves as a central point for distribution of licenses among multiple users and client machines in a network environment. It supports the following JetBrains products:
- IntelliJ IDEA 7.0 or higher (only Commercial licenses).
- ReSharper 3.1 or higher (only Commercial licenses).
- dotTrace 3.1 or higher (only Floating licenses).
- RubyMine 1.0 or higher.
License Server issues and revokes license tickets to/from network clients based on properties of license keys that are provided by JetBrains after purchase. The following two types of license keys are available for the JetBrains software products specified above, depending on conditions of a license agreement:
- Single-user key that allows a customer to provide a JetBrains software product to a specific number of concurrent users corresponding with the number of purchased license keys run by License Server.
- Multi-user key that allows a customer to provide a JetBrains software product to unlimited number of concurrent users pursuant to a separate license agreement with JetBrains that implies regular monitoring of concurrent product usage and providing quarterly usage reports for the purpose of the license 'true-up' to JetBrains.
That said, each license key provides one or several license tickets. A single ticket grants permission to use a single copy of a product. License Server receives requests for license tickets from client applications and issues tickets to them upon verification, eliminating the need to configure clients individually.
There are two kinds of license tickets:
- Floating tickets are issued for a limited period of time and prolonged on a regular basis.
- Permanent tickets are issued without a specific time limit. They are released manually by a client application or server administrator.
- 256 MB RAM
- Java SE Runtime Environment (JRE)/Java SE Development Kit (JDK) 5 or higher installed in any of the following operating systems:
- Windows® (2000, NT 4.0 or higher, XP).
- Linux/UNIX-based OS.
- Macintosh OS X TM.
- Apache Tomcat 6.0.
- Mozilla Firefox 2.0+, Internet Explorer 7.0+, or Safari 3.0+ for accessing the License Server control panel.
License Server is supplied in two distribution options:
- As a standalone WAR file for deploying in an application server.
- As a package that includes Apache Tomcat.
Installing License Server
To install and configure License Server bundled with Apache Tomcat:
- Install JRE or JDK:
- Download and install Java SE Runtime Environment (JRE) 5 or later.
- Create an environment variable
JAVA_HOMEand assign it to JRE installation home using forward slashes in the path (for example,
- To define
JAVA_HOMEenvironment variable under Windows XP:
- Select Start Settings Control Panel System Advanced Environment Variables.
- In the User environment variables for <user name> area, click Create.
- In the Variable name field of the New System Variable dialog box, enter
- In the Variable value field, enter the path to JRE installation home.
- Click OK.
- To define
JAVA_HOMEenvironment variable under UNIX/Linux, execute the following command:
where path should reference JRE installation home.
- To define
- Start bundled Apache Tomcat.
To start Apache Tomcat distribution bundled with License Server and deploy
licenseServer.warpackage, execute one of the following scripts:
License Server will start listening on port 8080 with licenseServer path prefix.
- Start License Server by typing
http://<host-name>:8080/licenseServerin the address bar of your web browser.
To deploy License Server standalone WAR file under Apache Tomcat:
- Restart Apache Tomcat.
- Start License Server by typing
http://<host-name>:<port-number>/licenseServerin the address bar of your web browser.
- Proceed with setting up your License Server.
For either License Server distribution, you can optionally do any of the following:
Configuring Automatic Server Discovery
To configure automatic License Server discovery:
Add a DNS TXT record
url=<server_url> for the following name:
To verify the record in a Unix environment:
Run the following command:
dig _jetbrains-license-server.<domain_name> TXT
A valid response should look like this:
_jetbrains-license-server.acme.com. 3600 IN TXT 'url=[http://lsserver:8080/licenseServer]'
Configuring License Server to Use an External Database
License Server comes with embedded Apache Derby database. However, you can configure License Server to work with an external database. The following databases are supported:
- MySQL 5
- Sybase Adaptive Server Enterprise (ASE) 15
To migrate to an external database, make the following modifications to
org.apache.commons.dbcp.BasicDataSourcebean properties, comment out
driverClassNameproperty referencing the embedded database, and uncomment
driverClassNameproperty corresponding to the external database of your choice.
org.springframework.orm.jpa.vendor.TopLinkJpaVendorAdapterbean properties, comment out
databasePlatformproperty that references
oracle.toplink.essentials.platform.database.DerbyPlatformSQL dialect, and uncomment the
databasePlatformproperty corresponding to the external database of your choice.
- Replace default values for
dataSourcebean with production values. Make sure to set necessary database connection settings using the
Extending License Server to Use Custom Verification
You can extend License Server to verify clients in one or more ways before they can obtain tickets. When you add one or more custom verifications, the following rules apply:
- If a user requesting a license passes all verifications, he or she receives a license ticket.
- If a user fails to pass at least one verification, his/her ticket request is rejected.
You can add as many verifications as required by your corporate policy. All your verifications are executed one by one during request processing.
License Server doesn't execute custom verifications in a particular order. It is your responsibility to develop verification rules the way that doesn't depend on the order in which they are executed.
License Server doesn't cache verification results, meaning that a client is verified for each request it sends.
How to Provide Custom Verification
To apply a custom verification procedure, you should create a JavaBean implementing
ClientVerifier public interface:
isAuthorized method in any
ClientVerifier implementation returns false, the requesting client is considered unauthorized and is not granted a license ticket.
For every implementation of
ClientVerifier, you should create a separate Spring bean. Every such bean should be added to License Server classpath (
<Tomcat version>/webapps/licenseServer/WEB-INF/classes/) and registered as a standard Spring bean using a bean descriptor in an existing application context file or in a new file named
classpath/META-INF/<pluginName>-plugin.xml, such as the following:
To sum it up, a registered License Server verification plug-in consists of:
- Plug-in bean definition:
- Actual bean in License Server classpath.
Sample Verification Plug-in
The following is a sample implementation of
Here's a bean descriptor used to register the sample custom verification plug-in in License Server:
Launching License Server Control Panel
Open your web browser and type
http://<host-name>:8080/licenseServer in the address bar.
When you start License Server in your web browser for the first time, the Setup Server page opens (fig. 1) where you should complete four mandatory fields:
- Administrator's E-mail (used as admin ID.)
- Password (min. 6 characters.)
- Confirmation (confirm password.)
- SMTP Server (the address of your company's SMTP server.)
- 'From' address (e-mail address to be used as a sender of any License Server messages.)
Figure 1. The Setup Server page
Every time you open License Server after you have set it up, the Login page displays (fig. 2).
Figure 2. The Login page
Enter the credentials that you specified during server setup in the E-mail and Password fields.
Click Remember me so that License Server recognizes you at any time, unless the system is rebooted. You can open other web resources or close the browser window in the meantime.
You can subsequently log out by clicking the Logout link in the top right corner of any License Server page.
After you have successfully logged in, the JetBrains License Server home page displays (fig. 3).
It consists of two tabs, Status and Settings.
Figure 3. JetBrains License Server Status
The Settings page (fig. 4) contains a number of essential server settings that can be modified when necessary:
- Administrator's E-mail: the e-mail address that you entered during server setup and used to log in.
- Password: administrator's password.
- Confirmation: password confirmation.
- SMTP Server: the address of your SMTP server that is used to issue permanent licenses (specifically, to send and receive activation codes.)
- 'From' address: e-mail address to be used as a sender of any License Server messages.
Figure 4. JetBrains License Server Settings
The Status page (see fig. 3) contains a table designed to track ticket allocation statistics server-wide, across all supported products.
You can open a detailed product-specific control panel by clicking the name of the corresponding product (for example, IntelliJ IDEA) in this table.
A product-specific control panel (for example, IntelliJ IDEA) includes seven tabs:
- License Keys
- Permanent Tickets
- Floating Tickets
The General tab (fig. 5) contains a product-specific statistics table with four rows:
- License Keys: number of license keys that you have registered with the server.
- Total Tickets: total number of tickets provided by registered keys.
- Free Tickets: number of tickets available for issuing.
- Issued Tickets: number of issued tickets.
Figure 5. Product-Specific Control Panel General
If you have added an unlimited license key, Total Tickets and Free Tickets rows are not assigned a numerical value because you can issue as many tickets as you wish.
This table is only populated with non-zero values after you have added at least one license key.
This tab contains the Add Keys From Purchase E-mail link. Click it to open a pop-up window (fig. 6), and paste the entire body of the e-mail message with license keys provided to you by a JetBrains representative.
Figure 6. Product-Specific Control Panel License Keys Add License Keys From Purchase E-Mail
After you click Add, this window closes and the number of keys that were processed and saved displays in the yellow box at the top of the License Keys tab (fig. 7).
Figure 7. The message that displays after processing and saving license keys
If no keys were processed and saved after you've copied the message into the pop-up window, make sure you've pasted the entire message body.
If the controls in Add License Keys From Purchase E-mail are grayed out, try upgrading your browser to Internet Explorer 7.0 or Mozilla Firefox.
After you have added at least one key, the Keys In System table displays in the License Keys tab (fig. 8).
Figure 8. Product-Specific Control Panel License Keys Keys In System
This table contains the following columns:
- Key: one or more license keys provided by JetBrains.
- Expiration date: expiration date of the license key.
- Generation date: date of key generation.
- Issued for version: product version that a key was generated for.
- Licensed to: the licensee's name.
- Suits to version: version of the product that this license key makes available.
- <Last column>: allows deleting a previously added key.
Any license key provided for a certain version of a product makes available not only this version, but all of its preceding versions. For example, a license key generated for IntelliJ IDEA 7.0 allows you to use IDEA 7.0, IDEA 6, and all other legacy versions of IDEA.
License keys and server settings are stored in an encrypted database located at
<Apache Tomcat root>/db/. You can migrate to an external database if required.
This tab displays only if the Enable Permanent Tickets check box is selected in a product-specific Settings tab.
It contains a table that identifies clients who have requested and received permanent tickets.
To obtain a permanent ticket for a copy of IntelliJ IDEAIcon
- Choose Help Obtain Permanent License in IntelliJ IDEA menu bar.
- When the Enter E-Mail Address dialog box opens, enter a valid e-mail address to which a temporary activation code will be sent.
- Click OK.
- When the Enter Activation Code dialog box displays, paste the activation code from the e-mail message that License Server sends to the e-mail address you specified. If the activation code is successfully validated, this will be confirmed by the Permanent Ticket Received dialog box.
When a client obtains a permanent ticket, its floating ticket is released.
When at least one permanent ticket has been issued, a table displays in the Permanent Tickets tab specifying e-mails to which activation codes were sent, as well as versions of client applications that received permanent tickets (fig. 9).
Figure 9. Product-Specific Control Panel Permanent Tickets
To revoke a permanent ticket issued to a specific client, click the revoke link in the third table column next to this client's credentials. When the Remove Permanent Ticket? pop-up window opens, confirm or cancel the revocation.
This tab (fig. 10) contains a table with a list of clients that have received floating tickets, consisting of three columns:
- User Name: name of a user who is provided with a floating ticket.
- Licensee ID: a unique identifier of a product family installed on a specific client system.
- Version: product version.
Figure 10. Product-Specific Control Panel Floating Tickets
To obtain a floating ticket for a copy of IntelliJ IDEAIcon
- Choose Help Register in IntelliJ IDEA menu bar.
- Click Enter license server address and paste the URL or your license server in the corresponding text field.
- Click OK.
To obtain a floating ticket for a copy of ReSharperIcon
- Choose ReSharper License Information in Visual Studio.
- Select Obtain from License Server.
- Click Specify License server and paste the URL of your license server in the corresponding text field.
- Click OK.
This tab helps you generate reports on the usage of tickets within any time span. To specify the time span, use Start date and End date links. Click Generate to display a report table (fig. 11) with the following columns:
- Date: dates within the specified period when tickets were issued.
- <Version> (for example, 7.0): one or several columns indicating the number of tickets issued for a specific product version.
- Day Total: the total number of tickets issued for all product versions day by day.
Figure 11. Product-Specific Control Panel Report
The Total Max row displays the maximum daily number of tickets issued to individual versions as well as to all versions of the product within the specified period of time.
Full XML Report and Short XML Report links in the bottom part of the tab create signed XML files with reports previously generated in this tab. A short XML report contains product version names and the number of tickets issued to each of them. A full XML report adds the total number of tickets issued every day.
Two user controls are available in this tab (fig.12):
- Ticket Revocation Period (s): every client with a floating ticket must send a prolongation message to the server after a certain period of time has passed. You can specify that period in this field.
- Enable Permanent Tickets: select this check box to allow receiving requests for permanent tickets from clients. Keep in mind that the Permanent Tickets tab remains hidden unless you select this check box.
Figure 12. Product-Specific Control Panel Settings
Clicking OK saves your settings.
This tab (fig. 13) displays the contents of the log file maintained by License Server. The log file includes all ticket issue/release events along with additional data. Log records are generated with the following format:
Date Time [event severity] Action UserID, ticketID
2007-10-09 16:06:16,274 [INFO] Prolonged ticket for [email protected], ticketId=5
Figure 13. Product-Specific Control Panel Log
Resharper License Server Free
Note that only 10 Kb of the log's most recent records are displayed in this tab. You can view the entire log by opening it from the Tomcat root directory. Note that for every product managed by License Server, a separate log is maintained under the name
ProductID is the unique product family identifier that can also be found in the URL of the corresponding product-specific control panel in License Server.
Resharper License Server Free Cs 1.6
You can generate custom reports that match your specific needs by retrieving specific data from the log files using awk scripts.
You can learn more about awk scripts at http://www.esmerel.com/wagons/rob/awkwords.html.