WPF Performance and .NET Framework Client Profile

WPF performance and .NET Framework Client Profile related blogs provided by Jossef Goldberg.

April, 2010

  • WPF Performance and .NET Framework Client Profile

    WPF 3.5 SP1 Performance on Tablet & Touch-enabled machines – Part II

    • 0 Comments

    Hopefully folks saw my first “WPF 3.5 SP1 Performance on Tablet & Touch-enabled machines” blog.

    In that blog I have mentioned that depending on the WPF application and scenario you may see significant performance issues and general sluggishness on Tablet & Touch-enabled machines and even on none-touch machines when UI Automation client apps are running (such as UI Spy, Narrator, Magnifier, etc).

    This was especially noticeable during scrolling if the application comprise of many visual elements.

    As I mentioned we have already fixed this issue in .NET 4.

    I am now happy to announce that we just posted a Hotfix for .NET 3.5 SP1 that you can download from MSDN Code Galley site here and the Connect site here.

    Enjoy. Jossef.

  • WPF Performance and .NET Framework Client Profile

    What’s new in .NET Framework 4 Client Profile RTM

    • 9 Comments

    In .NET Framework 4 we have introduced a streamlined subset and more compact version of the .NET Framework called the Microsoft .NET Framework 4 Client Profile (aka NET4 Client Profile). The Microsoft .NET Framework 4 which is the Full Framework (aka NET4 Full) still exists and it is a superset of the Client Profile.
    Hopefully folks have seen Soma’s blog announcing the availability of Visual Studio 2010 , .NET Framework 4 and .NET Framework 4 Client Profile.
    I have discussed some of the beta features of Microsoft .NET Framework 4 Client Profile in details in my previous Beta 1 blog and Beta 2 blog posts.  In this post I wanted to highlight some of the key changes from our previous Beta 2 public release and reiterate some of the important features

    What are the reasons for a Client Profile?
    Although the NET4 Client Profile is smaller and faster to install compared to the NET4 Full Framework (NET4 is 7-8MB smaller in size than the Full Framework), the main reasons are not just better deployment size/time but also:

    • Reduce the Framework deployment failures.
    • By keeping ASP.Net and other components (that are mostly needed for servers) out of the Client Profile, we can reduce the attack surface and the number of future servicing events which may be caused by server component (such as ASP.Net) and are not needed for desktop scenarios.
    • Making NET4 Client Profile available on Windows Update will make sure that most desktop machines will include NET4 Client Profile over time and apps that target the Client Profile will not need to carry or install the Framework which will improve the overall deployment experience.
    • Enable us to add features and grow the size of overall Framework in future versions but still have a smaller core.

    When to use NET4 Client Profile and when to use NET4 Full Framework?
    NET4 Client Profile:
    Always target NET4 Client Profile for all your client desktop applications (including Windows Forms and WPF apps).

    NET4 Full framework:
    Target NET4 Full only if the features or assemblies that your app need are not included in the Client Profile. This includes:

    • If you are building Server apps. Such as:
      • ASP.Net apps
      • Server-side ASMX based web services
    • If you use legacy client scenarios. Such as:
      • Use System.Data.OracleClient.dll which is deprecated in NET4 and not included in the Client Profile.
      • Use legacy Windows Workflow Foundation 3.0 or 3.5 (WF3.0 , WF3.5)
    • If you targeting developer scenarios and need tool such as MSBuild or need access to design assemblies such as System.Design.dll

    How big is Client Profile?
    Below are the redistributable download size improvements since NET 3.5 SP1. As you can see we have made significant improvements.
    Note that if you are downloading from the Web, the actual download size could be smaller since some components may already be on your machine (for example, Software Rasterizer (rgb9rast) , etc )

     

    3.5 SP1

    4.0 RTM

    32 bit Client Profile

    Online: 28 MB
    Offline: 255MB

    28.8 MB

    32 + 64 bit Client Profile

    N/A

    41 MB

    32 bit Full

    N/A

    35.3 MB

    32 + 64 bit Full

    N/A

    48.1 MB

    32 + ia64 bit Full

    N/A

    51.7 MB

    32 + 64 + ia64 bit Full

    231 MB

    N/A

    image

    What is new in NET4 Client Profile RTM vs. Beta 2 ?

    • File moves: We moved few files between Client Profile to Extended (Full). Most notably: 
      Move System.ComponentModel.DataAnnotations.dll from the full framework to Client Profile
      Some additional file moves below.
    • Removed Windows Imaging Components (WIC) from NET4 setup package (Full & Client).
      Since WIC is already included in XP SP3, Vista, Windows 7, and installed with .NET 3.5 SP1 it made sense to remove it and decrease setup size for almost all users that do not need it.
      Folks that need this component (mainly XP SP2/SP1 and Windows 2003 users that do not have NET 3.5 SP1 installed) can install it from here:
      32 bit: http://www.microsoft.com/downloads/details.aspx?FamilyId=8E011506-6307-445B-B950-215DEF45DDD8&displaylang=en
      64-bit: http://www.microsoft.com/downloads/details.aspx?familyid=F64654AC-6E26-41D9-A90A-0E7783B864EE&displaylang=en
      Note that if WIC is missing, NET4 setup will fail.
      We expect that very few machines will require WIC. Some apps that chain-install the NET4 framework may need to either block on WIC or chain-install WIC.
    • Black assemblies:
      These are assemblies that although included in the NET4 Client Profile runtime they are not meant to be used by NET4 Client Profile applications.
      These assemblies are not included in the Reference Assemblies folder and they are not accessible/visible by Visual Studio 2010.
      NET4 currently includes only one such assembly:
      • ISymWrapper
    • Grey APIs:
      These are APIs/namespaces that although included in the NET4 Client Profile runtime they are not supported and not meant to be used by NET4 Client Profile applications. The main reason these assemblies are not supported in the Net4 Client Profile is that they have dependencies on assemblies from NET4 Full so your Client Profile app may crash if you do use them on machines that only have Client Profile installed.
      In RTM, these APIs/namespaces are “grayed out” from the Reference Assemblies and are not accessible/visible in Visual Studio 2010.
      Note that if your app is targeting the NET4 Full you will be able to access these APIs/namespaces.
      In System.Web.Services, the following namespaces are “greyed out” for NET4 Client Profile:
      • System.Web.Services.WebService
      • System.Web.Services.Description.BasicProfileViolation
      • System.Web.Services.Description.BasicProfileViolationCollection
      • System.Web.Services.Description.BasicProfileViolationEnumerator
      • System.Web.Services.Description.ProtocolImporter
      • System.Web.Services.Description.ProtocolReflector
      • System.Web.Services.Description.ServiceDescriptionImporter
      • System.Web.Services.Description.ServiceDescriptionReflector
      • System.Web.Services.Description.SoapExtensionImporter
      • System.Web.Services.Description.SoapExtensionReflector
      • System.Web.Services.Description.SoapProtocolImporter
      • System.Web.Services.Description.SoapTransportImporter
      • System.Web.Services.Description.WebServicesInteroperability
      • System.Web.Services.Discovery.ContractSearchPattern
      • System.Web.Services.Discovery.DiscoveryDocumentLinksPattern
      • System.Web.Services.Discovery.DiscoveryDocumentSearchPattern
      • System.Web.Services.Discovery.DiscoveryRequestHandler
      • System.Web.Services.Discovery.DiscoverySearchPattern
      • System.Web.Services.Discovery.DynamicDiscoveryDocument
      • System.Web.Services.Discovery.ExcludePathInfo
      • System.Web.Services.Discovery.XmlSchemaSearchPattern
      • System.Web.Services.Protocols.HtmlFormParameterReader
      • System.Web.Services.Protocols.MimeParameterReader
      • System.Web.Services.Protocols.ServerProtocol
      • System.Web.Services.Protocols.ServerProtocolFactory
      • System.Web.Services.Protocols.ServerType
      • System.Web.Services.Protocols.SoapServerMessage
      • System.Web.Services.Protocols.SoapServerMethod
      • System.Web.Services.Protocols.SoapServerProtocol
      • System.Web.Services.Protocols.SoapServerProtocolFactory
      • System.Web.Services.Protocols.SoapServerType
      • System.Web.Services.Protocols.UrlParameterReader
      • System.Web.Services.Protocols.ValueCollectionParameterReader
      • System.Web.Services.Protocols.WebServiceHandlerFactory

    What is new in Visual Studio 2010 for NET4 Client Profile

    Since Beta 2 we made some small but important improvements to the he VS 2010 RTM UI:
    (You can read about the changes we in Beta2 in my Beta 2 blog )
      A) Starting with VS 2010 RTM, the “Add Reference” indicates the target framework that assemblies are filtered against.
      B) The VS 2010 RTM toolbox now clearly indicates if 3rd party controls are not available for the selected profile.
    image

    How to use Client Profile in Visual Studio 2010

    Visual Studio 2008 introduced multi-targeting to allow application to target 2.0 and 3.x versions of the .NET Framework. VS 2010 has improved multi-targeting and starting in VS 2010 Beta2 many of the Client projects are targeting the NET4 Client Profile by default. I also discussed this in my Beta 2 blog .

    Projects that target NET4 Client Profile by default

    These projects starting with VS 20101 Beta2 target the NET4 Client Profile by default:
    Windows Project (C# and VB)
    - WPF Application
    - WPF Browser Application
    - WPF Custom Control Library
    - WPF User Control Library
    - Windows Forms Application
    - Windows Forms Control Library
    - Console Application
    - Empty Project
    - Window Service

    Visual F#
    - F# Application
    - F# Tutorial

    Workflow (C# & VB)
    - Activity Designer Library
    - Activity Library
    - Workflow Console Application

    WCF (C# & VB)
    -
    WCF  Service Library

    Office 2007 & 2010 templates (C# & VB)
    -
    All Projects

    All other projects, including Class Library, target the Full Framework by default.
    Mixed-target scenarios using Class Library may present interesting challenges. Read more below.

    How to retarget your C#/VB.Net project

    To change targeting of your project, open the project properties, select the "Application" page, and change the “Target framework” drop-down.
    C# project example:

    image
    VB project example (Project Properties > Compile tab > “Advanced Compile Options…”):

    image

    Note that if you right-click the project and select “Add References”, the dialog shows only the .NET Framework assemblies that are part of the selected profile. This is accomplished by using reference assemblies (metadata-only versions of assemblies). The .NET Framework 4 Client Profile Reference Assemblies are located in:
         %programfiles%\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client

    At compile time, the reference assemblies are matched up against the known "Client List" assemblies that are included in the Client Profile. If a project targeting the Client Profile has a reference to a .NET assembly that is not included in the "Client List", Visual Studio displays compile-time errors in the Error List.

    How to change targeting for other projects

    Some other VS 2010 projects such as Managed C++ (C++/CLI) still target the Full Framework by default. VS 2010 unfortunately does not provide UI to change the targeting.
    Fortunately, you can still edit the project file manually in order to change the profile targeting. To do so:
    a) Right click “Unload Project”
    b) Right-Click “Edit <project_name>”
    c) Set the appropriate project property to target Client Profile. e.g.

    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <TargetFrameworkProfile>Client</TargetFrameworkProfile>

    d) Right click “Reload Project”

    In addition, for these projects, notice that VS does not create an <app.config> file for your project.
    Note: If your project does not add references or access assemblies that are included in the Full Framework but are not part of the Client Profile, there is nothing to worry about. Your app will run on machines with either NET4 Client Profile or Full Framework just fine.
    Otherwise, if you do access assemblies from the Full Framework, you should add <app.config> to indicate to CLR not to load your app if it is launched on the NET4 Client Profile.
    E.g. add this:

    <?xml version="1.0"?>
    <configuration>
       
    <startup>
              <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
      
    </startup>
    </configuration>

    If you don’t do so, your app may crash at random when it needs to load the assemblies that are missing from the Client Profile.

    Deployment

    The project Publish property page allows you to select the prerequisite needed for your ClickOnce deployment. VS 2010 automatically selects the correct profile (Client Profile or Full) depending on your primary project target.
    image 

    Setup and Deployment Projects

    The same prerequisite dialog from above appears when you create “Setup and Deployment” project (under “Add New Project”/“Other Project Types”). The NET4 Client Profile prerequisite entry is checked by default in this case.


     
    If you create a new “Visual Studio Installer” setup project (under “Setup and Deployment“) and add the output of your NET4 Client Profile to it (Right-Click ->“Add”-> “Project Output…”’ select “Primary output”) , VS2010 adds a new “Launch Condition”. (Right-click on your new Setup project and then do “View->Launch Conditions”)

    By default VS2010 will add NET4 Client Profile as a launch condition.

    What this means is that once all prerequisites are installed and before the main installation launches, setup checks whether all the launch conditions are met. If not, setup blocks and displays an error message.

    clip_image010
    image

    Testing NET4 Client Profile applications
    VS 2010 itself requires the NET 4 Full in order to run and it therefore install NET 4 Full.
    If your target NET4 Client Profile, it is highly recommended that you test your application on a separate machine that only includes NET4 Client Profile.

    Common Questions & Issues with NET4 Client Profile
    1.  How can I select the .NET Profile in the “New Project” dialog?
    When you create new project in VS 2010, the “New Project” dialog does not indicate if the new project you are about to create is targeting Client Profile or Full. You can always go to the project Properties (see above) and change the target if you like.

    2.  I cannot find an assembly in “Add Reference” dialog
    The “Add Reference” .NET tab dialog only shows the .NET Framework assemblies that are part of the selected profile. So some assemblies, such as System.Web.dll are not included in NET4 Client Profile and will only show if you target the Full framework. If you must use System.Web.dll you need to retarget to the Full framework.
    Starting with VS 2010 RTM, the “Add Reference” indicates the target framework that assemblies are filtered against.clip_image014
    3.  My project cannot compile when I reference a Class Library
    You may encounter mixed-target scenarios: for example, when your Client Profile app adds a reference to a Class Library that is targeting the Full Framework (which it targets by default). You should be able to successfully build such solutions, as long as the Class Library does not use references to assemblies that only exist in the Full Framework. If it does, you may get warning/errors that are not completely clear.

    For example you may see an error in your Client Profile app saying:
    The type or namespace name 'ClassLibrary1' could not be found (are you missing a using directive or an assembly reference?)”

    This error is not clear because the class library exists and can be compiled when it is compiled by itself. However, when MSBuild tries to resolve the transitive closure of the Client Profile project, it cannot find the Full Framework assembly that is referenced by the Class Library. In this case it is better to look at the generated warnings which are more informative:
    The referenced assembly " …<your assembly>.." could not be resolved because it has a dependency on ""…<some assembly only available in Full Framework>…” which is not in the currently targeted framework ".NETFramework,Version=v4.0,Profile=Client". Please remove references to assemblies not in the targeted framework or consider retargeting your project.”

    4.  My controls or 3rd party controls is now showing in the VS 2010 toolbox
    Some VS 2008 3rd party Winforms controls will not work with VS 2010 NET4 Client Profile projects.
    The reason is that some of these controls have do not have separate design-time and run-time components and have dependencies on assemblies that are in the Full Framework (for example dependency on System.Windows.Forms.Design.dll which is Full).
    In VS 2010 RTM we made some changes to make it easier for developers to realize that.

    Per the image below you can see that the VS 2008 DevExpress Winforms control are not showing in VS 2010 Toolbox and instead you see the message “Controls in this category are unavailable for the .NET Framework 4 Client Profile. To change this setting, open the Project Properties windows.
    The Xceed VS 2008 controls on the other hand do have separate design-time and run-time components and works fine in VS 2008 and VS 2010.
    The good news is that many of the control vendors plan to release update to their control soon after VS 2010 RTM. Until such updates are available you need to retarget your project to NET4 Full if you must use these controls.

    image 
    5.  What should I do if a component that I need is not in NET4 Client Profile?
    Your first option is to try to find a workaround by modifying your code to use a component that is included in NET4 Client Profile. If this is not possible retarget your project to NET4 Full. As mentioned before, this is not ideal as most desktops are ikely to only have NET4 Client Profile so your app would need to chain-install NET4 full or block your app setup on NET4 full being present.

    6.  I want to write a custom WinForms control, what do I need to do for it to work with NET4 Client Profile?
    When developing Windows Forms control libraries, it is necessary to separate the runtime code from the control designers in order to target the new Client Profile. If the assembly references classes that exist in the Full framework but not in the Client Profile, the project will not compile successfully. Custom control designers usually inherit from the System.Windows.Forms.Design.ControlDesigner class in System.Design.dll, which is not included in .Net Framework 4 Client Profile.

    We posted a guide that can walk you through the steps of creating a Windows Forms control that can be used in the .NET Framework 4 Client Profile. See: http://code.msdn.microsoft.com/WinFormsCustomCtrl
    Note that WPF custom controls do not inherit from classes in System.Design.dll and do not have this issue.

    7. What’s the deal with <app.config> file ?
    If you change the project to target the Full Framework, VS will add a configuration file (<app.config>) that declares the application as a "full" application.
    image

    This enables the CLR loader to block any NET4 apps that target full on machines that only have the Client Profile. In this case, the CLR prompts the user to install NET4 full. E.g. you may see this dialog:

    image 
    Note that in NET4 Beta1 and NET3.5 SP1 Client Profile if the <app.config> was missing the CLR the assumption was that you targeted the Full Framework. This is now reversed.
    In other words, if your NET4 app is missing <app.config> , by default the CLR assume that your app is targeting NET4 Client Profile! so, your app may crash at random when it needs to load the assemblies that

    What components are new in NET4 Client Profile RTM?

    This has not significantly changed since Beta2, so read my Beta 2 blog. We did make some tweaks however in RTM (and RC), most notably:

    • Developers who need to use System.Web.HttpUtility in their client apps and had to reference System.Web.dll and therefore target NET4 full (System.Web.dll is in Full) , can now target the NET4 Client Profile by using the new System.Net.WebUtility class which is in System.dll (System.dll is in NET4 Client Profile).
      System.Net.WebUtility includes HtmlEncode and HtmlDecode. Url encoding can be accomplished using the System.Uri class (also in System.dll).
    • Files moved from Client to Extended (Full):
        - csc.rsp and vbc.rsp
    • Files moved from Extended (Full) to Client:
        - System.ComponentModel.DataAnnotations.dll
        - Microsoft.CSharp.Resources.dll and System.Dynamic.Resources.dll
        - InstallUtil.exe, Installutil.exe.config and InstallUtillib.dll

    Enhancements in NET4 Client Profile vs. NET 3.5 SP1 Client Profile
    This has not changed since Beta2, so read my Beta 2 blog .

    What’s in and what’s not included in the Client Profile?
    Other than the APIs that were “Grey” out in RTM (and RC) and the tweaks mentioned above, we did not make other significantly changes since Beta2, so read my Beta 2 blog.

    Where can I get the NET4 Client Profile?
    You can get .NET Framework 4 from here:

    • dotNetFx40_Client_x86_x64.exe (41 MB): This is the Client Profile SKU that you must install on any supported 64-bit OS. This will also install on any supported 32-bit OS. Your app could run in WOW64 if it was compiled w/ "32-bit" flag or as 64-bit if you compile with "AnyCPU" or "64-bit" flags.
      If you are redistributing the Client Profile with your application you most likely want to redist this package as it can install on both 32 and 64 bit OS’s.
    • dotNetFx40_Client_x86.exe (28.8 MB): This is the Client Profile SKU that you could use to install on any supported 32-bit OS.  Choose this only if all your users are running 32 bit OS. (in most times this will not be your case…)
    • dotNetFx40_Full_x86_x64.exe (48.1 MB): This is the Full Framework SKU that you must install on any supported 64-bit OS. This will also install on any supported 32-bit OS.
      If you are redistributing the Full Framework with your application you most likely want to redist this package as it can install on both 32 and 64 bit OS’s.
    • dotNetFx40_Full_x86.exe (35.3 MB): This is the Full Framework SKU that you could use to install on any supported 32-bit OS. Choose this only if all your users are running 32 bit OS (in most times this will not be your case…)
    • NET 4 RTM Web Bootstrapper: This is what you want to install if you need NET4 Full and you are online. This will detect your OS and processor architecture and will install the appropriate Framework.
    • NET 4 Client Profile RTM Web Bootstrapper: This is what you want to install if you need NET4 Client Profile and you are online. This will detect your OS and processor architecture and will install the appropriate Client Profile.

    Related Blogs and Resources

    Appendix A:

    Here are the files that exist in the NET4 Client Profile and NET4 Full framework.

    FileName

    Client Profile

    or Extended

    Description

    _DataPerfCounters.h

    Client

    Perf counters

    _DataPerfCounters.ini

    Client

    Perf counters

    _dataperfcounters_shared12_neutral.h

    Client

    Perf counters

    _dataperfcounters_shared12_neutral.ini

    Client

    Perf counters

    _NetworkingPerfCounters.h

    Client

    Perf counters

    _Networkingperfcounters.ini

    Client

    Perf counters

    _NetworkingPerfCounters_v2.h

    Client

    Perf counters

    _NetworkingPerfCounters_v2.ini

    Client

    Perf counters

    _ServiceModelEndpointPerfCounters.h

    Client

    Perf counters

    _ServiceModelEndpointPerfCounters.ini

    Client

    Perf counters

    _ServiceModelOperationPerfCounters.h

    Client

    Perf counters

    _ServiceModelOperationPerfCounters.ini

    Client

    Perf counters

    _ServiceModelServicePerfCounters.h

    Client

    Perf counters

    _ServiceModelServicePerfCounters.ini

    Client

    Perf counters

    _SMSvcHostPerfCounters.h

    Client

    Perf counters

    _SMSvcHostPerfCounters.ini

    Client

    Perf counters

    _TransactionBridgePerfCounters.h

    Client

    Perf counters

    _TransactionBridgePerfCounters.ini

    Client

    Perf counters

    Accessibility.dll

    Client

    AddInProcess.exe

    Client

    AddInProcess.exe.config

    Client

    AddInProcess32.exe

    Client

    AddInProcess32.exe.config

    Client

    AddInUtil.exe

    Client

    AddInUtil.exe.config

    Client

    AdoNetDiag.dll

    Client

    adonetdiag.mof

    Client

    adonetdiag.mof.uninstall

    Client

    alink.dll

    Client

    alinkui.dll

    Client

    AppLaunch.exe

    Client

    applaunch.exe.config

    Client

    AssemblyList_4_client.xml

    Client

    CasPol.exe

    Client

    caspol.exe.config

    Client

    clr.dll

    Client

    CLR.mof

    Client

    CLR.mof.uninstall

    Client

    clrjit.dll

    Client

    CORPerfMonExt.dll

    Client

    CORPerfMonSymbols.h

    Client

    corperfmonsymbols.ini

    Client

    csc.exe

    Client

    csc.exe.config

    Client

    cscui.dll

    Client

    Culture.dll

    Client

    CustomMarshalers.dll

    Client

    cvtres.exe

    Client

    cvtres.exe.config

    Client

    CvtResUI.dll

    Client

    default.win32manifest

    Client

    dfdll.dll

    Client

    dfsvc.exe

    Client

    dfsvc.exe.config

    Client

    diasymreader.dll

    Client

    DropSqlWorkflowInstanceStoreLogic.sql

    Client

    DropSqlWorkflowInstanceStoreSchema.sql

    Client

    dw20.exe

    Client

    EventLogMessages.dll

    Client

    fusion.dll

    Client

    GlobalMonospace.CompositeFont

    Client

    WPF Composite fonts

    GlobalSansSerif.CompositeFont

    Client

    WPF Composite fonts

    GlobalSerif.CompositeFont

    Client

    WPF Composite fonts

    GlobalUserInterface.CompositeFont

    Client

    WPF Composite fonts

    InstallUtil.exe

    Client

    Moved to Client in RTM

    installutil.exe.config

    Client

    Moved to Client in RTM

    InstallUtilLib.dll

    Client

    Moved to Client in RTM

    ISymWrapper.dll

    Client

    jsc.exe

    Client

    jsc.exe.config

    Client

    locale.nlp

    Client

    machine.config

    Client

    machine.config.comments

    Client

    machine.config.default

    Client

    Microsoft.CSharp.dll

    Client

    Microsoft.JScript.dll

    Client

    Microsoft.JScript.tlb

    Client

    Microsoft.Transactions.Bridge.dll

    Client

    Microsoft.Transactions.Bridge.Dtc.dll

    Client

    Microsoft.VisualBasic.Activities.Compiler.dll

    Client

    Microsoft.VisualBasic.Activities.CompilerUI.dll

    Client

    Microsoft.VisualBasic.Compatibility.Data.dll

    Client

    Microsoft.VisualBasic.Compatibility.dll

    Client

    Microsoft.VisualBasic.dll

    Client

    Microsoft.VisualC.Dll

    Client

    Microsoft.Windows.ApplicationServer.Applications.dll

    Client

    Microsoft.Windows.ApplicationServer.Applications.dll.mui

    Client

    Microsoft.Windows.ApplicationServer.Applications.man

    Client

    mscordacwks.dll

    Client

    mscordbi.dll

    Client

    mscoree.tlb

    Client

    mscoreei.dll

    Client

    mscoreeis.dll

    Client

    mscorlib.dll

    Client

    mscorlib.tlb

    Client

    mscorpe.dll

    Client

    mscorpehost.dll

    Client

    mscorrc.dll

    Client

    mscorsecimpl.dll

    Client

    mscorsecr.dll

    Client

    mscorsvc.dll

    Client

    mscorsvw.exe

    Client

    msvcr100_clr0400.dll

    Client

    NaturalLanguage6.dll

    Client

    NETFXRepair.1025.dll

    Client

    Resource files for .NET OS upgrade repair.

    NETFXRepair.1028.dll

    Client

    NETFXRepair.1029.dll

    Client

    NETFXRepair.1030.dll

    Client

    NETFXRepair.1031.dll

    Client

    NETFXRepair.1032.dll

    Client

    NETFXRepair.1033.dll

    Client

    NETFXRepair.1035.dll

    Client

    NETFXRepair.1036.dll

    Client

    NETFXRepair.1037.dll

    Client

    NETFXRepair.1038.dll

    Client

    NETFXRepair.1040.dll

    Client

    NETFXRepair.1041.dll

    Client

    NETFXRepair.1042.dll

    Client

    NETFXRepair.1043.dll

    Client

    NETFXRepair.1044.dll

    Client

    NETFXRepair.1045.dll

    Client

    NETFXRepair.1046.dll

    Client

    NETFXRepair.1049.dll

    Client

    NETFXRepair.1053.dll

    Client

    NETFXRepair.1055.dll

    Client

    NETFXRepair.2052.dll

    Client

    NETFXRepair.2070.dll

    Client

    NETFXRepair.3076.dll

    Client

    NETFXRepair.3082.dll

    Client

    NETFXRepair.exe

    Client

    ngen.exe

    Client

    NlsData0009.dll

    Client

    NlsLexicons0009.dll

    Client

    nlssorting.dll

    Client

    normalization.dll

    Client

    normidna.nlp

    Client

    normnfc.nlp

    Client

    normnfd.nlp

    Client

    normnfkc.nlp

    Client

    normnfkd.nlp

    Client

    PenIMC.dll

    Client

    PerfCounter.dll

    Client

    PresentationCore.dll

    Client

    PresentationFramework.Aero.dll

    Client

    PresentationFramework.Classic.dll

    Client

    PresentationFramework.dll

    Client

    PresentationFramework.Luna.dll

    Client

    PresentationFramework.Royale.dll

    Client

    PresentationHost_v0400.dll

    Client

    PresentationHost_v0400.dll.mui

    Client

    PresentationNative_v0400.dll

    Client

    PresentationUI.dll

    Client

    ReachFramework.dll

    Client

    RegAsm.exe

    Client

    regasm.exe.config

    Client

    RegSvcs.exe

    Client

    regsvcs.exe.config

    Client

    regtlibv12.exe

    Client

    SbsNclPerf.dll

    Client

    ServiceModel.mof

    Client

    ServiceModel.mof.uninstall

    Client

    ServiceModel35.mof

    Client

    ServiceModel35.mof.uninstall

    Client

    ServiceModelEvents.dll

    Client

    ServiceModelEvents.dll.mui

    Client

    ServiceModelInstallRC.dll

    Client

    ServiceModelInstallRC.dll.mui

    Client

    ServiceModelPerformanceCounters.dll

    Client

    ServiceModelPerformanceCounters.dll.mui

    Client

    ServiceModelPerformanceCounters.man

    Client

    ServiceModelReg.exe

    Client

    ServiceModelRegUI.dll

    Client

    ServiceModelRegUI.dll.mui

    Client

    SetupUtility.exe

    Client

    SMDiagnostics.dll

    Client

    SMSvcHost.exe

    Client

    SMSvcHost.exe.config

    Client

    sortdefault.nlp

    Client

    SOS.dll

    Client

    SqlWorkflowInstanceStoreLogic.sql

    Client

    SqlWorkflowInstanceStoreSchema.sql

    Client

    sysglobl.dll

    Client

    System.Activities.Core.Presentation.dll

    Client

    System.Activities.dll

    Client

    System.Activities.DurableInstancing.dll

    Client

    System.Activities.Presentation.dll

    Client

    System.AddIn.Contract.dll

    Client

    System.AddIn.dll

    Client

    System.ComponentModel.Composition.dll

    Client

    System.ComponentModel.DataAnnotations.dll

    Client

    Moved to Client in RC

    System.configuration.dll

    Client

    System.Configuration.Install.dll

    Client

    System.Core.dll

    Client

    System.Data.DataSetExtensions.dll

    Client

    System.Data.dll

    Client

    System.Data.Entity.dll

    Client

    System.Data.Linq.dll

    Client

    System.Data.Services.Client.dll

    Client

    System.Data.SqlXml.dll

    Client

    System.Deployment.dll

    Client

    System.Device.dll

    Client

    System.DirectoryServices.AccountManagement.dll

    Client

    System.DirectoryServices.dll

    Client

    System.DirectoryServices.Protocols.dll

    Client

    System.dll

    Client

    System.Drawing.dll

    Client

    System.Drawing.tlb

    Client

    System.Dynamic.dll

    Client

    System.EnterpriseServices.dll

    Client

    System.EnterpriseServices.Thunk.dll

    Client

    System.EnterpriseServices.tlb

    Client

    System.EnterpriseServices.Wrapper.dll

    Client

    System.IdentityModel.dll

    Client

    System.IdentityModel.Selectors.dll

    Client

    System.IO.Log.dll

    Client

    System.Management.dll

    Client

    System.Management.Instrumentation.dll

    Client

    System.Messaging.dll

    Client

    System.Net.dll

    Client

    System.Numerics.dll

    Client

    System.Printing.dll

    Client

    System.Runtime.DurableInstancing.dll

    Client

    System.Runtime.Remoting.dll

    Client

    System.Runtime.Serialization.dll

    Client

    System.Runtime.Serialization.Formatters.Soap.dll

    Client

    System.Security.dll

    Client

    System.ServiceModel.Activities.dll

    Client

    System.ServiceModel.Channels.dll

    Client

    System.ServiceModel.Discovery.dll

    Client

    System.ServiceModel.dll

    Client

    System.ServiceModel.Routing.dll

    Client

    System.ServiceProcess.dll

    Client

    System.Speech.dll

    Client

    System.tlb

    Client

    System.Transactions.dll

    Client

    System.Web.ApplicationServices.dll

    Client

    System.Web.Services.dll

    Client

    System.Windows.Forms.DataVisualization.dll

    Client

    System.Windows.Forms.dll

    Client

    System.Windows.Forms.tlb

    Client

    System.Windows.Input.Manipulations.dll

    Client

    System.Windows.Presentation.dll

    Client

    System.Xaml.dll

    Client

    System.XML.dll

    Client

    System.Xml.Linq.dll

    Client

    UIAutomationClient.dll

    Client

    UIAutomationClientsideProviders.dll

    Client

    UIAutomationProvider.dll

    Client

    UIAutomationTypes.dll

    Client

    vbc.exe

    Client

    vbc.exe.config

    Client

    vbc7ui.dll

    Client

    WindowsBase.dll

    Client

    WindowsFormsIntegration.dll

    Client

    WMINet_Utils.dll

    Client

    wpffontcache_v0400.exe

    Client

    wpffontcache_v0400.exe.mui

    Client

    wpfgfx_v0400.dll

    Client

    wpftxt_v0400.dll

    Client

    XPThemes.manifest

    Client

    _DataOracleClientPerfCounters_shared12_neutral.h

    Extended

    _DataOracleClientPerfCounters_shared12_neutral.ini

    Extended

    addUser.aspx

    Extended

    addUser.aspx.resx

    Extended

    alert_lrg.gif

    Extended

    AppConfigCommon.resx

    Extended

    AppConfigHome.aspx

    Extended

    AppConfigHome.aspx.resx

    Extended

    ApplicationConfigurationPage.cs

    Extended

    AppSetting.ascx

    Extended

    AppSetting.ascx.resx

    Extended

    ASPdotNET_logo.jpg

    Extended

    Aspnet.config

    Extended

    aspnet.mof

    Extended

    aspnet.mof.uninstall

    Extended

    aspnet_compiler.exe

    Extended

    aspnet_counters.dll

    Extended

    aspnet_filter.dll

    Extended

    aspnet_isapi.dll

    Extended

    Aspnet_perf.dll

    Extended

    aspnet_perf.h

    Extended

    aspnet_perf.ini

    Extended

    aspnet_perf2.ini

    Extended

    aspnet_rc.dll

    Extended

    aspnet_regbrowsers.exe

    Extended

    aspnet_regiis.exe

    Extended

    aspnet_regsql.exe

    Extended

    aspnet_state.exe

    Extended

    aspnet_state_perf.h

    Extended

    aspnet_state_perf.ini

    Extended

    aspnet_wp.exe

    Extended

    AspNetMMCExt.dll

    Extended

    aspx_file.gif

    Extended

    AssemblyList_4_extended.xml

    Extended

    blackberry.browser

    Extended

    branding_Full2.gif

    Extended

    chooseProviderManagement.aspx

    Extended

    chooseProviderManagement.aspx.resx

    Extended

    chrome.browser

    Extended

    CLR-ETW.man

    Extended

    clretwrc.dll

    Extended

    ComSvcConfig.exe

    Extended

    confirmation.ascx

    Extended

    confirmation.ascx.resx

    Extended

    CreateAppSetting.aspx

    Extended

    CreateAppSetting.aspx.resx

    Extended

    createPermission.aspx

    Extended

    createPermission.aspx.resx

    Extended

    csc.rsp

    Extended

     

    darkBlue_GRAD.jpg

    Extended

     

    DataSvcUtil.exe

    Extended

     

    DataSvcUtil.exe.config

    Extended

     

    DebugAndTrace.aspx

    Extended

     

    DebugAndTrace.aspx.resx

    Extended

     

    default.aspx

    Extended

     

    default.aspx.resx

    Extended

     

    Default.browser

    Extended

     

    DefaultWsdlHelpGenerator.aspx

    Extended

     

    DefineErrorPage.aspx

    Extended

     

    DefineErrorPage.aspx.resx

    Extended

     

    deselectedTab_1x1.gif

    Extended

     

    DropSqlPersistenceProviderLogic.sql

    Extended

     

    DropSqlPersistenceProviderSchema.sql

    Extended

     

    dv_aspnetmmc.chm

    Extended

     

    EditAppSetting.aspx

    Extended

     

    EditAppSetting.aspx.resx

    Extended

     

    editUser.aspx

    Extended

     

    editUser.aspx.resx

    Extended

     

    EdmGen.exe

    Extended

     

    error.aspx

    Extended

     

    error.aspx.resx

    Extended

     

    FileTracker.dll

    Extended

     

    FileTrackerUI.dll

    Extended

     

    findUsers.aspx

    Extended

     

    findUsers.aspx.resx

    Extended

     

    firefox.browser

    Extended

     

    folder.gif

    Extended

     

    gateway.browser

    Extended

     

    generic.browser

    Extended

     

    GlobalResources.resx

    Extended

     

    gradient_onBlue.gif

    Extended

     

    gradient_onWhite.gif

    Extended

     

    GroupedProviders.xml

    Extended

     

    headerGRADIENT_Tall.gif

    Extended

     

    help.jpg

    Extended

     

    HelpIcon_solid.gif

    Extended

     

    home0.aspx

    Extended

     

    home0.aspx.resx

    Extended

     

    home1.aspx

    Extended

     

    home1.aspx.resx

    Extended

     

    home2.aspx

    Extended

     

    home2.aspx.resx

    Extended

     

    ie.browser

    Extended

     

    iemobile.browser

    Extended

     

    ilasm.exe

    Extended

     

    ilasm.exe.config

    Extended

     

    image1.gif

    Extended

     

    image2.gif

    Extended

     

    InstallCommon.sql

    Extended

     

    InstallMembership.sql

    Extended

     

    InstallPersistSqlState.sql

    Extended

     

    InstallPersonalization.sql

    Extended

     

    InstallProfile.SQL

    Extended

     

    InstallRoles.sql

    Extended

     

    InstallSqlState.sql

    Extended

     

    InstallSqlStateTemplate.sql

    Extended

     

    InstallWebEventSqlProvider.sql

    Extended

     

    iPhone.browser

    Extended

     

    legacy.web_hightrust.config

    Extended

     

    legacy.web_hightrust.config.default

    Extended

     

    legacy.web_lowtrust.config

    Extended

     

    legacy.web_lowtrust.config.default

    Extended

     

    legacy.web_mediumtrust.config

    Extended

     

    legacy.web_mediumtrust.config.default

    Extended

     

    legacy.web_minimaltrust.config

    Extended

     

    legacy.web_minimaltrust.config.default

    Extended

     

    manageAllRoles.aspx

    Extended

     

    manageAllRoles.aspx.resx

    Extended

     

    ManageAppSettings.aspx

    Extended

     

    ManageAppSettings.aspx.resx

    Extended

     

    ManageConsolidatedProviders.aspx

    Extended

     

    manageconsolidatedProviders.aspx.resx

    Extended

     

    managePermissions.aspx

    Extended

     

    managePermissions.aspx.resx

    Extended

     

    ManageProviders.aspx

    Extended

     

    manageProviders.aspx.resx

    Extended

     

    manageSingleRole.aspx

    Extended

     

    manageSingleRole.aspx.resx

    Extended

     

    manageUsers.aspx

    Extended

     

    manageUsers.aspx.resx

    Extended

     

    Microsoft.Build.Commontypes.xsd

    Extended

     

    Microsoft.Build.Conversion.v4.0.dll

    Extended

     

    Microsoft.Build.Core.xsd

    Extended

     

    Microsoft.Build.dll

    Extended

     

    Microsoft.Build.Engine.dll

    Extended

     

    Microsoft.Build.Framework.dll

    Extended

     

    Microsoft.Build.Tasks.v4.0.dll

    Extended

     

    Microsoft.Build.Utilities.v4.0.dll

    Extended

     

    Microsoft.Build.xsd

    Extended

     

    Microsoft.Common.OverrideTasks

    Extended

     

    Microsoft.Common.targets

    Extended

     

    Microsoft.Common.Tasks

    Extended

     

    Microsoft.CSharp.targets

    Extended

     

    Microsoft.Data.Entity.Build.Tasks.dll

    Extended

     

    Microsoft.Data.Entity.targets

    Extended

     

    Microsoft.NetFramework.props

    Extended

     

    Microsoft.NetFramework.targets

    Extended

     

    Microsoft.VisualBasic.targets

    Extended

     

    Microsoft.VisualC.STLCLR.dll

    Extended

     

    Microsoft.WinFx.targets

    Extended

     

    Microsoft.Workflow.Compiler.exe

    Extended

     

    Microsoft.Workflow.Compiler.exe.config

    Extended

     

    Microsoft.Xaml.targets

    Extended

     

    MmcAspExt.dll

    Extended

     

    MSBuild.exe

    Extended

     

    msbuild.exe.config

    Extended

     

    MSBuild.rsp

    Extended

     

    mscorsn.dll

    Extended

     

    navigationBar.ascx

    Extended

     

    navigationBar.ascx.resx

    Extended

     

    NavigationBar.cs

    Extended

     

    NetFx40_IIS_schema_update.xml

    Extended

     

    netmemorycache.h

    Extended

     

    netmemorycache.ini

    Extended

     

    opera.browser

    Extended

     

    PasswordValueTextBox.cs

    Extended

     

    PerfCounters.h

    Extended

     

    PerfCounters.ini