Download Prerequisites

While I was doing some installation for the TAP of one of my customers with strong restrictions (no internet connectivity for my test server) I had to develop a script for downloading prerequisites. You will say, but why? There are scripts online that do that for you…well the ones I found were all hard-coded for SPS2014 Prerequisites.

Of course I cannot disclose which prerequisites these are, but I can share the script and how to get the prerequisites in a text file.

So this is the code you need to download the prerequisites.


param (
[string] $InputFilePath = "mytextfile.txt",
[string] $OutputPath = "[some drive letter]:\somedirectory\"
)

$webclient = New-Object System.Net.WebClient
$creds = Get-Credential -Credential ([Security.Principal.WindowsIdentity]::GetCurrent()).Name;
$webclient.Proxy.Credentials = $creds

$urls = get-content $InputFilePath;

foreach( $url in $urls ) {
$webRequest = [net.WebRequest]::Create($url)
$webresponse = $webrequest.GetResponse();
$fileName = $webresponse.responseuri.segments[$webresponse.responseuri.segments.Length -1]
$filePath = $OutputPath + $fileName;
$webresponse.Close();

$webclient.DownloadFile($url,$filePath);
}

The text file looks something like this…


http://go.microsoft.com/fwlink/?LinkID=
http://go.microsoft.com/fwlink/?LinkID=
http://go.microsoft.com/fwlink/?LinkID=
...
http://go.microsoft.com/fwlink/?LinkID=

The text file can be generated by using one of the following links (using strings.exe or process explorer on a machine that cannot host sharepoint):

http://thesharepointfarm.com/2014/03/sharepoint-prerequisite-installer-download-links/
https://technet.microsoft.com/en-us/sysinternals/bb897439

I used sysinternals\strings.exe. That worked very well.

AppManagement and SubscriptionSettings Services, Multiple Web Applications and SSL

So currently I am setting up four environments of which one is production, 2 are staging and another is was a playground installation.

My staging environments (TEST, QA, PROD) are multi-server, multi-farm systems (multi-farm because the 2013 Farm publishes Search and UPA to existing 2010 Farms).
They are running SPS2013 Standard with March PU 2013 + June CU 2013. They will be using App Pool Isolation and App Management and SubscriptSettings Services have their own account (svc_sp{t, q, p}_app, i.e. svc_spt_app, svc_spq_app and svc_spp_app).

I have three web applications of which all are secured by SSL making a wildcard certificate necessary for the app domain. Each has their own account (svc_sp{t, q, p}_{col, tws, upa}). The reason for this is that I will be using Kerberos Authentication and for the SPNs I need dedicated accounts for each Application URL.

My playground was once a 4 server farm, but now 3 servers have been removed. It does not run the March PU 2013 nor June CU 2013. There app pool isolation wihtout SSL is used.

On the playground the app management worked well. I actually encountered my problem on my test first and tried to replicate on the playground, but couldn’t. But I am getting ahead of myself. The system was setup via autospinstaller and the necessary certificates and IPs involved were requested and implemented. The AD Team did the domain setup for me. I didn’t setup my environment following this article, but it is a good one to read. I also got the idea of creating a separate dummy web application for attaching my IIS Bindings and Certificate from it, which makes a lot of sense, because of security considerations and kerberos.

The first article to read to get an overview of what is necessary and what’s trying to be achieved can be found here.

So I set up everything and still it wasn’t working. What does that mean? I will explain. When I subscribe to an app, download it from the store and add it in a site collection of my choosing I get to click on it once it is finished installing. The link then leads me to my app domain. With SSL only when I was using the same application pools I could actually get anywhere, otherwise I say the below.

This is what I wanted to see:
Expected

This is what I saw on any of the web applications with SSL and that had a different app pool account than the one I was using for my dummy web application.
Actual

So this blank page is actually exactly what you see when you leave the request management service running on the frontends without doing any topology configuration.

So I tried to work with the user policy from the web application management page in hopes of giving the users permissions on the content databases. This was actually not happening as I found out later, but which was actually exactly what was needed. I had to manually add the account of the app pool for the app domain to the SPDataAccess Group of the content databases. Then it also works with SSL. I actually set up three web applications WITHOUT SSL on the Test Staging Environment with the same users as the SSL Web Applications and this worked like a charm, but for any SSL web application I needed to explicitly give permissions to the content database. This is a nightmare to maintain. For my migration of 20 databases from 2010 to 2013 I need to do this again and again and for each new content database I will create in the future. Just imagine you create a new content database and forget to do this. Now for any site collection in this content database the above issue will show up. Hard to debug later on.

Not sure what Microsoft is thinking here, but I am happy that it only took me 4 days to figure this one out.

