
Permissions minus Complexity
Intuitive permission management with the power of SetACL. Less clicks, no more UAC prompts, increased productivity. Freeware.
Intuitive
We put great care into the UI design, and it shows. Although permissions are complex, the user interface is not.
Productive
Five clicks just for setting the owner? UAC prompts everywhere? Those days are gone with SetACL Studio.
Powerful
Built on SetACL’s proven engine, SetACL Studio effortlessly bypasses security to show permissions of any object and deals with very long paths.
Undo
Normal programs have undo, admin tools do not. That is a rule, right? Wrong!
Local and remote computers
SetACL Studio works just as well over the network as it does locally. Connect to multiple computers simultaneously and easily switch from one to the other.

Permissions anywhere
SetACL Studio works with files, directories, registry keys, services, printers, network shares and WMI objects.

Create, delete and rename every directory and registry key – bypassing security
SetACL Studio not only lets you inspect any directory regardless of current permissions, it can also create, delete and rename directories anywhere. Whether you have roaming profile directories, normally inaccessible to administrators, or users “protecting” folders: SetACL Studio ignores ordinary restrictions and gives you the kind of access you need to do your work. Security bypassing works in the registry, too, for creating and deleting keys.
View, change and reset permissions and ownership
SetACL Studio lists permissions from the DACL and the SACL and displays the owner. DACL, SACL and owner can be changed for the current object and optionally sub-objects can be reset to get a consistent state.
Did we mention undo?
Everything else being great as it is, undo is the feature you do not want to live without from the moment you have used it for the first time. Of course it is multi-level, allowing you to go back step after step until you are back to where you want to be.
Want to know more? Check out the feature list. Already convinced? Download.
16 Comments
Fantastic program, just about to rebuy a new license, not idea if ne need renewing but well worth it.
As a side note your program has aske me to send you this error i keep on getting, when I try and reset owner permission.
>>>
An internal error occurred: ‘unknown propagation set ‘InheritOnly’. Please notify the program’s author.
<<<
No need to buy – SetACL Studio has been freeware for a while. You can find the license key to unlock it on the download page.
You are an angel. I just had our supposed-server people completely f-up permissions throughout our file share server…And strangely they aren’t stepping up to fix it.
Thank you.
hallo peter,
ich bekomme diese Fehlermeldung beim starten des programms:
Unbehandelte Ausnahme
Das Programm muss aufgrund einer unbehandelten Ausnahme geschlossen werden. Es tut uns sehr leid, dass dies passiert ist. Bitte helfen Sie uns, diesen Fehler zu beheben, indem Sie diese Informationen an den Support schicken.
Details:
Type: System.OverflowException
Message: Die arithmetische Operation hat einen Überlauf verursacht.
Source: SetACL Studio
Stack trace: bei SetACL_Studio.WinAPI.Networking.NetShareEnumWrapper(String server)
bei SetACL_Studio.ExplorerTreeView.Models.ShareObject.GetRootObjects(String remoteComputer)
bei SetACL_Studio.ExplorerTreeView.Models.VirtualObject.get_Children()
bei SetACL_Studio.ExplorerTreeView.Models.ObjectBase.get_HasChildren()
bei SetACL_Studio.ExplorerTreeView.ViewModels.ObjectBaseViewModel.b__4()
bei System.Threading.Tasks.Task.Execute()
Target: System.Collections.Generic.List`1[SetACL_Studio.WinAPI.Networking+SHARE_INFO_1] NetShareEnumWrapper(System.String)
Inner exception message:
Application version: 1.2.4
Is user admin: True
Is computer domain-joined: True
Is 64-bit OS: True
Is 64-bit app: True
.NET framework: 4.0.30319.42000
OS version: Microsoft Windows NT 6.2.9200.0
It seems you can’t bypass security entirely, even with setACL. For example the ‘HKLM/SYSTEM/WaaS/WaaSMedic/TaskStore’ key returns an acess denied error when you attempt to change anything.
Hallo Helge, danke für dieses Super-Tool!
Gibt es eine Möglichkeit, die Rechte “Bereitgestellter Volumes” zu ändern?
This is best, was stuck with empty owner of the registry key, finally was able to delete it Thanks
Anyway you can help?
Unhandled Exception
The program needs to be closed because of an unhandled exception. We are very sorry this has happened. Please help us prevent this from happening again by sending this information to application support.
Details:
Type: System.OverflowException
Message: Arithmetic operation resulted in an overflow.
Source: SetACL Studio
Stack trace: at SetACL_Studio.Helpers.MAPI.GetRecipients(Int32& recipCount)
at SetACL_Studio.Helpers.MAPI.SendMail(String strSubject, String strBody, Int32 how)
at SetACL_Studio.Services.SendEMail.SendEMailService.CreateEMail(String subject, String body, String[] recipientsTo, String[] recipientsCC, String[] recipientsBCC, String[] attachmentFileNames)
at SetACL_Studio.ViewModels.ApplicationErrorViewModel.b__6(Object param)
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Target: IntPtr GetRecipients(Int32 ByRef)
Inner exception message:
Application version: 1.2.4
Is user admin: True
Is computer domain-joined: False
Is 64-bit OS: True
Is 64-bit app: True
.NET framework: 4.0.30319.42000
OS version: Microsoft Windows NT 6.2.9200.0
Hi……
I am getting the following unhandled exception… I’d like to purchase this software if I can get it to work…
Unhandled Exception
The program needs to be closed because of an unhandled exception. We are very sorry this has happened. Please help us prevent this from happening again by sending this information to application support.
Details:
Type: System.Reflection.TargetInvocationException
Message: Exception has been thrown by the target of an invocation.
Source: mscorlib
Stack trace: at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at SetACL_Studio.Helpers.Messenger.c__DisplayClass1.b__0(Delegate action)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at SetACL_Studio.Helpers.Messenger.NotifyColleagues(MessageIds messageId, Object parameter)
at System.Threading.Tasks.Task.Execute()
Target: System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
Inner exception message: Specified argument was out of the range of valid values.
Parameter name: aceElements
Application version: 1.2.4
Is user admin: True
Is computer domain-joined: False
Is 64-bit OS: True
Is 64-bit app: True
.NET framework: 4.0.30319.42000
OS version: Microsoft Windows NT 6.2.9200.0
Clicking on “WinHTTP Web Proxy Auto-Discover Service” (in Windows 11 22000.348) resulted in the following error:
Unhandled Exception
Type: System.Reflection.TargetInvocationException
Message: Exception has been thrown by the target of an invocation.
Source: mscorlib
Stack trace: at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at SetACL_Studio.Helpers.Messenger.c__DisplayClass1.b__0(Delegate action)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at SetACL_Studio.Helpers.Messenger.NotifyColleagues(MessageIds messageId, Object parameter)
at System.Threading.Tasks.Task.Execute()
Target: System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
Inner exception message: Specified argument was out of the range of valid values.
Parameter name: aceElements
Application version: 1.2.4
Is user admin: True
Is computer domain-joined: False
Is 64-bit OS: True
Is 64-bit app: True
.NET framework: 4.0.30319.42000
OS version: Microsoft Windows NT 6.2.9200.0
Dickes Danke für die nützlichen Tools
Hello,
Is SetACL Studio affected by the log4j security hack?
No, SetACL Studio does not make use of Java.
Hallo Helge,
http://helgeklein.com/setacl-studio/help/event-log/id13
An internal error occured: ‘Unkown propagration set ‘NoPropagation, ObjectInherit’. Please notify the program’s author.
Die Kombination wurde via Powershell gesetzt. Bringt aber leider SetACL-Studio aus dem Tritt.
Fixt du noch Bugs? Wenn nicht, würdest du evtl. den Sourcecode veröffentlichen?
SetACL Studio ist so ein geniales Programm …
Gruß Carsten
Hi Helge,
Just wanted to let you know I love this tool, really helpful.
Thanks!
Dec 2022
Does SetACL work with the latest restrictions on Windows 10 and 11 which now require Trusted Installer permissions to do things like reinstating the Windows Help Files?
SetACL Studio helps you manage permissions. It should have no problem making life easier for you dealing with Trusted Installer (which was introduced way back with Windows 7 IIRC).