Last Christmas was the first time I’ve been home in around five years and is the first time I’ve gone back with my family.
SharePoint 2010 Scripted Install
I’m really getting into the scripted SharePoint 2010 install hosted at codeplex. It’s great because whenever something goes wrong with the config and install process, I can roll the machine back and start clean, instead of carrying forward every bug. This is very important to me as the 2007 instances that we support at the moment are what we developers call “a bloody mess”.
The project started on SharePoint 2003, got upgraded to 2007 and a bunch of custom web parts were made to duplicate the existing functionality. It wouldn’t do to have an application that didn’t cost more, be less capable and have more bugs than the off-the-shelf product.
So this 2010 project is a fresh start and I wanted to make sure that this instance was rock-solid and not as spotty as some of my earlier attempts.
The trouble is that there’s more than one path to walk when running up a new instance. At its most basic, SharePoint can be installed on your workstation, with the retarded SQL Server embedded. At its most complex you have a least-privileges install, which is best-practice and nice and secure. Actually if you’re installing SharePoint to host lots of isolated customers (tenants) it’s more complex, but we don’t have to worry about that.
Once your binaries are installed, you’re given the option of running the config wizard. The wizard is fine for your dev machine but will really mess up a production environment. The trouble is that the wizard starts a bunch of services and so on that you can’t access via Central Admin, so to make a proper instance you need to get into Powershell.
Since we’re in Powershell and we’re probably going to fluff the first few goes at installing the instance one may as well script the steps. Luckily, the folks over at AustoSPInstaller have already done all the hard work.
What the script will do is create a fairly typical SharePoint 2010 instance and, most importantly for me, configure and start the thorny User Profile Synchronisation (UPS) service.
One of the best things is that you can run the script many times without it breaking your existing instance. Got an error when installing a service? Fix it and run the script again.
I’ve made some extensions to help automate the config — the script will get you to the point where everything exists but you need to configure it to make it work in your environment. What I’d like, ideally, is a script that would do the install and all the config, so that I have a known, properly configured instance that I can reproduce exactly and quickly.
I’ll write a bit more and give more detail in a future post.
Amelia tries on Mummy’s clothes
Brendan and James
I bought a new flash while shopping on the weekend and tried it out on my two fellow knights of the white table.
Results are a little mixed, but practice makes perfect.
Learn from my stupid mistakes
I’ve been playing around with scripted installed for SharePoint 2010. Given the install process is lengthy, tedious and very easy to bugger up, having a script that performs a least-privilege install automatically is pretty attractive.
Over at Codeplex they’ve got AustoSPInstaller, which is on v2 of the 2010 script. This takes an XML config file with your service account passwords and so on and goes through all the punishment of a manual install in your behalf.
Great! Except the powershell script kept getting access denied errors. That’s odd. I opened up regedit and had a look at the permissions. OK script is running as me, I’m in the local domain user’s group, admins have full rights. WTF?
Now, it’s been a while since I’ve done anything with scripts other than fool around with the filesystem, AD or a compliant SharePoint install, and I’ve only worked on this machine once before. Luckily I’ve banged my head against this particular wall before.
I’m an administrator… but I still need to ‘run as administrator’ the script.
Much better now.
Of course, on the first run the script found the development database server is full and punched out. Oh well.