This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
phowe
Revenera Community Admin
- Revenera Community
- :
- About phowe
Sep 12, 2024
08:52 AM
The ZIP file downloaded from this article (FlexnetLicenseServerManager-<version>.zip) is a Docker container which holds the image revenera/flsm:<version>. This ZIP file is for Docker consumption only, and is not to be extracted using other extraction tools. For information on how to install the FlexNet License Server Manager Docker container, see Setting Up the FlexNet License Server Manager in the FlexNet License Server Manager Guide on docs.revenera.com.
... View more
Sep 06, 2024
12:43 PM
This article explains how to use Usage Intelligence Reporting APIs to create reports using Microsoft Power BI.
NOTE: Information on Usage Intelligence Reporting APIs can be found at Usage Intelligence Reporting API v3.0.0
Authentication
Before being able to request any data, you need to authenticate with the Usage Intelligence API.
The Usage Intelligence Authentication APIs cannot be integrated with Power BI directly, as they do not provide basic cookie handling functionality as of now, so you need to authenticate using Postman or another similar tool.
Refer to the Authenticate section of the Usage Intelligence Reporting API v3.0.0 documentation for more details.
The following is an example from Postman:
NOTE: In the response headers of this API, look for Set-Cookie with a session token and copy the value (you will need it later).
Create a Query in Power BI
Perform the following steps to create a query in Power BI.
To create a query in Power BI:
Open the Power BI Desktop.
Go to Home > Transform Data > Transform Data to open the Power Query Editor.
In the Power Query Editor, select New Source > Blank Query.
In the Advanced Editor, replace the existing code with the Power Query M code example provided here:
Example Code
The following is example code:
let
// session cookie token got from earlier step
preObtainedCookie = "RUI-Session-Token=xx; HttpOnly; Max-Age=39600; Path=/; SameSite=Strict; Secure",
// Common headers for the API call
commonHeaders = [
#"Content-Type" = "application/json",
#"RUI-Client" = "PowerBI",
#"RUI-Client-Version" = "1.0",
#"Origin" = "https://analytics.revenera.com",
#"Cookie" = preObtainedCookie
],
// Reporting API URL
apiUrl = "https://analytics-api.revenera.com/v3/reporting/eventTracking/lifetime/dataTable/2376158762",
// JSON payload content as required by the specific API used here, for other APIs, refer the documentation, make sure it is formatted as shown below
reportPayload = "{
""startDate"": ""2024-07-07"",
""stopDate"": ""2024-09-04"",
""globalFilters"": {},
""events"": null,
""sorting"": {
""events"": ""uniqueUsersUsedAtLeastOnce"",
""eventsDirection"": ""desc""
},
""categorizeEvents"": false,
""paging"": {
""startAt"": 0,
""limit"": 25
},
""groupBy"": ""clientId""
}",
// Convert report payload to binary
reportContent = Text.ToBinary(reportPayload),
// Make the API call and handle the response, change ManualStatusHandling as required
reportResponse = Web.Contents(
apiUrl,
[
Headers = commonHeaders,
Content = reportContent,
ManualStatusHandling = {200}
]
),
// Parse the JSON response
finalResult = Json.Document(reportResponse),
result = finalResult[result]
in
result
The example provided above is for POST API. For GET API, just omit the following steps:
Providing JSON payload content.
Convert report payload to binary.
Passing JSON content while calling API.
You will see the response as shown below:
The response from API is always in JSON format. Parse it as required by expanding the nested data, flatten hierarchies, pivot/unpivot data, and then load into Power BI to visualize the data.
... View more
May 02, 2024
01:41 PM
Usage Intelligence v3.0 is available at https://analytics.revenera.com, as described in Usage Intelligence Portal v3 is Officially Live!. Since v3.0 was released, the Usage Intelligence v2.0 legacy site, https://analytics.revulytics.com, has been available in view-only mode.
On May 31, 2024, the Usage Intelligence v2.0 legacy site will be discontinued and no longer accessible.
Data has been replicated: All data from the legacy site has been replicated and migrated and is now accessible on the new Usage Intelligence v3.0 site, as described in Usage Intelligence Portal Data Migration. Data migration was completed on September 1, 2023.
API support: The legacy Usage Intelligence API, Usage Intelligence Reporting API v2.1.0, will be supported until the end of 2024. Going forward, you should be using Usage Intelligence Reporting API v3.0.0.
If you have any questions, contact Revenera Support.
... View more
- Tags:
- Usage Intelligence
Labels
Mar 29, 2024
10:31 AM
Usage Intelligence now offers a new Custom Event Tracking report. If you choose to track an event with numeric data in your application, you will now be able to generate a custom report on that event.
Enabling Custom Numeric Event Tracking In Your Application
Depending on the SDK used to integrate with Usage Intelligence, refer the corresponding document for instructions for Logging a Custom Event as name/value string pairs:
C++ for Windows SDK
C++ for macOS SDK
C++ for Linux SDK
Objective-C for macOS SDK
Java SDK
.NET SDK
.NET Multiplatform SDK
Viewing Custom Events
Custom events (sent / pushed / logged) will be visible on the Recent Custom Events tab of the Features & Event Tracking > Custom Event Tracking page in the format as shown below.
Example: ReportLoad Report
The following is an example of creating a Custom Events Report for an event named ReportLoad.
Requirements
To generate this report, the following items must be true:
For example, suppose you have an event with a category of ApplicationRuntime and an event name of ReportLoad.
That event has data such as file size, duration and CPU usage to report.
Format the name in a name/value string pair, such as File_Size_KB, as shown below:
A unit should be mentioned at the end of the name such as KB, ms, or %, preceded by an underline "_". If there is no unit, use “none” at the end. Here are examples of custom event names:
File_Size_KB visible in report as File Size (KB).
Duration_ms visible in report as Duration (ms).
CPU_Usage_% visible in report as CPU Usage (%).
Prediction_none visible in report as Prediction.
Values are considered only if they are numeric; everything else is ignored.
NOTE: In SDK API code, values are sent as strings, but the value represented as string should be numeric.
Numeric values should be greater than or equal to 1.
Code Snippet Example to Send Custom Numeric Events
The following is an example code snippet for the Windows C++ SDK to push an event to the Usage Intelligence platform.
bool AddDictionary(RUIINSTANCE* myInstance)
{
std::vector<RUINameValuePair> dictionary(3);
dictionary[0] = {"CPU_Usage_%", "85"};
dictionary[1] = {"File_Size_KB", "1062"};
dictionary[2] = {"Duration_ms", "7801"};
RUIRESULT rc = ruiTrackEventCustom(myInstance, "ApplicationRunTime", "ReportLoad", dictionary.data(), 3, nullptr);
return true;
}
Call AddDictionary function
Setting Up the Custom Event Tracking Report
Ensure that the event is set as Tracking on the Event Tracking Management tab of the Admin > Product page.
Once such events are sent, verify if they seem correct on the Recent Custom Events tab of the Feature & Event Tracking > Custom Event Tracking page. If required, make changes and send it again.
If the events are pushed correctly, such events will be visible on the Custom Event Tracking Management tab of the Admin > Product page. They will be in an untracked state initially. After verifying details displayed, select the Tracking checkbox for each of the events to be tracked.
After the event is set to Tracking, subsequent data sent in for that event will be collected and will be ready to be viewed in reports on the Custom Event Reporting tab of the Feature & Event Tracking > Custom Event Tracking page.
Viewing a Custom Event Tracking Report
To view a Custom Event Tracking report, perform the following steps.
To view the Custom Event Tracking report:
Open the Feature & Event Tracking > Custom Events page, and select the Custom Event Reporting tab. The page opens with the Custom Events Report Settings dialog box open.
On the Custom Events Report Settings dialog box, choose any event from the Event drop down menu.
Choose one or more items from the Event Data menu (maximum of 10).
Select a Date Range (within the last 90 days).
Click Save. The Custom Events Report Settings dialog box closes.
Click Apply. The report is generated. If there is no data to display, the report is blank.
Recommendations
Revenera recommends the following regarding Custom Numeric Event Tracking reporting:
It is recommended to keep the raw data feature enabled for reference. You can enable raw data export by contacting Revenera Support.
It is recommended to try this feature on your test or development accounts.
Coverage of Functionalities
Note the following regarding the range of capabilities of Custom Numeric Event Tracking reporting:
This feature is available for all products on production which meet the requirements.
You will be able to send custom events as name-value pairs with numeric values adhering to feature requirements documented under Requirements above.
You will be able to track/untrack the custom events on the Custom Event Tracking Management tab of the Admin > Product page.
You can see histogram reports for such tracked events, with specific date ranges (within the last 90 days) for selected sub data points. You can apply supported filters for the report.
Data collected for these reports will also be available with raw data for download and a custom events archive for download.
... View more
Feb 08, 2024
07:26 AM
Hello,
At this time, FlexNet License Server Manager can only be used to manage Local License Servers. To manage Cloud License Servers, you would need to use the APIs or flexnetlsadmin, as described in this topic:
Using the FlexNet License Server Administrator Command-line Tool
However, FlexNet License Server Manager support for Cloud License Servers is a feature that customers have requested and Revenera will be prioritizing it soon.
... View more
Feb 06, 2024
07:12 AM
If you are experiencing any issues with tracking new events in Usage Intelligence, perform the following troubleshooting steps.
Check Version
Make sure that you are using Usage Intelligence Version 3 (https://analytics.revenera.com). Usage Intelligence Version 2 (https://analytics.revulytics.com) is now in read-only mode.
Troubleshooting Steps
Open the Event Tracking Management tab of the Admin > Product page and search for the event that you want to track. Then perform the steps below depending upon whether the event was found or not.
Event is Found
If the event is found on the Event Tracking Management tab, perform the following steps:
Ensure that the checkbox is selected in the Tracking column (or the Standard Tracking column if you are in a legacy plan that includes advanced tracking) for that event in the listing on the Event Tracking Management tab. If that checkbox is not selected, select it and click Save. After that, the event should start being reflected in reports based on its usage.
If you are not able to enable tracking for that event, check to see if your Events quota is exceeded.
NOTE: On the Quota & Usage tab of the Admin > Quota & Billing page, the quotas for both events and custom events are shown. In the Current Product Quotas chart, the quota shown for Custom Events is for the size (in MB) of custom event data, while the quota shown for Events specifies the total number of events that can be tracked (either regular events or custom events).
Event is Not Found
If the event is not found on the Event Tracking Management tab, check if to see if you have reached the maximum threshold of 3,000 events (tracked and untracked). If you have reached that threshold, some events need to be deleted to make room for new events.
For deletion, you may choose events which you are no longer interested in.
After identifying such events, contact Revenera Support with a list of those event IDs and product IDs and we will remove those events.
If you are not interested in all untracked events, you can contact Revenera Support and request the deletion of all untracked events for your product ID.
CAUTION: Once an event is removed, all its historical usage data will be lost and you will not be able to view it on reports.
NOTE: If you still continue to use a deleted event from the SDK, it will be rediscovered and listed on the Event Tracking Management page as a new event. If you start tracking it again, Usage Intelligence will start collecting its usage data from that point onward.
Still Having Issues?
If you have checked everything mentioned above and are still facing issues, contact Revenera Support.
Related Articles
The following articles on the Revenera Community are related to this issue:
Reset Event Usage Timeline
Event IDs Greater Than 3000
... View more
Dec 21, 2023
11:10 AM
During the period of December 15-December 20, a cache setting was mistakenly changed on the Revenera Documentation site, docs.revenera.com. Although this issue is now resolved, for any pages that you viewed during that date interval, your browser cache may be preventing you from seeing the latest updates on those pages until the browser cache respects the new cache settings. To ensure that you see the latest changes on any docs.revenera.com page, we recommend that you clear your browser cache, as described below. We apologize for the inconvenience.
For instructions to clear your browser cache, click on one of the following links:
Google Chrome
Microsoft Edge
Mozilla Firefox
Safari for macOS
Opera
... View more
Oct 02, 2023
10:59 AM
Report data may be segmented in up to 3 levels. Each level represents a property. Using multi-level segmentation, you can create hierarchical reports that are used to drill down based on the property values. For example, you can create a report that splits all the users based on which edition they are using. Then, you can split the user counts for each edition based on product version on level 2. Finally, the user counts for each product version can be split up by product build on level 3.
Such multi-level reporting is available only when not splitting by date. Splitting by date is meant to be used in timeline reports, and creating such a hierarchy for each date would result in a huge data set which would only have limited use. When date splitting is used, segmentation with 1 level is still allowed, however. This allows creating timeline reports where each line represents a property value, such as comparing usage trend for version 1 vs version 2.
Segmentation is optional. In order not to split data by any property, you may either not include a levels property in the request object, or else leave the levels object empty. The following examples show the difference between not requesting any segmentation, requesting a single level, and requesting 2 levels:
Number of Levels
Description
0 Levels
New Users: 30
Active Users: 100
Lost Users: 20
1 Level
PRODUCT VERSIONS
Version 1:
New Users: 10
Active Users: 30
Lost Users: 8
Version 2:
New Users: 20
Active Users: 70
Lost Users: 12
2 Levels
PRODUCT VERSIONS
Version 1:
New Users: 10
Active Users: 30
Lost Users: 8
PRODUCT EDITIONS
Premium:
New Users: 4
Active Users: 13
Lost Users: 1
Standard:
New Users: 6
Active Users: 17
Lost Users: 7
PRODUCT VERSIONS
Version 2:
New Users: 20
Active Users: 70
Lost Users: 12
PRODUCT EDITIONS
Premium:
New Users: 5
Active Users: 40
Lost Users: 4
Standard:
New Users: 15
Active Users: 30
Lost Users: 8
In the above examples, the first example, 0 Levels, is showing a case where no segmentation is being applied.
The second example, 1 Level, is showing a response where a single level of segmentation has been requested. In this case, segmentation is being done based on product versions. For each product version, one can see the number of new, active, and lost users within the specified date range. Segmenting by 1 level is also possible in reports that use date splitting, so, in a similar example, one would be able to see how many users were using a specific version on each day within the date range.
The third example, 2 Levels, shows 2 levels of segmentation. In this example, one can see how many new, active, and lost users were using each version, and then, that data is further split by product edition. A further level is also allowed, so, for example one may choose to segment each product edition by product language.
The properties that are available for segmentation are the same ones that are used for Global Filters in API Reporting. There are 4 properties that require special formatting. These are described below.
Segment levels are to be defined in a property inside the main JSON object named “levels”. This property should contain a JSON object which contains the following members:
property (string)—The name of the property by which to segment. Note that in case of os, geography, licenseStatus and gpu, a special format is used.
segments (array)—An array containing a number of JSON objects. The format of these object is described in the Level Segments Format section below.
sort (string)—Optional property to specify how the segments in this level are to be sorted. Possible values are alpha, new, active, and lost. alpha refers to alphabetical sorting which is based on the segment label. The other 3 are based on the client statuses. Note that if sorting by new, active, or lost users, that particular client status must be included in the clientStatus array. If this property is not included, the data is sorted alphabetically by default.
sortDirection (string)—Optional property to specify whether to sort in ascending or descending order. Possible values are asc and desc. If not specified, data is sorted in ascending order by default.
For more information, see:
Level Segments Format
Segments are defined as JSON objects. A single JSON object may create a single item on a table (or a single series on a timeline chart), or it may create a number of items/series if splitting is enabled. Each object should contain the following:
type (string)—The data type of the value. Can be string, stringArray, regex, number or numberRange based on whether the property is string-based or numeric. For more information, see Global Filters in API Reporting.
value (string/array/number)—An exact string, an array of strings, a regular expression or a numeric value. This property should not be used if type is numberRange. Format is based on whether the property is string-based or numeric. For more information, see Global Filters in API Reporting.
min (number)—Used only if the type is numberRange. Contains the minimum numeric value to include in this segment. May be combined with max.
max (number)—Used only if the type is numberRange. Contains the maximum numeric value to include in this segment. May be combined with min.
split (boolean)—Used only if the type is stringArray or regex. This specifies whether to split the returned data based on each different value matched by the regular expression or array (true), or to join all the clients that match the value as 1 table value or series (false).
segmentLabel (string)—Used only if split is false or if type is numberRange. This is required to give a name to a series when not splitting by value. It is important that the name given is unique.
limit (integer)—Optional property to set the limit on the maximum number of table values or series that should be produced by this set of values. To be used only if split is true.
String-Based Segmentation Properties
The following properties are stored as strings:
machineId clientId prodVersion prodEdition prodBuild prodLanguage licenseType formFactor * osLanguage osWordLength * cpuType * javaVersion * javaVendor * javaRuntime * javaGraphics * javaVmVersion * javaVmName * vm * C01 .. C20 (Custom properties) licenseKey *
NOTE: licenseKey requires a special user permission to be used for segmentation.
NOTE: Properties marked with an asterisk (*) are based on the current (latest known) values.
The type field when using one of the above properties needs to be string, stringArray or regex. A value field is always required. The contents of this field should be according to the specified type.
If string is specified, then the value field must contain a single string that needs to be matched precisely with the stored data.
If stringArray is specified, then the value field must contain an array of strings where one of which needs to match precisely with the stored data.
If specifying a regex, the value field should contain a string which is treated as a regular expression and the stored data will be matched against it using regular expression rules.
Example Using 1-Level Segmentation by string, stringArray, and regex Values
{
"level1": {
"property": "prodVersion",
"segments": [
{
"type": "string",
"value": "1.0"
},
{
"type": "stringArray",
"value": ["2.0", "2.1", "3.1"],
"split": false,
"segmentLabel": "Versions 2 and 3"
},
{
"type": "regex",
"value": "^4\..*",
"split": false,
"segmentLabel": "All version 4"
},
{
"type": "regex",
"value": "^5\..*",
"split": true
}
]
}
}
In the above example, we are requesting a report with multiple segments. The first segment contains installations running version 1.0. Notice how this does not require a “split” property since there is only 1 value and therefore no further splitting is possible. The second segment contains versions 2.0, 2.1 and 3.1. In this case, the “split” property is required, and since we are requesting the API to combine these 3 versions, we must provide a “segmentLabel” value so that the returned data can be identified. The third segment is similar, although in this case the request is built using a regular expression. In this case, all versions starting with “4.” are to be included into one combined segment.
The last segment is different from the rest because we are requesting the API to split the data (split is set to true). Therefore, this can produce much more than 1 segment. In this case, we could see segments such as “5.1”, “5.2”, etc. Notice how since we are splitting, we should not provide a segmentLabel value since the labels are built using the different values that are found in the data.
Numeric Segmentation Properties
The following properties are stored as numeric values:
cpuCores * displayCount * ram * resolutionWidth * resolutionHeight * lifetimeRuntimeMinutes * lifetimeSessionCount * screenPpi * javaVmRam *
NOTE: Properties marked with an asterisk (*) are based on the current (latest known) values.
The type field in the above properties needs to be number or numberRange. If number is specified, then a value field must also be present. The value field should contain a number, which may contain a decimal point if required. If numberRange is specified, then the value field should NOT be used. Instead, the properties min and max are to be used. These refer to the minimum and maximum number to be included in the report. If only one limit needs to be set, the other property is to be left out. Therefore, if you want to include installations with up to 2 display devices, you would not specify a min value, but instead specify only a max and set it as 2.
Example Using 1-Level Segmentation by number, and numberRange Values
{
"level1": {
"property": "cpuCores",
"segments": [
{
"type": "number",
"value": 1,
},
{
"type": "numberRange",
"min": 2,
"max": 4,
"segmentLabel": "2 - 4"
},
{
"type": "numberRange",
"min": 5,
"segmentLabel": "5 +"
}
]
}
}
In the above example, we are requesting a report with 3 segments. The first segment contains only installations running on 1 CPU core, the second segments contains installations running on 2, 3, or 4 cores (range 2 - 4), while the last segment contains all installations which are running on a machine with 5 or more CPU cores. Note how when the type was numberRange, we had do specify a segmentLabel which is a free string that will be used by the user to identify what is being included in that specific segment.
Boolean Segmentation Properties
The following properties are stored ad boolean values:
touchScreen
The type field needs to be boolean, and the value must be true or false. A segmentLabel field is also required
Example Using 1-Level Segmentation by Boolean Value
{
"level1": {
"property": "touchScreen",
"segments": [
{
"type": "boolean",
"value": true,
"segmentLabel": "Yes"
},
{
"type": "boolean",
"value": false,
"segmentLabel": "No"
},
{
"includeNull": true,
"segmentLabel": "Unknown"
}
]
}
}
In the above example, we are requesting a report with 3 segments. The first segment contains installations on which a touch screen was detected, the second one where no touch screen has been detected, while the last one is where we could not detect whether a touch screen is present due to the client using an old SDK which did not have touch screen detection support.
Special Segmentation Properties
Some properties need to be represented in a special format due to their unique requirements. These special properties are described below.
Special Segmentation Format: licenseStatus
The licenseStatus value is made up of 4 sub-values: activated, blocked, expired and allowed. These are presented as boolean values. Any number of segments can be defined, and each segment can contain any subset of the 4 sub-values. These values are ANDed together. A segmentLabel value is required.
In the following example, 2 segments are specified - the first one showing blocked AND not expired and the second one showing allowed AND activated:
[
{
"segmentLabel": "BL and not EXP",
"blocked": true,
"expired": false
},
{
"segmentLabel": "WL and ACT",
"allowed": true,
"expired": true
}
]
Special Segmentation Format: os
The os value is made up of 3 granularity levels - platform, version, and edition. A particular level needs to be selected, and this is to be included in the property name such as os.version or os.edition. Different granularity levels can be requested for different segmentation levels. Therefore, it is possible to generate a 3-level hierarchical tree in which level 1 would show the OS platform, level 2 would show the version, and level 3 would show the full name including the OS edition or sub-version. For a description of the differences between the 3 granularity levels, refer to Global Filters in API Reporting.
The following example shows the levels object requesting 3 granularity levels as described above:
{
"level1": {
"property": "os.platform",
"segments": [
{
"type": "regex",
"value": ".*",
"split": true
}
]
},
"level2": {
"property": "os.version",
"segments": [
{
"type": "regex",
"value": ".*",
"split": true
}
]
},
"level3": {
"property": "os.edition",
"segments": [
{
"type": "regex",
"value": ".*",
"split": true
}
]
}
}
In the above example, no filtering is being done, and instead, a regular expression to include everything is set as the value. This will result in all OS platforms, versions, and editions to be included in the hierarchy.
Special Segmentation Format: geography
The geography value is made up of 3 granularity levels - continent, country, and usState. These granularity levels are explained in Global Filters in API Reporting. A particular level needs to be selected, and this is to be included in the property name such as geography.continent or geography.country. Different granularity levels can be requested for different segmentation levels. Therefore, it is possible to generate a 3-level hierarchical tree in which level 1 would show the continent, level 2 would show the country, and level 3 would show the US state (for United States only).
The following example shows the levels object requesting 3 granularity levels as described above:
{
"level1": {
"property": "geography.continent",
"segments": [
{
"type": "regex",
"value": ".*",
"split": true
}
]
},
"level2": {
"property": "geography.country",
"segments": [
{
"type": "regex",
"value": ".*",
"split": true
}
]
},
"level3": {
"property": "geography.usState",
"segments": [
{
"type": "regex",
"value": ".*",
"split": true
}
]
}
}
In the above example, no filtering is being done, and instead, a regular expression to include everything is set as the value. This will result in all the continents, countries and US states (where applicable) to be included in the hierarchy.
Special Segmentation Format: gpu
The gpu value is made up of 2 granularity levels - vendor and model. These granularity levels are explained in Global Filters in API Reporting. A particular level needs to be selected, and this is to be included in the property name, namely gpu.vendor or gpu.model. Different granularity levels can be requested for different segmentation levels. Therefore, it is possible to generate a 2-level hierarchical tree in which level 1 would show the vendor, and level 2 would show the model number.
The following example shows the levels object requesting 2 granularity levels as described above:
{
"level1": {
"property": "gpu.vendor",
"segments": [
{
"type": "regex",
"value": ".*",
"split": true
}
]
},
"level2": {
"property": "gpu.model",
"segments": [
{
"type": "regex",
"value": ".*",
"split": true
}
]
}
}
In the above example, no filtering is being done, and instead, a regular expression to include everything is set as the value. This will result in all the GPU vendors and models to be included in the hierarchy.
Special Segmentation Format: optOut and backOff
Both backOff and optOut values are made up of 2 boolean sub-values: historical and current. Any number of segments can be defined, and each segment can contain any subset of the 2 sub-values. These values are ANDed together. A segmentLabel value is required.
In the following example, 2 segments are specified - the first one showing historical AND not current and the second one showing not historical (i.e. never opted-out):
[
{
"segmentLabel": "HISTORICAL and not CURRENT",
"historical": true,
"current": false
},
{
"segmentLabel": "Never opted-out",
"historical": false
}
]
<NULL> Values in Segmentation and Levels (Date-Range Reports)
Null values in segmentation are to be requested in a similar way to <NULL> Values in Global Filters (Date-Range Reports). The same properties that support null in filtering also support null in segmentation.
By default, when segmenting, null values are not included within the segments, since only the values that have been specified in each segment are included. Null values don’t match any regular expression, so the only way to request null values to be included is to specify “includeNull” as true in a similar way to filtering. In segmentation, null values are returned as “<NULL>”. The API considers all cases where the data has never been set from the SDK, set as an empty string, or set as a string containing “<NULL>” to be the same.
The following example requests all values of prodBuild including null:
{
"level1": {
"property": "prodBuild",
"segments": [
{
"type": "regex",
"value": ".*",
"includeNull": true
}
]
}
}
In the case of segmentation properties that use sub-properties (os, geography, and gpu), the includeNull value is to be included in the sub-property and applies to that specific sub-property only. In order to be able to include the includeNull property, instead of providing the value as a string or an array of strings, the value of the sub-property must be a JSON object that cointains a property named “value”, and another named “includeNull”. Each of these properties is optional, but at least one of them must be present. The same rules that apply for filtering these types of properties for null values also apply to segmentation.
In the following example, we are requesting segmentation by continent and are also requesting the number of clients where we could not detect the geographical location:
{
"level1": {
"property": "geography",
"segments": [
{
"type": "regex",
"continent": {
"value": ".*",
"includeNull": true
}
}
]
}
}
... View more
Oct 02, 2023
09:01 AM
Most of the available filter properties are string-based. This means that when applying a filter, the requested field can be represented as a string, stringArray or regex. There are also some filters which are numeric. These filters should be represented as number or numberRange.
String-Based Filters
The following properties are stored as strings:
machineId * clientId * prodVersion prodEdition prodBuild prodLanguage licenseType formFactor * osLanguage osWordLength * cpuType * dotNetVersion * javaVersion * javaVendor * javaRuntime * javaGraphics * javaVmVersion * javaVmName * vm * C01 .. C20 (Custom properties) licenseKey *
NOTE: licenseKey requires a special user permission to be used as a filter.
NOTE: Properties marked with an asterisk (*) are based on the current (latest known) values.
The type field in the above filters needs to be string, stringArray or regex. A value field is always required. The contents of this field should be according to the specified type.
If string is specified, then the value field must contain a single string that needs to be matched precisely with the stored data.
If stringArray is specified, then the value field must contain an array of strings where one of which needs to match precisely with the stored data.
If specifying a regex, the value field should contain a string which is treated as a regular expression and the stored data will be matched against it using regular expression rules.
Example Filter Using a String Value
In this example, the product build value needs to be exactly “3014.int-12214”:
{
"prodBuild":
{
"type": "string",
"value": "3014.int-12214"
}
}
Example Filter Using a String Array
In this example, the product build value needs to be either “3014.int-12214”, “3017.enx-57718”, or “4180.vrx-81059”. Note that since the type is declared as stringArray, the value field needs to contain an array. Consider all elements in the array to have an OR logical expression between them.
{
"prodBuild":
{
"type": "stringArray",
"value": ["3014.int-12214", "3017.enx-57718", "4180.vrx-81059"]
}
}
Example Filter Using a Regular Expression
In this example, the product build value needs to start with “30” and end with “18” whilst having 10 characters in between:
{
"prodBuild":
{
"type": "regex",
"value": "^30.{10}18$"
}
}
Numeric Filters
The following properties are stored as numeric values:
cpuCores * displayCount * ram * resolutionWidth * resolutionHeight * lifetimeRuntimeMinutes * lifetimeSessionCount * screenPpi * javaVmRam *
NOTE: Properties marked with an asterisk (*) are based on the current (latest known) values.
The type field in the above filters needs to be number or numberRange.
If number is specified, then a value field must also be present. The value field should contain a number, which may contain a decimal point if required.
If numberRange is specified, then the value field should NOT be used. Instead, the properties min and max are to be used. These refer to the minimum and maximum number to be included in the report. If only one limit needs to be set, the other property is to be left out. Therefore, if you want to include installations with up to 2 display devices, you would not specify a min value, but instead specify only a max and set it as 2.
Example Filter Using a Number Value
In this example, the number of display devices needs to be exactly 3:
{
"displayCount":
{
"type": "number",
"value": 3
}
}
Example Filter Using a Number Range Value
In this example, the RAM needs to be between 1025MB and 4096MB (both included):
{
"ram":
{
"type": "numberRange",
"min": 1025,
"max": 4096
}
}
Date Range Filters
The following properties are stored as dates:
dateInstalled dateLastSeen
The type field in the above filters needs to be date or dateRange.
If date is specified, then a value field must also be present. The value field should contain a date.
If dateRange is specified, then the value field should NOT be used. Instead, the properties min and max are to be used. These refer to the minimum and maximum dates to be included in the report. If only one limit needs to be set, the other property is to be left out.
In the following example, users installed after January 1st 2018 are to be shown:
{
"dateInstalled":
{
"type": "dateRange",
"min": "2018-01-01"
}
}
Note that all dates must be in ISO 8601 format.
Boolean Filters
The following property is stored as boolean:
touchScreen
The type field in the above filters needs to be boolean. The value must be true or false.
In the following filter, clients with a touch screen are being requested.
{
"touchScreen":
{
"type": "boolean",
"value": true
}
}
Special Filters
Some filters need to be represented in a special format due to their unique requirements. These special filters are:
Special Filter: licenseStatus
The licenseStatus filter is made up of 4 sub-values: activated, blocked, expired and allowed. These are presented as boolean values.
Unlike other filters, this filter is presented as an array of JSON objects. Each object can contain a subset (or all) of these 4 boolean values.
Consider the following example. In this example, for a client to be included, the license has to either be activated AND allowed, or else it can be not allowed AND expired. In other words, ( (activated AND allowed) OR ((NOT)allowed AND expired) ).
{
"licenseStatus":
[
{
"activated": true,
"allowed": true
},
{
"allowed": false,
"expired": true
}
]
}
Special Filter: os
The os filter is made up of 3 granularity levels. These are platform, version, and edition. These are meant to split the OS name into levels of detail as required by the user. Consider the following:
platform: Microsoft Windows
version: Microsoft Windows 7
edition: Microsoft Windows 7 Professional
If a filter is set on the version “Microsoft Windows 7”, the result would include all editions of Windows 7. One or more of these granularity levels may be specified. If more than 1 granularity level is specified, the values are ORed together.
In the following example, all editions of “Microsoft Windows 7” are included, and also “Microsoft Windows Vista Home Premium”:
{
"type": "string",
"version": "Microsoft Windows 7",
"edition": "Microsoft Windows Vista Home Premium"
}
In the following example, the type is stringArray. Note that an array needs to be passed if the type is set as such, even if it is to contain only 1 element. In this case, the version can be either “Microsoft Windows 7” or “Microsoft Windows 8” (which are ORed together). Also, clients running on “Microsoft Windows XP Professional” are to be included.
{
"type": "stringArray",
"version": ["Microsoft Windows 7", "Microsoft Windows 8"],
"edition": ["Microsoft Windows XP Professional"]
}
Special Filter: geography
The geography filter is made up of 3 granularity levels. These are continent, country, and usState.
The usState value applies only to United States. Continents and countries are presented in 2-letter codes. Countries follow ISO standard 3166-1 alpha-2. US states are presented in ISO 3166-2:US format.
In the following example, the clients have to be either:
In the continents Asia or Oceania
In the country Germany
In the US states New York, New Jersey, or Kansas
{
"type": "stringArray",
"continent": ["AS", "OC"],
"country": ["DE"],
"usState": ["US-NY", "US-NJ", "US-KS"]
}
IMPORTANT: In this filter, the type can be string or stringArray. Regular expressions are not supported in geography filters.
Special Filter: gpu
The gpu filter is made up of 2 granularity levels. These are vendor and model. Both are represented as string values.
In the following example, the clients have to have a GPU:
From the vendors NVIDIA or Intel
With the model AMD Radeon HD 4600
{
"type": "stringArray",
"vendor": ["NVIDIA", "Intel"],
"model": ["AMD Radeon HD 4600"]
}
Special Filters: optOut and backOff
The opt-out mechanism was introduced in SDK version 5.1.0. With this feature, vendors can have their application report to the Usage Intelligence servers that a user does not want to be tracked. Using this property, vendors can filter out installations that were opted-out.
Similarly, backoff filtering was introduced with version 5.0.0. Backoff is when a product account runs over-quota and the server starts rejecting data. Although filtering for backed-off installations was introduced with version 5, it was also backported to previous versions. However, when a new installation with an SDK prior to version 5 tries to register with the server and is rejected, it is not marked as being once backed-off when it is eventually accepted by the server. With version 5 onwards, the server flags an installation as being historically backed-off in such cases.
Both backOff and optOut filters are made up of 2 boolean sub-values: historical and current.
The historical value refers to installations that were once backed-off or opted-out. These may include installations that are still currently backed-off or opted-out.
The current value refers to the status during the last time that the client called the server. Therefore, if an installation was opted-out yesterday but got opted-in today, it will be marked as historically opted-out but not currently opted-out.
In the following example, for a client to be included, the optOut status has to either be historical AND not current, or else it can be not historical (i.e. users have to be currently opted-in but used to be opted-out at some point or never opted out).
{
"optOut":
[
{
"historical": true,
"current": false
},
{
"historical": false
}
]
}
Special Filter: lifetimeEventUsage
Using lifetime event usage filters, clients can be filtered based on whether a particular event or set of events occurred or not within the client’s lifetime. Alternatively, one can set a filter based on the number of times an event has occurred.
In the following example, clients that are included must have done the “File Operations - Open” event at least 5 times to be counted.
{
"category": "File Operations",
"name": "Open",
"min": 5
}
In the following example, clients must have done either “File Operations - Open” or “File Operations - Save” for a combined total of between 10 to 50 times.
{
"combiArray": [
{
"categoryType": "string",
"nameType": "string",
"category": "File Operations",
"name": "Open"
},
{
"categoryType": "string",
"nameType": "string",
"category": "File Operations",
"name": "Save",
}
],
"min": 10,
"max": 50
}
In the following example, clients must have done any event within the “File Operations” category for a combined total of not more than 100 times. This is done using a regular expression in the name.
{
"combiArray": [
{
"categoryType": "string",
"nameType": "regex",
"category": "File Operations",
"name": ".*"
}
],
"max": 100
}
Special Filter: reachOutDeliveries
Using ReachOut delivery filters, clients can be filtered based on whether a particular ReachOut message or a combination of ReachOut messages were delivered or not within the client’s lifetime.
The filter consists of a JSON array that includes one or more objects. Each object is a combination of delivered and undelivered campaigns, and the different combinations are ORed together. Therefore, it is possible to show users that either received ReachOut message 1 but not 2, or else received 3 but not 4 as in the following example.
In the following example, we are looking for clients who either received campaign 1 but not 2, OR received campaign 2 but not 3.
[
{"auto": {"delivered": ["1"], "undelivered":["2"]}},
{"auto": {"delivered": ["2"], "undelivered":["3"]}}
]
The above example contains only “auto” ReachOut campaigns. Manual campaigns can be specified using “manual” instead of “auto” as in the above example. Each object can contain a mix of “auto” and “manual” campaigns.
<NULL> Values in Global Filters (Date-Range Reports)
Most of the available properties can include null values. There are different reasons why a value would be null. When these are properties that are set by the application, the possible reasons why a value would be null are: cases where the value has not been set by the application (such as prodBuild never being set), and cases where values are set to an empty string (“”) or to a string containing “<NULL>”.
One other reason is that although these values have been set, the SDK has not yet had time to sync with the servers to provide this new information.
In cases where the properties are set automatically such as hardware or OS related information, the values would be null if the SDK failed to retrieve that value from the OS or if the server failed to identify the value retrieved by the SDK.
Other reasons include cases where Java version is requested from an application that does not use the Java SDK, US state is requested for users who are not running within the US, etc.
The following are the properties that support null values:
prodVersion prodEdition prodBuild prodLanguage machineId formFactor vm cpuType cpuCores ram resolutionWidth resolutionHeight javaVersion javaVmVersion javaVmName javaVendor javaRuntime javaGraphics osLanguage licenseKey C01 .. C20 (Custom properties) os geography gpu
Null values can be requested either on their own or as part of a filter containing other values.
The following example would return only cases where the prodVersion is null:
{
"prodVersion":
{
"includeNull": true
}
}
The following example would return cases where the prodVersion is either 1.1, 1.2 or null:
{
"prodVersion":
{
"type": "stringArray",
"value": ["1.1", "1.2"],
"includeNull": true
}
}
By default, when specifying a filter, null values would not be included. Therefore, in the following example, only clients with prodVersion set to 1.1 or 1.2 will be included, while null values are excluded:
{
"prodVersion":
{
"type": "stringArray",
"value": ["1.1", "1.2"]
}
}
However, if no filter is specified, then nulls are included by default. Therefore, if you want to include any value of prodVersion as long as it is not null, a prodVersion filter needs to be included as follows:
{
"prodVersion":
{
"type": "regex",
"value": ".*",
"includeNull": false
}
}
In the case of filters that use sub-properties (os, geography, and gpu), the includeNull filter is to be included in the sub-property and applies to that specific sub-property only. In order to be able to include the includeNull property, instead of providing the value as a string or an array of strings, the value of the sub-property must be a JSON object that contains a property named “value”, and another named “includeNull”. Each of these properties is optional, but at least one of them must be present.
In the case of geography, this has a very particular meaning. Requesting for null “country” value does not return all cases where the country could not be retrieved, but only cases where the continent could be retrieved but the country could not. Similarly, requesting null “usState” returns cases where the continent and country could be retrieved but the US state could not. This does not include clients that are not situated in the US. If you are interested in finding clients where we could not detect any geographical data, the includeNull filter needs to be applied in the continent sub-property.
In the following example, we are requesting cases where we know that the client is within the US but the state could not be identified:
{
"geography":
{
"type": "string",
"country": "US",
"usState":
{
"includeNull": true
}
}
}
In the following example, we are requesting cases where the GPU is either “NVIDIA”, “AMD” or null (unidentified):
{
"gpu":
{
"type": "stringArray",
"vendor":
{
"value": ["NVIDIA", "AMD"],
"includeNull": true
}
}
}
... View more
Sep 25, 2023
08:33 AM
1 Kudo
We are happy to announce the release of FlexNet Operations On-Premises 2023 R1 release, which is available for download from the Product and License Center. This notification includes the release highlights and resources for FlexNet Operations On-Premises 2023 R1.
Release Highlights
The following key features and enhancements were added to FlexNet Operations On-Premises as part of this release:
Entitlement Management
The following enhancements to entitlement management were added:
Ability to remove metered licenses from a CLS instance using web services
“Specify Expiration Date” during entitlement creation now marked as mandatory
Support for custom host attributes of type “Hex”
Improved filter for listing entitlements in End-User Portal
New merge tag for part number description in entitlement email template
Ability in bulk upgrade wizard to copy custom attributes
Enhancement to bulk upgrade functionality for embedded devices using auto-fulfill
License model custom attributes are now editable
Improved cloud license server behavior for feature changes
New system configurations have been added to:
Control an entitlement’s lastModifiedDate
Remove metered licenses from a CLS instance
Control the “Qty to add” field for mapping activation IDs
License Management
New system configurations have been added to:
Enable producers to stop applying a -1 day rollback to the license start date
Consolidate the licenses that contain multiple line items for the same feature if certain entities are identical for all line items
Support multiple parent license server instances
Device Management
Producers can now limit or prohibit binding-break repairs on the local license server.
SOAP Web Services
The following enhancements to SOAP web services were added:
Enhancements to Entitlement Order Service (Version 5):
New optional parameter to return entitlement line items based on their license model type (embedded or non-embedded)
New method to support sortBy parameter for sorting columns
Enhancements to User Account Hierarchy Service:
New version 5 enables producers to retrieve the account ID and the account name in one SOAP call
New method to support sortBy parameter for sorting columns (version 4)
Enhanced filtering functionality for searchDevices operation in Manage Device service (version 5)
Introducing Download Packaging service version 3 with new search parameter, which enables producers to import data about periodic updates into their back office system
Enhancement to Product Packaging service (version 2), enabling producers who manage their own end-user portal to display periodic updates to their products
Export and Import
Producers can now update product line names, maintenance product names, and the product name and version using the Product Packaging import template.
Account & User Management
The following enhancements to account and user management were added:
Producers now have greater control over who can edit a user’s geographic information in the End-User Portal.
A new lower-level permission can be used to allow users who should not have access to sensitive system configuration parameters to view trusted activation requests.
User Experience
The FlexNet Operations Producer Portal and End-User Portal online help are hosted on the Revenera Documentation Server, https://docs.revenera.com, providing one central location for all FlexNet Operations documentation.
For a more detailed list of changes and issue fixes in this release, please refer to the FlexNet Operations 2023 R1 On-Premises Release Notes on the Documentation site.
To download FlexNet Operations 2023 R1, navigate to the Product and License Center.
How to Create a Revenera Community User Account
How to Download Your Product from the Product and License Center
NOTE: A Revenera Community account is required to download from the Product and License Center. If you do not have an account, please see our community training videos below for guidance.
End of Life Notice
FlexNet Operations On-Premises 2023 R1 will follow our current end-of-life policy. Please see the FlexNet Operations end-of-life page for the product lifecycle timeline.
If you have any questions about this release or would like further assistance, please contact your Revenera account representative or our Revenera Technical Support team.
... View more
Labels
Sep 08, 2023
02:32 PM
If you are unable to login to https://analytics.revenera.com even though you are using the correct user name and password, it could be due to a browser caching issue. To resolve this issue, you should open your browser settings and delete cached data. The following instructions explain how to perform these steps.
Deleting Cached Data in Google Chrome
To delete cached data in Google Chrome:
Click the Chrome menu icon in the top right corner of the browser window and select Settings. The Settings page opens.
From the menu on the left, click on Privacy and security.
Click on Third-party cookies to expand that section.
Scroll down and click on See all site data and permissions.
Locate revenera.com in the list and click the Delete icon.
Deleting Cached Data in Microsoft Edge
To delete cached data in Microsoft Edge:
Click the Edge menu icon in the top right corner of the browser window and select Settings. The Settings page opens.
From the menu on the left, click on Cookies and site permissions.
Under Cookies and data stored, click on Manage and delete cookies and site data.
Click on See all cookies and site data.
Scroll down the list and locate revenera.com, and click on the Delete icon.
Deleting Cached Data in Mozilla Firefox
To delete cached data in Mozilla Firefox:
Click the Firefox menu icon in the top right corner of the browser window and select Settings. The General tab of the Settings page opens.
From the menu on the left, click on Privacy & Security.
Under Cookies and Site Data, click Manage Data.
On the Manage Cookies and Site Data dialog box, select revenera.com and click Remove Selected.
... View more
Labels:
Jun 08, 2023
09:47 AM
4 Kudos
The new FlexNet License Server Manager enables license administrators to manage the FlexNet Embedded local license server and its license distribution using a browser-based interface. This new administration tool replaces the previous License Server Manager, which was deprecated in the 2022.11 release.
This tool is provided as a separate package, called:
FlexnetLicenseServerManager-<version>.zip
The package is a Docker container which holds the image:
revenera/flsm:<version>
Producers can download the FlexNet License Server Manager, along with the FlexNet Embedded Local License Server, from the Flexera/Revenera Product and License Center. Producers can then make the FlexNet License Server Manager available to their customers.
End users can download the latest version of FlexNet License Server Manager here:
FlexNet License Server Manager
IMPORTANT: This ZIP file is for Docker consumption only, and is not to be extracted using other extraction tools. For information on how to install the FlexNet License Server Manager Docker container, see the FlexNet License Server Manager Guide on docs.revenera.com.
NOTE: Only the latest version of the FlexNet License Server Manager will be available for download. For prior versions, you must contact your software producer.
NOTE: If you require any assistance with the FlexNet License Server Manager, you must contact your software producer. Revenera does not provide end user support for this utility.
To view documentation for FlexNet License Server Manager, see the FlexNet License Server Manager Guide on docs.revenera.com.
... View more
Feb 19, 2021
12:12 PM
5 Kudos
In addition to the award-winning resources of our support web site, Revenera offers a number of maintenance plans that are fine-tuned to meet your specific needs. Each maintenance plan is per licensed user and allows you to submit unlimited support requests for the duration of your plan.
Maintenance Plans are only available for current products and can only be purchased as part of a bundle with a current Revenera product. If you own a previous version of a Revenera product, these bundles are also available at special upgrade pricing. At this time, new Maintenance Plans cannot be purchased separately.
Supported Products
The following products are supported:
Supported Products
FlexNet Operations, FlexNet Embedded, FlexNet Publisher
InstallShield, InstallAnywhere
Code Insight, SBOM Insights
For Maintenance Renewals, please contact your Renewals Account Representative or preferred Revenera reseller, or renew online.
Yearly Maintenance Plans
This section details what is included in the Gold and Silver yearly maintenance plans.
The Yearly Maintenance Plans include:
Gold *
Silver
Unlimited telephone support requests
Access to priority support channels for quickest service
Priority involvement in Beta Programs
Automatic notification of and access to all product updates (free) and upgrades (chargeable for non-Maintenance-Plan-holders) for 12 months
A Maintenance Plan Card detailing all benefits and plan specifics
24 x 7 access to Knowledge Base
24 x 7 access to product Web Communities
Sample Code, Sample Projects, and White Papers
Technical Webinars / Online Product Demonstrations
Unlimited Web-based requests using eService
Hours of operations
View Chart for Details
Per Support Center**
Initial Response Time
Per Severity Chart Below
16 Business Hours
* Not available for the InstallShield Express Edition
** Revenera will provide technical support via telephone Monday through Friday, during the office hours from the support center closest to Licensee (except on those days designated as Revenera holidays).
Lock in your upgrade pricing today and receive all new releases for a full year. If your responsibilities change, the plan is transferable to another member of your organization (call for details). Buy the smart, convenient way - with a Maintenance Plan!
Response Time
The following tables list the response times for Cloud and On Premise products for the Gold and Silver plans.
Cloud Products
Severity
Gold Plan - Initial Response Time
Silver Plan - Initial Response Time
Critical
30 minutes
16 business hours
High
2 business hours
Medium
4 business hours
Low
8 business hours
On-Premise Products
Severity
Gold Plan - Initial Response Time
Silver Plan - Initial Response Time
Critical
4 business hours
16 business hours
High
4 business hours
Medium
8 business hours
Low
16 business hours
Severity Criteria
There are 4 severity levels used to classify a case:
Severity 1 - Critical: Production use of the software is stopped or so severely impacted that authorized end users cannot reasonably use it.
Severity 2 - High: Use of the software can continue; however, productivity is significantly decreased.
Severity 3 - Medium: Major software documented features are unavailable, but a workaround is available, or less significant software documented features are unavailable with no reasonable workaround.
Severity 4 - Low: An issue that involves an inquiry regarding a routine technical issue; information requested on application capabilities, navigation, installation or configuration.
Hours of Operation (Gold Plan Only)
Products
Hours of Operations
FlexNet Operations, FlexNet Embedded, FlexNet Publisher
24x5
InstallShield, InstallAnywhere, AdminStudio, and Single License Products
Priority Queing on Designated Time Zone
... View more
- Tags:
- maintenance plan
Dec 21, 2020
10:25 AM
The Cross-Product report provides insight into how many unique machines have installed products for a given date range that are part of product groups that you create. Up to three groups of products can be utilized in the creation of the report.
NOTE: The date range that you can select is restricted. The oldest date that you can select is limited to the product in any group that has the shortest Date Retention history quota.
NOTE: Products included in Product Groups must be using the SDK version 5.0 or greater. Products using an earlier version of the SDK will report zero values as unique machine information was not available in SDKs prior to SDK 5.0.
Product groups typically contain products that vary based on version, but there are no restrictions on what products can be added to a group. For example, you might create a product group called Movie Edit that contains the products Movie Edit 2018, Movie Edit 2019, and Movie Edit 2020. This will be used by the report to cover machines that would contain Movie Edit 2018 or Movie Edit 2019 or Movie Edit 2020, or any two or three combinations of those products. You could also create a group named 2020 Versions and have Movie Edit 2020 and Picture Edit 2020 in that group. This would be used by the report to cover machines that would contain Movie Edit 2020 OR Picture Edit 2020 or both products.
Examples
A single group report can be used to get a quick count. In the following example, the group Picture Edit 2020 contains a single product (Picture Edit 2020), and the count represents the total number of machines with Picture Edit 2020 installed during the selected date range.
If you define two groups, then the report is based on the AND relationship between the two groups. In the example below, two groups have been defined: Picture Edit 2020 and Movie Edit 2020. Each of those contains a single product: Picture Edit 2020 and Movie Edit 2020, respectively. The report shows counts of machines with each individual product as well as a count of machines that have both products installed during the selected date range:
The maximum number of groups that can be defined is three groups. As with the two-group example, the report is based on AND relationships between the three groups. In the example below, we have the two groups defined previously and a new group called Older Versions. This group contains four products: Picture Edit 2019, Picture Edit 2018, Movie Edit 2019, and Movie Edit 2018. The resulting visualization shows machines installed with the individual groups as well as AND relationships showing counts of machines with the Older Versions and each 2020 product group. The center overlap shows the number of machines with all three groups installed during the selected date range.
If you hover your mouse over any of the circles or intersections, a tooltip is displayed describing what that intersection represents:
... View more
Apr 18, 2019
05:36 PM
Does InstallShield Limited Edition for Visual Studio Meet All Your Installation Requirements?
InstallShield Limited Edition for Visual Studio provides a small subset of the world-class functionality found in our other InstallShield editions. Many of the features our InstallShield customers love are locked and unavailable in your InstallShield Limited Edition.
If your installation requirements evolve beyond the capabilities of the InstallShield Limited Edition, consider upgrading to a more advanced InstallShield edition:
InstallShield Premier Edition This is the world's most powerful and flexible solution for building Windows installations. Capable of handling even the most complex installation requirements for desktop, server, Web, and mobile applications. The best choice for enterprise-level development environments. Try InstallShield Premier Edition now.
InstallShield A powerful and easy-to-use solution for building Windows installations. A great option for both novice and seasoned installation developers. Try InstallShield now.
The table below highlights some of the functionality differences among the different editions. Please visit www.revenera.com for more details.
Comparing InstallShield Editions
Feature
InstallShield Premier
InstallShield
Limited Edition for Visual Studio
Create Microsoft® App-V™ Installations - Now Included with Premier!
Build both physical and virtual application packages from the same build process. Includes new support for App-V 5.0.
Virtualization Suitability Testing
Ensure applications are compatible with enterprise application virtualization technologies, such as Microsoft App-V, VMware® ThinApp™ and Citrix® XenApp™.
Automate Installing Windows Roles and Features
Avoid the risk of manual tasks by automatically installing Windows roles and features with an application's installation.
Microsoft® PowerShell™ Support - Run PowerShell Scripts from Suite/Advanced UI Projects
Streamline server configuration tasks by running PowerShell scripts - the enterprise scripting language of choice.
Simplify Multi-Tier Installations
Use multi-tier installation templates to deploy web/server applications as a single cloud-ready package.
Windows 8® Validation Testing
Validate installations against Windows 8 and Windows Server 2012 best practices from Microsoft.
Windows 8 Start Screen Icon Pinning
Define the application shortcuts that are pinned to the Windows 8 start screen, delivering a clean first impression for the end-user.
Updated Advanced UI Designer
Create contemporary install experiences using new Wizard design capabilities.
Create Pure 64-Bit Installations
Deploy 64-bit applications using 64-bit installations that support Windows Server configurations where WoW64 has been disabled.
Hybrid Cloud Deployments
Microsoft® SQL Azure™ database scripting capabilities enable hybrid cloud SQL deployments.
Microsoft® Windows® 8 and Windows Server® 2012
Includes support for Microsoft Windows 8 and Windows Server 2012.
Microsoft® Visual Studio® 2012 Support
Includes support for Microsoft Visual Studio 2012.
Advanced Wizard Page Editor and Redesigned Wizard Pages
Provides an entirely new end-user interface with redesigned built-in wizard pages and a new wizard page editor.
Automatic Checking for Installer Updates and Patches
Automatically checks and downloads updates and patches at run-time.
Suite Installation Enhancements
Enhanced Suite/Advanced UI project type provides more capabilities to bundle multiple products together into a single, unified suite installation.
Microsoft® System Center 2012 Configuration Manager Support
Enables Software Producers to provide required deployment metadata to their Enterprise customers.
PowerShell Support
Enables Software Producers to streamline installation scripting requirements.
Suite Installations
With the new InstallShield Suite Project type, multiple products can be easily bundled together into a single, unified suite installation..
Installation Streaming
Installation Streaming reduces the downloading wait time required before installation can begin.
Installation Collaboration
The InstallShield Collaboration add-on has been significantly enhanced to better support distributed, collaborative installation development.
Build Events
InstallShield eliminates the need for you to manage external script files by integrating new pre- and post-build events with the InstallShield build process.
Multilingual Support
Present installation text in up to 35 languages.
Standalone Build System
Maintain a clean build machine by using only the part of InstallShield that compiles the installations.
InstallShield Best Practices Validation Suite
Avoid common installation issues.
Merge Module Projects
Merge Module Projects now include built-in support for IIS, text file changes, and XML file changes.
Automation Interface Support for Setting the Setup.exe Required Execution Level
The InstallShield automation interface lets you configure the required execution level for Setup.exe. The required execution level is the minimum level required by your installation's Setup.exe file for running the installation (the setup launcher, any InstallShield prerequisites, and the .msi file) on Windows Vista and later platforms.
Enhanced 64-Bit Application Support
New functionality gives developers more power to deploy applications on 64-bit systems.
Unicode InstallScript Support
Build InstallScript installations that support multiple languages in runtime strings, registry entries, dialog boxes, and more.
Enhanced Script Editor
New auto-completion functionality increases developer efficiency by reducing the time spent on typing code and helps eliminate typographical code errors.
Expiring Setup Launchers
Prevent your end users from installing outdated versions of applications.
Industry-Standard InstallScript
Achieve maximum flexibility in your installations.
Dialog Editor
Modify the layout of existing end-user dialogs, create new custom dialogs, and more.
Patch Creation
Build updates and patches for your products.
Setup Prerequisite Editor
Easily control prerequisite restart behavior and source locations.
String Editor View
Control the localizable text strings displayed at run time with this spreadsheet-like table.
Text File Changes View
Configure search-and-replace actions for content in text files to be modified at run time.
Unicode Support
Improve multi-language installation development.
Support for 64-Bit COM Extraction
Extract COM data from a 64-bit COM server
XML Support
Save time by quickly testing XML configuration changes to installation projects.
Standalone Build Add-On
InstallShield provides a Standalone Build add-on that enables installation developers to maintain a clean build system by using the part of InstallShield that builds the installations, plus any redistributables included in the installations.
5 Free Licenses
1 Free License
Standalone Build Licensing Changes
Standalone Build licenses come with InstallShield Premier and Professional Editions, and more are available for purchase.
5 Free Licenses
1 Free License
Specify Custom Icon and Version Resource Properties
Modify the icon and version resource properties to match your company and product branding.
Billboard Support for Custom Branding
display Adobe Flash billboards and other graphic files during the install process.
Saas Support (IIS 7 and SSL Technologies)
Easily deploy Windows-based Web applications.
Application Tagging
InstallShield is the only strategic installation development solution that creates ISO 19770-2 software identification tags as part of the installation development process.
Monitoring for COM Extraction
InstallShield supports a new monitoring method for COM extraction.
.NET Framework 4.5 and Other Prerequisites
Have installers check for and install required applications and system components during install time.
Integration with Microsoft Team Foundation Server
Use the Visual Studio IDE to effectively manage, compile, and build Visual Studio and InstallShield projects in a single environment.
New Predefined System Searches
New searches for .NET Framework 4.0, SQL Server 2008 Express SP1, and Adobe Reader 9 check if the required component is installed on the target system and take appropriate action.
Specify Folders for InstallShield Prerequisite Searches
This enhancement makes it easy for your development team to share prerequisites and store them in source code control.
Project Assistant
Jumpstart a project by using a simplified set of views.
Support for Digital Signatures
Save time by digitally signing all your files at build time.
Easily Run Custom Actions
Schedule a custom action to run at precisely the right moment in your installation.
... View more
Labels:
Latest posts by phowe
Subject | Views | Posted |
---|---|---|
11263 | Sep 12, 2024 08:52 AM | |
298 | Sep 06, 2024 12:43 PM | |
321 | May 02, 2024 01:41 PM | |
869 | Mar 29, 2024 10:31 AM | |
29595 | Feb 08, 2024 07:26 AM | |
869 | Feb 06, 2024 07:12 AM | |
779 | Dec 21, 2023 11:10 AM | |
1238 | Oct 02, 2023 10:59 AM | |
1077 | Oct 02, 2023 09:01 AM | |
713 | Sep 25, 2023 08:33 AM |
Activity Feed
- Posted Re: FlexNet License Server Manager Download and Guide on FlexNet Embedded Knowledge Base. Sep 12, 2024 08:52 AM
- Posted Integrating Usage Intelligence Reporting APIs with Power BI on Usage Intelligence Knowledge Base. Sep 06, 2024 12:43 PM
- Posted Legacy Usage Intelligence v2.0 Site Will Be Discontinued on May 31, 2024 on Usage Intelligence News. May 02, 2024 01:41 PM
- Tagged Legacy Usage Intelligence v2.0 Site Will Be Discontinued on May 31, 2024 on Usage Intelligence News. Apr 30, 2024 02:16 PM
- Posted Custom Numeric Event Tracking Reporting on Usage Intelligence Knowledge Base. Mar 29, 2024 10:31 AM
- Posted Re: FlexNet License Server Manager Download and Guide on FlexNet Embedded Knowledge Base. Feb 08, 2024 07:26 AM
- Posted Troubleshooting Issues with Tracking New Events on Usage Intelligence Knowledge Base. Feb 06, 2024 07:12 AM
- Kudoed Flexera Documentation Site Cache Issue Resolved for GregBirk. Dec 21, 2023 11:14 AM
- Posted Revenera Documentation Site Cache Issue Resolved on Community Information. Dec 21, 2023 11:10 AM
- Posted Segmentation and Levels (Date-Range Reports) in API Reporting on Usage Intelligence Knowledge Base. Oct 02, 2023 10:59 AM
- Posted Global Filters in API Reporting on Usage Intelligence Knowledge Base. Oct 02, 2023 09:01 AM
- Got a Kudo for Product News: FlexNet Operations On-Premises 2023 R1 Available for Download. Oct 01, 2023 07:21 AM
- Posted Product News: FlexNet Operations On-Premises 2023 R1 Available for Download on FlexNet Operations News. Sep 25, 2023 08:33 AM
- Posted Troubleshooting Usage Intelligence v3.0 Login on Usage Intelligence Knowledge Base. Sep 08, 2023 02:32 PM
- Posted FlexNet License Server Manager Download and Guide on FlexNet Embedded Knowledge Base. Jun 08, 2023 09:47 AM
- Posted Support Maintenance Plans on Support Information. Feb 19, 2021 12:12 PM
- Posted Using Cross-Product Reports on Usage Intelligence Knowledge Base. Dec 21, 2020 10:25 AM
- Kudoed CVE-2019-8960 remediated in FlexNet Publisher for cvirata. Nov 22, 2019 04:27 PM
- Kudoed Providing Support Organization Redirects for End Users for cvirata. Jun 04, 2019 03:27 PM
- Posted InstallShield Limited Edition for Visual Studio on InstallShield Knowledge Base. Apr 18, 2019 05:36 PM
Contact Me
Online Status |
Offline
|
Date Last Visited |
Nov 20, 2024
05:11 PM
|