VirtualBox (http://www.virtualbox.org)

A colleague of mine mentioned the Oracle product VirtualBox to me recently. Now one thing was pretty interesting…I have a virtual machine: see this for more information and of course I am using snapshots (I am not THAT crazy you know ;)). So what happens is that I give my colleague that vm and he converts it to use it with virtualbox. Now everybody knows what’s coming, right? He starts the virtual box image and tells me I got no SharePoint installation running. I’m all: “You kidding? Of course I do. Check the browser, I got a favorite on the central admin and my development port.” He sends me a screenshot where I can see, there are no favorite links in the toolbar…

So what happend? I guess he took a one of the shapshot vmdks (image disks). That sucks! But he installed his own little SP2010 on win 7 and he said it’s fast as hell. That’s a big difference to my installation…(it’s really slow). It should have something to do with VirtualBox. I will be evaluating that, but it could be a nice little life-saver if it’s a lot faster for x64 images than vm workstation.

Good old Sun…I guess I’ll always use their products… 😉

Tweeking your client installation of Sp2010 beta

Found a great blog on stopping services and reducing the number of concurrent web apps running:
Harbar.net

So if you are using a setup, like me (Installation of SharePoint 2010 beta on Windows Server 2008 R2 as standalone VM, as I described in my last post), be sure to tweek it up a notch!

I’m currently reading up on other SharePointer-Blogs, so be prepared to see this type of post coming more often the next few days.

Installation of SharePoint 2010 beta on Windows Server 2008 R2 as standalone VM

Haven’t blogged for quite some time. Now I’m back with a post to sum up how I installed SharePoint 2010 beta. Now you might say: “Wow, he installed a Microsoft application. Good for him!”, but the truth ist, this is frickin hard. As a developer I try to keep away from installation & configuration, but as usual if nobody does it for you, you gotta do it yourself. Can’t stay behind the buzz, you know?

So here are my findings:

First thing first. The hardware requirements:
Technet: SP 2010 Hardware and software requirements

So I have a restriction myself. No lab, so I needed to use my laptop (bad idea): Lenovo T61, Intel Core Duo T7300 @2 GHz, 4 GB of RAM (effectively 3 GB) on a Windows XP SP 2 System (x86).
So the restrictions are clear. This thing is way too slow and I can’t use Hyper-V, so I need to create a standalone installation, one vm all-in-one.
If you are more lucky and have a nice setup at home similar to Andrew Connell it just might not be that much of a hastle.

If you do you can use the public hyper-v 2 vm demonstration machine then: 2010 Information Worker Demonstration Virtual Machine (Beta)

Be sure to check your machine, if it is capable of running x64 Virtual machines VMWare Check Utility and enable the VT-capability in your BIOS.

As my company is a Microsoft Partner, I got all the software I needed from here:
MSDN Subscriptions

I downloaded the following:

  • Windows Server 2008 R2 Standard, Enterprise, Datacenter, and Web (x64) – DVD (English)
  • SQL Server 2008 R2 Enterprise Evaluation November CTP (x86, x64, ia64) – DVD (English)
  • SharePoint Server 2010 Beta (x64) – (English)
  • Office Professional Plus 2010 Beta (x64) – (English)
  • Office Web Applications Beta (x64) – (English)
  • Visual Studio 2010 Ultimate RC (x86) – DVD (English) – no separate version for x64 needed
  • .NET Framework 4 Full RC (x86 and x64) – (English)
  • SharePoint Designer 2010 Beta (x64) – (English)

My VM-Ware-Image is a 35 GB allocate-on-demand image with bridged ethernet, 2 GB Ram max memory, 2 processors.

The installation of the above mentioned software takes up 29,2 GB of space on the external drive I use. You can probably tweek this because I mostly used ultimate editions and default settings.
Windows Server R2 comes with a lot of luggage, so you could probably deinstall a few apps before installing new versions as well.
Installing SQL-Server turned out to be optional as well.
Then I installed. Watch out for the sequence, because it will blow up in your face otherwise.

Step 1a: Install Windows Server 2008 R2
Step 1b: Install Offfice 2010 Beta
Step 1c: Install Visual Studio 2010 RC
Step 1d: Install SharePoint Designer 2010 Beta
Step X: Omitted: Create FarmAdmin Account (User, not Admin – priviledges as SPAdmin, WSSAdmin, SQLAdmin)
Step 2: .NET 3.5 SP 1 (activate feature, because is already installed with R2 of WinServer)
Step 3: Install SQL Server 2008
Step 4: Install SQL Server SP1
Step 5: Prerequisites SP 2010 Beta
Step 6: Deinstall Geneva Framework x86 and install Geneva Framework x64
Step 7: Install Hotfix KB 976462
Step 8: Install SharePoint Server 2010 Beta (as standalone)
Step 9: Install Office Web Applications Beta
Step 10: Run Sharepoint Configuration Wizard

