All of a sudden, stsadm has stopped working, crashing on all commands it is run with (even -help!)
> stsadm.exe -help Unhandled Exception: System.ArgumentNullException: Value cannot be null. Parameter name: path at System.IO.DirectoryInfo..ctor(String path) at Microsoft.SharePoint.StsAdmin.SPStsAdmin.EnsureExtendedOperationMap() at Microsoft.SharePoint.StsAdmin.SPStsAdmin.EnsureFullOperationMap() at Microsoft.SharePoint.StsAdmin.SPStsAdmin.LookupOperationName(String strOperation) at Microsoft.SharePoint.StsAdmin.SPStsAdmin.Main(String args)
I'm baffled as to why. The only significant thing to change on the server between yesterday and today was the installation of the Citrix Web Interface for SharePoint webparts.
UPDATE: I also receive the following error when starting Central Administration from the Start Menu (Start -> Microsoft Office Server -> SharePoint 3.0 Central Administration)
A failure occurred when accessing the HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\Web Server Extensions\12.0\WSS registry key. Repair this product by selecting it from the Add/Remove Programs menu.
If I access Central Administration via a browser and typing in the URL (e.g. http://intranet:8080), it works fine.
MORE UPDATE: I dug into stsadm a bit by disassembling with .NET Reflector. Turns out the line it is bailing on is:
FileInfo files = new DirectoryInfo(SPUtility.GetGenericSetupPath("config")).GetFiles("stsadmcommands.*.xml");
The reason being, I believe, because
SPUtility.GetGenericSetupPath("config") is returning null. I set up a test console app and sure enough,
SPUtility.GetGenericSetupPath("config") returns null. So something is obviously severely hosed somewhere.
I noticed when running the test console app that I get the following output:
A first chance exception of type 'System.DllNotFoundException' occurred in Microsoft.SharePoint.dll
which doesn't sound good. So I ask Visual Studio to break on all exceptions, even handled ones, and the exception is as follows:
System.DllNotFoundException: Unable to load DLL 'onetnative.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Note: I've started a separate question regarding this onetnative.dll problem...