views:

2384

answers:

7

Hi,

i need to setup a development environment for writing Share Point Web Parts. What do I exactly need?

My development machine is a Windows XP Prof. with Visual Studio 2008 Prof. If found Windows Share Point Services 3.0: Software Development Kit (SDK) and Windows Share Point Services 3.0: Tools Visual Studio 2008 Extensions, Version 1.2. But i cannot install it ob Windows XP because Share Point Services 3.0 are required to be installed locally. I can not imagine that it is really necessary to install Visual Studio at a Server Operating System.

Is there any other way to setup a clean development environment under Windows XP and using a dedicated Windows Server for running Share Point Services?

+3  A: 

You generally have two options:

  1. Create a physical or virtual machine with Windows Server and Visual Studio on it, use this for development.
  2. Use Vista on your workstation and "hack" SharePoint to install on it.

Personally I use the latter now, along with STSDev, for all my SharePoint work, I find it much nicer than option 1.

Steven Robbins
+2  A: 

Does this article solve your install issue?

Mitch Wheat
Yes it seems like they are doing exactly what i am looking for, but i think i need a more "official" solution for this project. Since this is a official project i cannot hack the SharePoint installation.
Alexander
+2  A: 

You could also try installing SharePoint on a virtual machine running Windows Server 2003. With Vista, WMware Workstation, 4GB of memory on the host and a fast disk you will experience decent performance. Additionally, I can also recommend setting up a second virtual machine running Windows Server 2003 and Active Directory if you are installing MOSS 2007. For a WSS 3.0 install it is less important to connect your SharePoint server to AD.

This is a flexible and cost-effective setup I used to have. Now, I am fortunate enough to have an even better setup. My own 1U Dell PowerEdge server in a hosted environment. Such a server is amazingly cheap now-a-days and hosting it only costs my company $110 /month. Now, I can just remote desktop to it and enjoy all this power without having to listen to a noisy server under the desk or accept lower performance with the previous virtual machine setup on my laptop.

I can highly recommend any serious SharePoint developer to go for the latter option. It is like a pleasant dream working with SharePoint this way ;-) Convince your boss that this is what you need to work effectively.

Lars Fastrup
+8  A: 

I highly recommend using a VM. SharePoint is big. It requires multiple servers and lots of services. Basically its guaranteed to slow down any workstation you install it on. Other benefits of using a VM to develop:

  • Undo disks
  • Moving your dev environment from workstation to workstation
  • easy back-ups

This is a pretty comprehensive guide to building a full featured SharePoint VM: http://www.pptspaces.com/sharepointreporterblog/Lists/Posts/Post.aspx?List=7537e639%2Db4e5%2D48b6%2D97c0%2Da75e44ee9be3&ID=28&Source=http%3A%2F%2Fwww%2Epptspaces%2Ecom%2Fsharepointreporterblog%2FLists%2FPosts%2FAllPosts%2Easpx

Although, if you are going to be doing a lot of SharePoint development I would build a parent VM with the OS, SharePoint, and database. Then create a child VM (differential disk) with dev tools (VS 2008, Office 2007, SharePoint Designer). That way, you can always roll back to a clean SharePoint environment if you need to.

Furthermore, I think the best way to do serious solution development is to spend the time and learn how to build your own solution files, and rolling your own features. NANT can be used to great effect for this. The existing crop of automated tools have limitations that you will inevitably run up against if you are doing anything a bit complicated.

Learning all of the moving parts of solution development is a bit daunting, but once you do it gives you a MUCH better picture of what SharePoint is doing under the covers.

Jason
+1  A: 

I believe the easiest and the fastest way to get started developing for SharePoint is to use the Microsoft Virtual PC and download MOSS 2007 VHD from Microsoft. It has Windows Server 2003, MOSS 2007, MS Office 2007 (with SharePoint Designer) and Visual Studio 2005 already installed and pre-configured, so it's ready to for you to use. You could also install your own copy of VS 2008, helps with workflow development.

dstetsenko
+2  A: 

You really need to go virtual. And yes, VS goes on the server. This is not as bad as it may sound to some. You can install the virtual image and configure everything, including VS to your liking, and take a snapshot of the server. That way you dont have to re-configure all your custom VS settings and tools.

You can create as many different virtual images as you need (one for each customer if you are working for several customers) and you can take snapshots of the virtual machines and later discard all, if you need to clean up your workstation.

It is a good practice to delete your development environment often (i heard of teams that does it every week), and go back to a snapshot (you can automate this process in Powershell to happen every weekend) so that your dev environment will be as similar to your dev-test, integration-test, pre-prod and production environment as possible!

I have seen several questions asked here, where ppl cant understand some deployment "that worked fine on my development rig" doesnt work when pushed to production. Differences between environments are one of the most obvious causes of this!

What virtual environment to choose?

I have used Virtual PC/Server and can testify that they are slow. So i will strongly reccomend against those.

If you want a fast development platform you should install Windows Server 2008 on your PC, Convert your Windows 2008 server to a workstation and install HyperV. It is the new free virtualization tool from MS. The reason you need Win2k8 (or Win7 beta) is that the OS supports virtualization natively. That is also why it is so fast compared to the alternatives. It isnt even hard to set up, do a google and you will find plenty of guides on it.

Another also good option is VMware workstation. Not as fast as HyperV, but i have used that for years and it works like a charm. Not all versions are supported by MS though, so that might give you problems if you call MS support at some point.

I do not recommend using Jonas "SharePoint on Vista" helper for the above reasons: virtualization gives you the possibility to keep your dev. environment clean!

hth Anders Rask

Anders Rask
+1  A: 

Hi guys,

I'm Jonas from Bamboo that created the setup helper. Here is why I did it and how I use it.

I 100% agree that virtualization is the way to go when you are testing your solutions. You CAN NOT test a solution on Vista since we don't KNOW how running on Vista will affect the solution. I will go one step further you MUST test your solution in a REAL farm environment.

1) SQL server on a dedicated box. (Double hop) 2) Multiple front end web servers. (state, deployment...) 3) Different language packs and different language for the OS Time zones you name it. 4) ??? fill in the gap ???

BUT sitting and developing running Unit tests debugging in a virtual environment was killing me... It was too slow. You need fast feedback. So either you develop, debug and test with WSS/MOSS on Vista or you install Win2003 or W2k8 and your dev environment don't develop in a VM UNLESS you have enough hardware (and I run a quad core 8GM RAM machine).

Happy coding! /Jonas