I used the following blogs / pages for my installation:
A selection of people installing SharePoint 2010 beta on either Windows 7 or Windows Server 2008:
Installation Roundup
This one sounds quite interesting, but couldn’t get it to work that way, but this is where I found out, that the Geneva Framework wasn’t the right one…
Single Server Complete Install of SharePoint 2010 using local accounts
This one installed on windows 7, but it was supposed to be standalone as well, so you can take some valuable infos from here and it containes the link to the correct version of the Geneva Framework:
SharePoint 2010 Lab Environment Part 1 – Installing SharePoint on Windows 7

Here more details on each step:

Step 1a: Install Windows Server 2008 R2
Well this is straight forward. Default installation. Works like a charm, but takes quite some time.

Step 1b: Install Offfice 2010 Beta
This works fine. No problems here.

Step 1c: Install Visual Studio 2010 RC
This takes a whole lot of time but works just fine.

Step 1d: Install SharePoint Designer 2010 Beta
Haven’t even started using this thing. I’m still fed up with the prequel. Everybody is raving about what has been done about the Designer, but I’m just not in the mood yet.

Step X: Omitted: Create FarmAdmin Account (User, not Admin – priviledges as SPAdmin, WSSAdmin, SQLAdmin)
This step is advised by Microsoft of course. It is absolutely vital for a production environment. I just installed using the administrator, but every security expert will tell you that’s a hack.

Step 2: .NET 3.5 SP 1 (activate feature, because is already installed with R2 of WinServer)
This is absolutely necessary. Here is a screenshot for you to find where to do it:
Activate SP 1 of .NET 3.5 in Windows Server 2008 R2

Step 3: Install SQL Server 2008
This turned out to be optional. But it is good to have the sql server fully installed so you got the management studio built-in. Otherwise I advise you to install it. Working with SQL-Server you will want a management tool.

Step 4: Install SQL Server SP1
If it is not Service Pack 1 then be sure to install the service pack. Absolutely necessary
REBOOT. This is where I did my first snapshot.
Step 5: Prerequisites SP 2010 Beta
Takes quite some time, you need a running network connection for this, because the setup takes a few things (like Geneva Framework) from the according download sites. I tried doing this manually but it drove me crazy…so I let him do it for me in the end.

Step 6: Deinstall Geneva Framework x86 and install Geneva Framework x64
This is absolutely vital. I tried without and it didn’t work. What will happen during configuration is that you get an error while trying to create sample data. You definitely don’t want your configuration to fail.
You can get the correct version here.

Step 7: Install Hotfix KB 976462
This is the next thing that you absolutely need to do. Get it from here. I guess this exempts SharePoint authentication from this token method. That’s the error message you will get in the configuration wizard if you don’t install this.
REBOOT. This is where I did my second snapshot.

Step 8: Install SharePoint Server 2010 Beta (as standalone)
Yeah it’s just a stand-alone. Everyone says: “Don’t do it”. But I did and it worked. Drawbacks included but not identified yet. It’s just a test machine so screw it. 😉

Step 9: Install Office Web Applications Beta
I did this because I wanted to test Office Integration in the new SP 2010. I am a little disappointed.
But on the CeBIT this year I did get a chance to talk to Microsoft folks and they did tell me that Office Web is not an adequate replacement for a full Office client installation.
So how can I complain?
Here is a little screenshot for Excel, Word and Powerpoint with once office client and once office web.
Excel Document in Office WebExcel Document in Office Client
Excel. Web Apps / Office Client

Word Document in Office WebWord Document in Office Client
Word. Web Apps / Office Client

PowerPoint Document in Office WebPowerPoint Document in Office Client
Powerpoint. Web Apps / Office Client

Step 10: Run Sharepoint Configuration Wizard
Finally…if you got this thing running, and it says configuration successful in the end you got it running, dude! Don’t mind single error pages on SharePoint Central Administration or Default Port 80…take your time creating a new web application and site collection…you will see it will work. Nothing persistent.
I still have a little problem with the upload of multiple files though. That’s ugly. Gotta find out what that is…works, but shows an error message before the dialog shows.

Now that I’m done I will go back to MOSS2007 and try a little development in the area of Business Data Connectivity. For me this is the absolutely best feature in SP2010. But I believe the Web Parts for BDC Services are part of the enterprise edition. Hm. :/ Don’t know if it even makes sense to
advise a customer to get anything but the enterprise edition…with the new visio services, performance point services and the other services it seems there is a large gap between the two.