- 1 Product Description
- 1.1 Known Versions
- 2 Software Pattern Summary
- 3 Platforms Supported by Software Pattern
- 4 Identification
- 4.1 Software Instance / Runtime Environment node Triggers
- 4.2 Additional Logic
- 4.3 Simple Identification Mappings
- 5 Versioning
- 5.1 Package Versioning
- 5.2 Product Mappings
- 6 Application Model Produced by Software Pattern
- 6.1 Product Architecture
- 6.2 Software Pattern Model
- 6.2.1 Additional Logic
- 6.2.2 Model
- 6.2.3 SI Depth
- 6.2.4 Relationship Creation
- 7 Subject Matter Expertise
- 8 Testing
- 9 Information Sources
- 10 Open Issues
- Discover with BMC ADDM
-
This product can be discovered by any edition of BMC Atrium Discovery and Dependency Mapping. Download our free Community Edition to try it out, or see what else it can discover!
- What is this?
- This is a product information page, containing details of the information that BMC Atrium Discovery gathers about a product and how it is obtained.
- Product Name
- .NET
- Publisher Page
- Category
- Release
- TKU 2012-May-1
- Change History
- Reports & Attributes
- Publisher Link
- Microsoft
Product Description
The Microsoft .NET Framework is a software component that can be added to, or is included as part of, the Microsoft Windows operating system.
It provides a large body of pre-coded solutions to common program requirements, and manages the execution of programs written specifically for the framework. The .NET Framework is a key Microsoft offering, and is intended to be used by most new applications created for the Windows platform.
The pre-coded solutions that form the framework's Base Class Library (BCL) cover a large range of programming needs in areas including user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications.
The functions of the class library are used by programmers who combine them with their own code to produce applications. From version 3.5 of the .NET Framework, the libraries will be released under shared-source Microsoft Reference License license.
Programs written for the .NET Framework execute in a software environment that manages the program's runtime requirements. This runtime environment, which is also a part of the .NET Framework, is known as the Common Language Runtime (CLR), the CLR provides the appearance of an application virtual machine, so that programmers need not consider the capabilities of the specific CPU that will execute the program.
The CLR also provides other important services such as security mechanisms, memory management, and exception handling. The class library and the CLR together compose the .NET Framework. The framework is intended to make it easier to develop computer applications and to reduce the vulnerability of applications and computers to security threats.
It is included with Windows Server 2003 and Windows Vista, and can be installed on most older versions of Windows.
Known Versions
| Version Name | Version Number | Release Date |
|---|---|---|
| 1.0 Beta 1 | 1.0.??.0 | -11-2000 |
| 1.0 Beta 2 | 1.0.2914.0 | 20-06-2001 |
| 1.0 RTM | 1.0.3705.0 | 05-01-2002 |
| 1.0 SP1 | 1.0.3705.209 | 19-03-2002 |
| 1.0 SP2 | 1.0.3705.288 | 07-08-2002 |
| 1.0 SP3 | 1.0.3705.6018 | 31-08-2004 |
| 1.1 RTM | 1.1.4322.573 | 01-04-2003 |
| 1.1 SP1 | 1.1.4322.2032 | 30-08-2004 |
| 1.1 SP1 (Windows Server 2003 Version) | 1.1.4322.2300 | 30-03-2005 |
| 2.0 RTM | 2.0.50727.42 | 07-11-2005 |
| 3.0 RTM | 3.0.4506.26 | ??-11-2006 |
| 3.0 RTM | 3.0.4506.30 | 06-11-2006 |
| 3.0 SP1 | 3.1.21022 | ?? |
| 3.5 Beta 1 | 3.5.20404 | ?? |
| 3.5 Beta 2 | 3.5.20706.1 | 26-07-2007 |
| 3.5 RTM | 3.5.21022.8 | 09-11-2007 |
| 3.5 SP1 | 3.5.30729 | ?? |
| 3.5 SP1 | 3.5.30729.1 | ?? |
| 4.0 | 4.0.30319.1 | 04-12-2010 |
| 4.0 | 10.0.30319.1 | 04-12-2010 |
Software Pattern Summary
| Product Component | OS Type | Versioning | Pattern Depth |
|---|---|---|---|
| Microsoft .Net Runtime | Windows | Package | Deep (due to nature/architecture of product) |
Platforms Supported by Software Pattern
Due to the nature of the product the only supported platform is Windows.
Identification
Software Instance / Runtime Environment node Triggers
| Trigger Node | Attribute | Condition | Argument |
|---|---|---|---|
| Host | os_class | equals | Windows |
Additional Logic
Due to the embeded nature of the .Net runtime we are unable to trigger on a single process, as such we trigger on a Device where the Operating System is Windows based. From there we can perform additional checks to see if the device has a .Net Runtime Environment installed upon it.
Simple Identification Mappings
There are no supporting/related processes for which Simple Identifiers have been defined.
Versioning
The only way we currently version this product is by checking the package information that was used to identify whether the Runtime environment is installed.
Package Versioning
As we already have the package we need to acquire the version information from, identified during the additional steps of the Software Identification process, we do not have to query the package management system again.
Product Mappings
Thanks to the documentation available and the functionality available with the pattern language we are able to map a rather obscure internal version number to the specific version, service pack and build versions.
To provide this functionality we create a table with mappings from the internal version number to the product, service pack and build version number, we then use the internal version as the "Full Version" and a concatenation of the three separate pieces of version information to make up the "Product Version"
| Internal Version | Product Version | Build | Service Pack |
|---|---|---|---|
| 1.0 | 1.0 | Beta 1 | N/A |
| 1.0.2914.0 | 1.0 | Beta 2 | N/A |
| 1.0.3705 | 1.0 | RTM | N/A |
| 1.0.3705.0 | 1.0 | RTM | N/A |
| 1.0.3705.209 | 1.0 | N/A | SP1 |
| 1.0.3705.288 | 1.0 | N/A | SP2 |
| 1.0.3705.6018 | 1.0 | N/A | SP3 |
| 1.1.4322 | 1.1 | RTM | N/A |
| 1.1.4322.573 | 1.1 | RTM | N/A |
| 1.1.4322.2032 | 1.1 | N/A | SP1 |
| 1.1.4322.2300 | 1.1 | N/A | SP1 |
| 2.0 | 2.0' | N/A | N/A |
| 2.0.50727 | 2.0' | RTM | N/A |
| 2.0.50727.42 | 2.0' | RTM | N/A |
| 3.0 | 3.0 | N/A | N/A |
| 3.0.04324.17 | 3.0 | RC | N/A |
| 3.0.4506.26 | 3.0 | RTM | N/A |
| 3.0.4506.30 | 3.0 | RTM | N/A |
| 3.0.04506.30 | 3.0 | RTM | N/A |
| 3.1.21022 | 3.0 | N/A | SP1 |
| 3.5 | 3.5 | Beta 1 | N/A |
| 3.5.20404 | 3.5 | Beta 1 | N/A |
| 3.5.20404.0 | 3.5 | Beta 1 | N/A |
| 3.5.20706 | 3.5 | Beta 2 | N/A |
| 3.5.20706.1 | 3.5 | Beta 2 | N/A |
| 3.5.21022 | 3.5 | RTM | N/A |
| 3.5.21022.8 | 3.5 | RTM | N/A |
If the internal version does not map to a specific set of product versions then we simply take the first two sets of digits, separated by periods, and assign it as the product version.
Application Model Produced by Software Pattern
Product Architecture
As mentioned in the description the Microsoft .Net Runtime is embedded deep into the core Windows Operating System as such there is no true structure, it is simply a set of libraries and OS calls used to assist in the development and deployment of applications.
As such it is simply deemed to be "deployed" on a host system and if the installed version matches or exceeds the required version specified by the application then it can be deployed and executed.
Software Pattern Model
Additional Logic
Due to the embeded nature of the .Net runtime we are unable to trigger on a single process, as such we trigger on a Device where the Operating System is Windows based. From there we can perform additional checks to see if the device has a .Net Runtime Environment installed upon it.
To check if Microsoft .Net is installed we query the Windows installation manager with a regex that identifies all installations of Microsoft .Net.
Package Regex:
- ^(?i)Microsoft \.NET
This regex will almost always return more than one package, due in part to the numbering scheme Microsoft have used for the release of bug fixes and Service Packs and the fact that you can have more than one major version of .Net installed on the same machine.
Once we have our list of installed Microsoft .Net packages we then iterate through it to identify which versions of the Runtime are installed, see section Product Mappings for more information.
Model
The Pattern creates a single Software Instance (Atrium Discovery 8.2.x and below) node or a single Runtime Environment (Atrium Discovery 8.3.x and above) node for each identified installation of .Net Runtime on a single host.
We define an identified installation as either a unique Product version on the host or a unique Full version that does not have a mapping assigned to it, so as an example if we identify three .Net packages installed on the system two of which map to a single Product version and one which does not have a mapping we would create two Software Instance / Runtime Environment nodes.
This modeling technique allows us to create a single instance of the product where we have identified them, even if there is more than one package representing it, and instance where we do not have a mapping for the packages, for example when .Net 4.0 is released we will still identify and version it.
SI Depth
Due to the nature of the product we consider it to be a deep SI, as you can only install a single instance of a specific .Net version on a single host.
Relationship Creation
There is no relationship creation involved in the software model.
Subject Matter Expertise
No SME feedback has been received during the development of this product.
Testing
This pattern has been tested against a variety of Windows platforms with a number of different .Net environments installed.
Information Sources
framework Wikipedia was used for the product description and the initial list of known versions.
The official .Net website was use to expand on this information.
Open Issues
There are no open issues with the pattern.
| TOP |
|---|
Created by: Rebecca Shalfield 11 July 2008
Updated by: Rebecca Shalfield 18 May 2012
