Как правильно расставить права доступа к папке Windows Server 2012?
Для того, чтобы что то запустить/выполнить системе нужно получить определенные команды. Для того, чтобы получить эти команды - ей нужно прочитать их. Если запуск тригерит юзер - попытка прочитать и выполнить команды из бинарников происходит в контексте пользователя, т.е. у пользователя должны быть права на чтение. Другой вопрос - что после выполнения вы хотите получить? Если вам нужен запущенный в системе инстанс какой то софтины, к которой стучатся "клиенты", и не нужно никакого интерактивного взаимодействия запускающего пользователя с этой софтиной - то тогда можно посмотреть на создание bat/ps1 скриптика или шедулера, который будет ранать от имени сервисной УЗ или системы, а тригерить запуск будет юзер.
Ну а как-то можно предотвратить копирование программы?Сделать "запускашку", которая будет загружать программу из недоступного для пользователя места.