开发者

Effect on clients of moving from .NET framework 2.0 to 3.5

We have a desktop application run on a few thousand client computers. We want to move from framework 2.0 to 3.5, but are concerned with the impact on clients. I understand that 3.0 and 3.5 are additions to the framework, and that they install service packs to 2.0; what I want to know specifically:

  1. When a client upgrades to the latest version (forced upgrade) and they only have framework 2.0 or 3.0, will Windows go and grab 3.5 invisibly in the background?
  2. If not, can we make this part of开发者_JAVA百科 the installer or is it only available via Windows Update? (Edit: We use MSI.)
  3. If there is no way to make the process invisible to the user, is there a site that provides step-by-step instructions?
  4. If a customer is on a box where they don't have rights to update the framework, is there anything that can be done to make the app still work correctly?


In all likelihood, your client's machines are already updated to .NET 3.5 SP1. Windows Update automatically updates any machine with .NET 2.0 through 3.5. If that didn't happen then your client's IT staff is blocking updates. In which case you should leave it up to them to deploy it, you can't reasonably deploy updates yourself that the IT staff intentionally blocked.

More background info in this blog post.


If you are using MSI installer for your application, it will attempt to install 3.5 for them.

If you are not using MSI, tell them to go here: http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&displaylang=en

Then download and install.

If they don't have administrator access, they will need one.


Depends how it's installed. If you are deploying via OneClick, then yes, it will happen automatically.

Otherwise, yes, it should be possible to use the redistributable package to install it.


1) Not invisibly.

2) With any installer you can set prerequisites.

4) IMO user need administrator rights to install framework.

Also you can embed .Net 3.5 Client Profile into you installation.

Also you can spread necessary .Net 3.5 .dll files with your application.

Edit: Also you can embed .Net 3.5 Client Profile bootstrapper into your installation. It is only 2.8MB. See here.


Just a few bits of info I picked up reading through all these great answers, the links provided and the ideas those sparked:

  • Only about 55% of the boxes that access our web site that report .NET Framework versions in their user agent string have 3.5. I was unable to determine when Microsoft will be pushing 3.5 with Windows Update (some say they've been doing for a year, some say they're starting soon).
  • MSI apparently will auto install the right .NET framework. It lists .NET Framework in the installer as a dependency under the installers. EDIT: We had to update the installer project to specifically target 3.5. EDIT: Users must run the generated Setup.exe and not just the .msi file if you want the dependencies checked.
  • For those not using MSI... One can't distribute .NET framework without a licensed copy of .NET Framework SDK (see http://msdn.microsoft.com/en-us/library/ms994395.aspx). However, one can distribute an installer (http://msdn.microsoft.com/en-us/library/cc160716.aspx).


  1. How large of a deployment is this? It might be better to execute the deployment of .net 3.5 as a previous enterprise deployment. And then follow up with your application. For enterprise wide deployments there are tools like Zenworks, and others that deploy applications and other file sets "invisibly" to the user.

  2. Have you confirmed that your application will not function with .net 2.0?

  3. If your application is only files, and does not have registry settings, etc. you may be able to copy the files to the users' computers, and copy a shortcut to their desktop, or startmenu certainly without their intervention, and probably with out their knowledge. If you have admin level credentials that apply to all your PCs and can get a list of all you r PCs' network names, you could "push" the files out through the C$ share, or if they log in to a domain you can have them "pull" them via a login-script.

There are actually lots of ways to do this. If you have server admins, they can help you with this.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