Sandboxed Solutions die ersten Schritte
Der SPUCWorkerProcess bildet das technische Herz einer jeden Sandboxed Solution, da er die Ausführung des Sanboxed Codes übernimmt. Was also tun, wenn Visual Studio nicht in der Lage ist sich mit dem Prozess zu verbinden, um zum Beispiel einen sandboxed Webpart zu debuggen?
Im ersten Schritt empfiehlt es sich einen Blick in die Zentraladministration zu werfen. In der Rubrik ”Services on Server” sollte der Dienst ”Microsoft SharePoint Foundation User Code Service” gestartet sein.

Danach sollten die drei Prozesse SPUCHostService.exe, SPUCWorkerProcessProxy.exe und SPUCWorkerProcess.exe stabil laufen. In meinem Fall starb der SPUCWorkerProcessProxy in einem Intervall von ca. 30 Sekunden und der SPUCWorkerProcess kam nie zur Ausführung.
Dieses Verhalten begründet sich in der Tatsache, dass meine Entwicklungsmaschine nebenbei auch noch die Domain Controller Rolle inne hat. In dieser Konstellation wird Usern, also auch dem Account mit dem die Sandbox Prozesse ausgeführt werden, das Recht entzogen auf den ComputerName Schlüssel in der Registry zuzugreifen. Die Installationsanleitung für SP2010 Beta von Jie Li enthält unter Punkt 10 ein PowerShell Script mit dem der “Users” Gruppe das “full control” Recht für diesen Schlüssel zugewiesen wird.
$acl = Get-Acl HKLM:\System\CurrentControlSet\Control\ComputerName $person = [System.Security.Principal.NTAccount]"Users" $access = [System.Security.AccessControl.RegistryRights]::FullControl $inheritance = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit" $propagation = [System.Security.AccessControl.PropagationFlags]::None $type = [System.Security.AccessControl.AccessControlType]::Allow $rule = New-Object System.Security.AccessControl.RegistryAccessRule($person, $access, $inheritance, $propagation, $type) $acl.AddAccessRule($rule) Set-Acl HKLM:\System\CurrentControlSet\Control\ComputerName $acl
Nach dem Ausführen des Scripts sollte das System neu gestartet werden. Siehe da, alle SPUC* Prozesse laufen stabil und es kann munter los gehen mit der Entwicklung der ersten Sandboxed Webparts. Hallo Welt etc.