How to detect .Net 4 Full Profile - .net-4.0

How can you detect whether a PC has the .Net 4 Full Profile installed, as opposed to the .Net 4 Client Profile?

Here are the registry keys. Also if your application is targeting the full .NET 4.0 profile and this profile is not installed you will probably not go as far as checking the registry keys because your application won't run at all. So this check is better to be done when deploying the application on the client machine as part of the setup and deployment project. You could use a launch condition:

Related

How do I deploy a .Net 4.0 full application to an environment that is just .Net 4.0 Client?

So we have developed an application that uses the .net 4.0 full(extended) libraries. Our workstations only have .Net 4.0 client on them. Our applications and infrastructure teams are wary about having us deploy .Net 4.0 full to all the workstations and wants to take some time to discuss and test.
Is there some way to deploy the extra .Net Extended dlls with our application so we can go around this?
No, you cannot supplement with just the dlls. All you can do is update to the full profile or find the features in your app that require the full profile and re-write them to avoid that requirement.
There's actually not that much difference between the two profiles. See the answers to this question for a more complete explanation:
Client Profile vs Full
That means that you may have an easier time than you think either re-writing the app to avoid the features, or convincing your staff to update the profile deployed to the workstations. It's likely just some advanced WCF features or a type provided with ASP.Net (like HttpUtility) that you're missing.

How to deploy an auto-updating WCF windows service?

I have a WCF Windows service that is used locally only. I need to deploy it in multiple sites and I need the option to auto update it - when an update is released, the service has to be able to get the new version and update itself.
The service will be used in Windows 7, so the permission issue needs to be taken into account somehow.
I have no experience with services and their deployment, feel free to explain thoroughly.
Edit
I've been considering ClickOnce since another application I'm writing is deployed using it. The thing is, ClickOnce only checks for updates on startup and Windows services are supposed to be up and running.
Is it possible to use the ClickOnce detection in my other app and then update the service? (Permission-wise)
Can ClickOnce start and stop the service?
Can the update be silent?
You have to take in account the expected availability of your service and the update policy for your application.
Besides that, you might want to take a look to:
Is there a way to check if a ClickOnce application is running the latest version
http://madprops.org/blog/Updating-ClickOnce-Application-Programatically/
http://msdn.microsoft.com/en-us/library/xc3tc5xx.aspx
Cheers,

Could not load file or assembly Microsoft.Exchange.Webservices.dll on client PC

I know there are more articles of this on the internet i think i found them all but still cant solve my problem for the client PC's.
i have a windows forms project installed on a server that every client PC's useses. I added the reference 2 my project and installed the EwsManagedApi on my own computer for testing and changed the location of where 2 find the references to the folder that EwsManagedApi installs.
When i am trying to use the module that uses the Exchange Web Services i get the error.
I only have the shotcut on my pc and the application is running good. i know the reference path is good i checked this more than 5 times. but when i just copy the dll to my folder where the shortcut is it is working good. what do i have to do to get the dll from the server where the aopplication is installed.
Tanx
You have to install the Microsoft Exchange WebServices API 2.0 in every client
to be sure you have all the necesary assemblies.
Microsoft Exchange Web Services Managed API 2.0
In addition, check out the the server version. Maybe it is 64 bits and the
clients are running 32 bits.

Which version of .NET 4.0 is needed for web site hosting? Client or Full?

Simple question -> for dedicated website hosting, do i need to download and install the full ASP.NET 4.0 package, or just the client.
I understand the client is required for end users who need the .NET framework for their windows form applications.
But i'm not sure for a web hosting sceanrio.
Also, don't worry about talking about x86 or x64 - i understand the differences with the packages, etc.
The ASP.Net runtime is only included with the Full installation.
(This is one of the biggest savings of the client profile; ASP.Net is large)
Yes you would need the full. The client profile specifically excludes ASP.NET.

Fresh XP +click once +cannot connect

Greetings,
we have to following problem.
Our application is deployed using ClickOnce. Everything is running fine and application is able to connect to the wcf service. The problem occurs when application is installed on FRESH XP machine without .net Framework and Windows Installater (that were selected in ClickOnce prerequities).
Application downloads .NET Framework 3.5SP1 and windows installer but then it cannot connect the the server. Reboot after install does not help.
The strange is that this application has been installed on 10 xp machines and 4 of them can connect to the service without a problem
Are there any dlls referenced in your application? You might want to check them (Under project's Properties\Publish tab\Application Files button) see if you missed to include the needed dlls or files.
alt text http://www.freeimagehosting.net/uploads/e8ff221e20.jpg
We ran into this and were forced to reinstall .net on some machines no idea why though.
This is a shot in the dark but have you tried depends.exe and see if it can profile what is happening.
Also Take a look at this blog and get a crash dump and see if you can use it to at least tell you what is complaining the loudest.
What do you mean when you say 'cannot connect to the server'?
a. The machine cannot connect to the install location and therefore the clickone app is not installed?
b. The app installs (along with the pre-requisites) and starts fine. Then it is unable to connect/communicate with your WCF services.
I presume (b) I just wanted to clarify.
What happens when you ping the machine the services are on from one of the failed install machines? Also what happens when you put the service url into a browser on one of the failed install machines? Can you see the wsdl?
Obviously your deployment package works because it works on those other machines (I assume it IS the same package all machines are installing?), therefore I doubt you are missing any dll's as a ClickOnce app should include all dll's it needs (sometimes you do need to tell ClickOnce explicitly to include).
Last question is, when the app tries to call the service, exactly what exception is it getting back?
I just remembered something which has caught me out in the past with some machines being unable to connect but others can...especially 'new' machines.
Check this file:- C:\WINDOWS\system32\drivers\etc\hosts
Check the contents on a machine that works and one that doesn't. We have some IP to machine name mapping going on that on new machines is not set and so the new machines cannot find the servers.