What is the difference between sandboxed and farm solution in SharePoint 2010 - sharepoint-2010

I am new to SharePoint 2010. What is the main difference between sandbox and farm solution. Can you give me 5 differences to remember. I googled, but there is lot of matter to understand. As a start up guy, i want to know the basic difference.
Thanks for your help.

Farm Solution:
Farm solutions, which are hosted in the IIS worker process (W3WP.exe), run code that can affect the whole farm. When you debug a SharePoint project whose Sandboxed Solution property is set.
Sandbox solution:
Sandboxed solutions, which are hosted in the SharePoint user code solution worker process (SPUCWorkerProcess.exe), run code that can only affect the site collection of the solution. Because sandboxed solutions do not run in the IIS worker process, neither the IIS application pool nor the IIS server must restart. Visual Studio attaches the debugger to the SPUCWorkerProcess process that the SPUserCodeV4 service in SharePoint automatically triggers and controls. It is not necessary for the SPUCWorkerProcess process to recycle to load the latest version of the solution.
For more please refere this link
You can also refere this to know sandbox solutions goodlink

Farm Solutions:
Farm solutions are hosted in the IIS worker process (W3WP.exe).
If you run any code in farm solution the whole farm will got affected.
If you deploy any feature or retract any feature the whole application pool got recycled.
Since they are scoped as farm level, they have full trust access to all the resources.
When the Sand boxed Solution property is set to False, selecting Build\Deploy will deploy the solution to the Farm Solution Gallery.
Sand boxed Solution:
Sand boxed solutions are hosted in the SharePoint user code solution worker process (SPUCWorkerProcess.exe).
try to this link
- The process runs under a CAS policy that restricts programmatic access to any resource outside the sandbox.
- So it never restart the IIS application pool.
- If you run any code it will affect only the site collection of the solution.
- Helpful if you have shared hosting.
- When the Sandboxed Solution property is set to True, selecting Build\Deploy Solution deploys the solution to the site collection Solution Gallery.
One major difference in the deployment is Farm solutions are installed and deployed. Sandboxed solutions are uploaded and activated.
This Link http://www.enjoysharepoint.com/Articles/Details/differences-between-sandboxed-and-farm-solutions-i-66.aspx

