Under Windows, an attempt to run an application as another user may fail for obvious reasons, such as the target user lacks sufficient permissions for the operation in question. There is at least one less obvious reason why this operation will fail: the Secondary Logon service must be running. Less obvious to me, at least.