Tech Off Thread

6 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

.NET FrameWork Named Instance

Back to Forum: Tech Off
  • User profile image
    Irakli_​Lomidze

    Dear Sirs.

    Distribution of .NET Instance it take harder because size of the framework is became too large.

    MS Provide in .NET 3.5 SP1 a "Client Profile" That works only on XP SP2
    Without any .NET Framework Installed on that.
    Practicaly .NET Clinet Prifile is a theoritical solution, in Practise you have to install full .NET 3.5.

    My Idea is to gives developer Chance Deploy Named Instance of .NET Framework. (Like is it in SQL Server).

    and in our Custom Instance to give us posibility deploy that part of
    the .net framwork that need our application.

    If in App.Confougation will not a special row like "Run in Instance 'myInstace'" that app runs in a default instance.

    I think that this posibiliy solve many problems:

    1) Faster App Deploy
    2) Application Compability

    P.S. I Post This in to the Microsoft "Conenct" and waiting their responce for that.
    Now I'm interneting in you comments too.

    Irakli Lomidze

  • User profile image
    WillemM

    This may look like a good solution at first, but think about it:

    Security patches have to be applied to each instance on a machine. This will make maintenance harder if not impossible to perform, with all the security risks involved.

    Everyone is creating his own instance, costing extra harddrive space. Each instance will require its own set of runtime files, costing more diskspace than a single installation.

    The download of your application gets larger. Now people get their .NET installation mostly from windows update, which I think is great, because that way I don't have to deliver it with my application. If you distribute your own instance with your software it will only make your installation harder to deploy, as the installation package gets larger. Moreover, you can get all kinds of problems with the installation of your specific instance that you don't have with a normal .NET installation.

    There is also the problem of the GAC. You could go with a GAC for each instance, but it would require you to register assemblies of third party frameworks in every single available GAC for each instance. You could argue that you don't need most of the stuff that is registered, but I know for a fact that there are a lot of people out there that make use of third party assemblies that are installed in the GAC.
    For example: Enterprise library, install seperately and reuse for several applications.

    There are more problems with this than what it is worth in the end. At least that is my opinion.

  • User profile image
    figuerres

    WillemM said:
    This may look like a good solution at first, but think about it:

    Security patches have to be applied to each instance on a machine. This will make maintenance harder if not impossible to perform, with all the security risks involved.

    Everyone is creating his own instance, costing extra harddrive space. Each instance will require its own set of runtime files, costing more diskspace than a single installation.

    The download of your application gets larger. Now people get their .NET installation mostly from windows update, which I think is great, because that way I don't have to deliver it with my application. If you distribute your own instance with your software it will only make your installation harder to deploy, as the installation package gets larger. Moreover, you can get all kinds of problems with the installation of your specific instance that you don't have with a normal .NET installation.

    There is also the problem of the GAC. You could go with a GAC for each instance, but it would require you to register assemblies of third party frameworks in every single available GAC for each instance. You could argue that you don't need most of the stuff that is registered, but I know for a fact that there are a lot of people out there that make use of third party assemblies that are installed in the GAC.
    For example: Enterprise library, install seperately and reuse for several applications.

    There are more problems with this than what it is worth in the end. At least that is my opinion.
    Yep, it really does not solve the OP's "Problem"

    .net is what it is, it works.

    Java needs it's runtime to work also....

    and Java is one language and does not have the features that .net has.

  • User profile image
    Irakli_​Lomidze

    1) About Disk Space. Today Application beacmes larger and larger disk space does not means a critical.

    2) Secrity Updates comes for each instance as it is in SQL Server Express

    3) It should be posible to have Cross Instance Call. use Class from diffenret instance exampel "default"

    4) It sould be  a optional and configurable  where to run your app in default instance witch have enaugf functionality or deploy your self.

    5) in Custome .NET Framework run time, I mean not only Libraary but also a .NET Core Functioanlityus too, Like a ngen GAC ...

  • User profile image
    figuerres

    Irakli_Lomidze said:

    1) About Disk Space. Today Application beacmes larger and larger disk space does not means a critical.

    2) Secrity Updates comes for each instance as it is in SQL Server Express

    3) It should be posible to have Cross Instance Call. use Class from diffenret instance exampel "default"

    4) It sould be  a optional and configurable  where to run your app in default instance witch have enaugf functionality or deploy your self.

    5) in Custome .NET Framework run time, I mean not only Libraary but also a .NET Core Functioanlityus too, Like a ngen GAC ...

    sorry I hate to be harsh but I really do not think you understand what you are asking for.

    really.

    for example if *any* 3rd party could just take a copy of .net modify it and send it out then that would open a *HUGE* set of possible problems like inserting spyware, trojans and viruses into the package.

    also when the standard framework install happens parts of the code that is used by the GAC *IS* ngened to native code, that's one reason it takes time to install...  if you list the GAC one of the attributes is what kind of code (MISIL or NATIIVE)

    and at the start you complained about how large it is.... 

    well if you had say 10 apps each with a "Private copy" of the parts they use of .net then you have 10 times more code installed!!

    sorry but I think more users benefit from ONE install of .net with many apps using it. 

    one install of .net one time and then you can install many apps each app possibly beeing very small to copy and install.

    just burn a CD for customers with .net on it.  it works and does not create 1,001 other problems.

    I have been doing software for 20 years, I have seen a number of Operating systems, languages and runtime packages.
    .Net is very well designed overall. I would like to see a few things chnage but not what you seem to want.

  • User profile image
    cheong

    Irakli_Lomidze said:

    1) About Disk Space. Today Application beacmes larger and larger disk space does not means a critical.

    2) Secrity Updates comes for each instance as it is in SQL Server Express

    3) It should be posible to have Cross Instance Call. use Class from diffenret instance exampel "default"

    4) It sould be  a optional and configurable  where to run your app in default instance witch have enaugf functionality or deploy your self.

    5) in Custome .NET Framework run time, I mean not only Libraary but also a .NET Core Functioanlityus too, Like a ngen GAC ...

    Your first point may be valid for most senerios, but is horrible for call centre machines that have thousands of user profiles.

    Take the machine of the project I'm working on for example, say that it's like the size of .NET v1.1 (~55MB), the total required space for all the "named instance" will be > 50GB, which I could hardly say to be acceptable.

    For "faster deploy", just ask your customers to deploy it through WSUS. It's more managable and has less problem.

    Recent Achievement unlocked: Code Avenger Tier 4/6: You see dead program. A lot!
    Last modified

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.