Farm solutions, which are hosted in the IIS worker process (W3WP.exe), run code that can affect the whole farm.
Sandboxed solutions, which are hosted in the SharePoint user code solution worker process (SPUCWorkerProcess.exe), run code that can only affect the site collection of the solution.
(from http://msdn.microsoft.com/en-us/library/ee361616.aspx)

One major difference is we can't create Aplication pages in Sandbox solutions.Beacuse Application pages are stored in the 14\TEMPLATES\_LAYOUTS and when we deploy as sandbox we dont have permissions to the physical folder.
Also we cant create VISUAL web parts in Sandbox soultions.
We cant use code to connect to the external web services or to database in the sandbox soltion
Farm solutions are installed and deployed. Sandboxed solutions are uploaded and activated.

Normally we are using Sandbox solution for Online sharepoint such as office365. In this case user will get a solution to work with, but not the Physical system folders. So we cant give any images or contents into the Layout folder(it is restricted). And the main thing is We couldn't able to use some SP-class features in the Sandbox solution(which can be get the information about other farm solutions and server information). Thus farm solution is restricting this SP classes, system folders along with SPUCWorkerProcess process.
We can create the Visual Webparts as Sandbox solutions in 2013 but we have to make sure about the classes and we never want to use the layout folders etc.

Farm Solutions properties:
Farm solutions are hosted in the IIS worker process (W3WP.exe).
If you run any code in farm solution the whole farm will got affected.
If you deploy any feature or retract any feature the whole application pool got recycled.
Since they are scoped as farm level, they have full trust access to all the resources.
When the Sand boxed Solution property is set to False, selecting Build\Deploy will deploy the solution to the Farm Solution Gallery.

One major difference is we can't create Aplication pages in Sandbox solutions.Beacuse Application pages are stored in the 14\TEMPLATES_LAYOUTS and when we deploy as sandbox we dont have permissions to the physical folder.
Also we cant create VISUAL web parts in Sandbox soultions.
We cant use code to connect to the external web services or to database in the sandbox soltion
Farm solutions are installed and deployed. Sandboxed solutions are uploaded and activated.
Farm solutions, which are hosted in the IIS worker process (W3WP.exe), run code that can affect the whole farm.
Sandboxed solutions, which are hosted in the SharePoint user code solution worker process (SPUCWorkerProcess.exe), run code that can only affect the site collection of the solution.

Please look the website that contains more details about the Farm Solutions and Sandbox Solution details :
http://www.techcontents.com/uncategorized/difference-farm-solutions-sandbox-solutions-sharepoint-2010/

Related

Allow users to run partial trust XBAP or BROSER WPF without touching internet explorer properties

I have just developed a xbap app which is hosted in an IIS server. Working fine in server and in the developers machines but when users access to it, the message "this application type has been disabled" appears. They only have to enable "XAML" for solving this error but I dont want them to do that.
I need a solution to allow users to run this app without changing anything in their explorer.
I cant believe Microsoft decided to not enable XAML apps to work directly since Internet Explorer 9!
Thanks a lot guys!
After some research, I realized there's no solution directly in WPF Browser.
I am moving my app from that WPF Browser to asp.net web. Hard to simulate the same behaviour but moving forward so far...

SharePoint 2013 Performance Point

Dashboard designer error:
The url is not available,does not reference a sharepoint site, or you
do not have permission to connect
This is happening to the site collections under one web application only in the whole Farm. Other web applications are working fine and I can open site collections through dashboard designer.
Any suggestions????
Unattended acc is all set, Site feature is activated, site collection is added to trusted location. On database side, app pool acc has db owner access to web app db. PPS is db owner there as well.
I think this indicates to a deployment issue on this app. Maybe something went wrong when deploying webparts, the assemblies couldnt be registered or were not copied correctly. It could also be a specific access restriction issue in SharePoint or in the file system that SharePoint relies on.
Without any log information it is hard to say what is really the problem - but - have a look at windows event log for any further indications, the general log files that sharepoint/asp.net write or also consider using monitoring tools that can tell you more details on what is happening here.
I recently wrote a blog on top deployment mistakes in SharePoint. I highlight exactly these deployment mistakes in more details: Link
Andi

How to deploy a web site on IIS by using .dll file

I want to deploy on IIS my web site but I do not want to take whole project. I just need to take .dll file. Is their any way to do so.
I do not want to use visual studio only .dll file from the project to deploy.
The basic steps for deploying to IIS on windows server are as follows:
log onto the machine that is or will be hosting your application.
Use IIS Manager to create a new website for your application.
Create a new application in that site. I believe this also will automatically create an application pool with the same name for you and use it by default.
Specify the virtual directory for your application. This is going to tell IIS where to look for your mvc application. For this case lets assume it is C:\myApp
On your own machine Build the application however you build it with the correct solution configuration (i.e. Release mode). Let say the result of your build is located at C:\MyProject\bin
Copy C:\MyProject\bin from your machine onto your hosting machine at C:\myApp
You should be able to search these steps and find a step by step guide of how to accomplish them. Here is a link to some info on what sites, applications and app pools are to help you better understand.
http://www.iis.net/learn/get-started/planning-your-iis-architecture/understanding-sites-applications-and-virtual-directories-on-iis
Based on your sites requirements there will be some additional steps to set up security and alter bindings if you need to change them.
You don't need to deploy your entire website if you only make a change in a single assembly. You could copy the .DLL assembly directly to the bin folder of your website. This will trigger the Application Pool to be recycled in IIS and the changes will be taken into effect on the next request.

no-touch deployment

I am finding all sorts of general descriptions of no-touch deployment and lots of questions and problems, but I can't figure how to just get started with it. What is the method that makes it happen? I'm working in VB.Net 2005. I think assembly.loadform will suit me best since I know all of my users and will deploy via my intranet.
Appreciate any links or suggestions for starting places (other than googling "no-touch deployment", I already did that).
If it's a web application project that you're deploying, one-click publish with Web Deploy may be what you're looking for. Here's a related link:
How to: Deploy a Web Application Project Using One-Click Publish and Web Deploy

Automatically deploy resource files to Central Administration's App_GlobalResources folder when deploying a solution to a web application

I'm developing a SharePoint 2010 solution which consists of some web parts and other components. Furthermore the solution needs a application pages in the Central Administration for configuration.
So my solution contains an extra feature which places a custom actions in the Central Administration menu that links to a application page providing the configuration. The feature has the scope WebApplication and uses the Attribute AutoActivateInCentralAdmin set to True so the feature is automatically activated in the Central Administration when the solution is deployed to a web application. This part of my solution works as expected.
But I've got some issues regarding the resource files which are used by the application pages in the Central Administration as they only get deployed to the App_GlobalResources folder of web application the solution was deployed to but not to the App_GlobalResources of the Central Administration.
So I'm wondering why to use the AutoActivateInCentralAdmin when there is no automatic deployment of the resource files to the App_GlobalResources folder of Central Administration.
What is the best way to deploy the resource files to the Central Administrations App_GlobalResources folder whenever the solution is deployed to any web application in the farm? Is there an automatic way to this?
We are talking about Application resources here (as opposed to provisioning resources) and they should be deployed to {SharePointRoot}\CONFIG\Resources folder. Make sure the resources files used by your application pages are deployed to that folder when your WSP is deployed.
When a new web application is created, the resources are initially copied to the App_GlobalResources folder, you are fine here.
But when web application is already created (which is your case), you need the resources to be copied to existing web applications. You can do this manually with this command
stsadm –o copyappbincontent
Or you can automate (which is what you want) this by including the following in your FeatureActivated event in your feature receiver. For Central Administration resources and site maps, call
SPWebService.AdministrationService.ApplyApplicationContentToLocalServer();
For regular application page resources and site maps,
SPFarm.Local.Services.GetValue().ApplyApplicationContentToLocalServer();
You need to create a Custom Timer Job for this. If you search on internet, some people have already developed such job.