Looking at the binding

Sometimes programs just don’t behaive the way the’re supposed to. This is the time you need to bring in heavy machinery.

One hint is to look at the actual assemblies being used. I happend quite a few times, when some unexpected assemblies where being used. The easiest way to achive this is by looking at the binding log of .Net.

This can be done, by turning on the Fusion-Log in the registry at HKLM\Software\Microsoft\Fusion\ForceLog and setting an appropriate path at HKLM\Software\Microsoft\Fusion\LogPath. The logs can then be inspected with the Assembly Binding Log Viewer.

Executing SharePoint commands on the prompt

The STSADM tool provided by Sharepoint offers almost all features, which are available through the central administartion of Sharepoint (if not more!). This is especially useful, if you’re scripting certain actions, so you can do massive changes to your Sharepoint environment in a save way.

But once in a while, when you’re issuing commands via STSADM you might notice that they seem not to be carried out right away. Especially when deploying Sharepoint Solution Packages (.wsp) this can lead to unexpected errors. Assume you add a solution to the solution-store of sharepoint and want to deploy that solution globally:

STSADM -o addsolution -filename mysolution.wsp
STSADM -o deploysolution -name mysolution -immediate

Looking at the solutions in the central administration might show ERROR. But why? What did go wrong? Central administration doesn’t offer any further clues.

To get to the root cause you have to know how Sharepoint is actually handling the commands issued via STSADM. These commands are being queued and then asynchronously processed. This processing is done by a corresponding service. In some circumstances this service might not be running – most likely because it’s set to start manually instead of automatic.

So switching this service from manual to automatic should do the trick. But to be really sure, that the commands are being processed you can instruct STSADM to execute all currently queued commands right now. This is useful for instance in the example shown above, where the second command can only be processed after the successful completion of the first. So the solution might look like this:

STSADM -o addsolution -filename mysolution.wsp
STSADM -o execadmsvcjobs
STSADM -o deploysolution -name mysolution -immediate

BSOD: Logon Process

I haven’t had a real nasty blue screen of death for the longest time – so I was long overdue.

During some housekeeping of my laptop I decided to get rid of some apps and then to my surprise I got a nice BSOD as a reward for cleaning out my harddisk.

I took me quite some time to get my head around this. Turned out, that one app was a little too eager to clean out stuff and removed some DLLs that where essentially needed by the logon-process.

BSOD

Thank goodness I recently made a virtual image of my machine and still had an old copy of a BartPE image around. So just fire up BartPE, compare the contents of c:\windows\system32\ with the contents of my virtual image – and there were about a dozen DLLs missing.

A couple of hours later I had the missing DLLs back in place and … my machine is running again. I think this will put me advance for quite a while as far as BSOD are concerned.

Installing Bluetooth Peripheral Device

I thought, that I had my HTC Touch Pro, Vista x64 SP2 and Outlook 2007 all set up – and then come some stupid update and everythings seems to be back to start.

After switching on bluetooth on my laptop I get a nice looking Vista dialog stating “Installing Bluetooth Peripheral Device” – NOT! I mean, Vista couldn’t find an apropriate driver 🙁

OK, so there is help; you just have to do it yourself.

  • ignore the failing “Installing Bluetooth Peripheral Device” dialog
  • open the device manager and open the properties for the not corret installed bluetooth device
  • select “reinstall driver” and select to manually supply the driver
  • browse to “Microsoft Corporation” as the manufacturer (beware: there is also just “Microsoft”, which doesn’t do!) and the select either Windows Mobile 6.0 or 6.1

that all – why can’t Vista do all this on his own?