Права администратора — проблема разработчика или пользователя?

#windows-xp #admin #privileges

#windows-xp #администратор #права

Вопрос:

Недавно я разработал приложение для Windows XP и новее, которое вносит некоторые изменения в системный реестр. Это было протестировано на нескольких компьютерах, и теперь я столкнулся с инцидентом, когда пользователь получает сообщение об ошибке при запуске программы установки: «Вы должны войти в систему как администратор при установке этой программы» в Windows XP. Понятно, что если у пользователя нет никаких прав администратора, Windows отклоняет установщик.

Могу ли я, как разработчик программного обеспечения, что-нибудь сделать, чтобы этого не произошло? (Не выполняя работу, не затрагивающую реестр). Или это просто проблема пользователя?

Ответ №1:

Чего вы не сказали, так это того, что собиралось делать программное обеспечение. Если это было настоящее программное обеспечение администратора, то ему могут потребоваться права администратора. Если это предназначено для определенного использования и ваш клиент одобряет, могут потребоваться права администратора (спросите клиента, прежде чем предполагать, что все в порядке). Если это то, что может использовать обычный пользователь и увидит использование за пределами предприятия, которое специально одобрило это, вам нужно найти способ сделать это доступным для менее привилегированных учетных записей, и если это включает в себя отказ от внесения изменений в системный реестр, это то, что вам придется сделать.

Windows Vista представила UAC, который был разработан для того, чтобы сделать программное обеспечение, подобное вашему, требующее прав администратора, неудобным в использовании. На это была причина: разрешение пользователям в целом работать от имени администратора в любое время является большой проблемой безопасности. Все больше и больше предприятий раздают компьютеры без прав администратора, поэтому ваше программное обеспечение будет использоваться во все меньшем количестве корпоративных систем.

Если это какое-то домашнее / персональное программное обеспечение, требующее прав администратора, это сделает пользователей Vista и 7 менее довольными вашим программным обеспечением и увековечит глобальную проблему безопасности, связанную с тем, что орды отдельных пользователей, не разбирающихся в компьютерах, входят в сеть как администраторы.

Если вы не занимаете какую-то нишу, это не проблема пользователя (и, если бы это было так, вы действительно хотите создавать проблемы своим пользователям?). Это проблема разработчика.

Комментарии:

1. Большое вам спасибо за ваш ответ. Приложение является домашним / персональным программным обеспечением. Приложение просто меняет значок корзины. Что (насколько мне известно) можно сделать только (без создания тем и т.д.), внеся некоторые изменения в реестр. Что бы вы посоветовали мне сделать?

2. @S0mmer: Я бы предложил задать здесь вопрос о том, что вы делаете, и есть ли способ обойтись без прав администратора. Если нет, то поместите где-нибудь заметку, предлагающую использовать повышенные привилегии для установки (и использования?) программное обеспечение. Я не знаю достаточно внутренних компонентов Windows, чтобы предложить здесь что-либо существенное.

3. Я внес некоторые изменения и заставил его работать без прав администратора. Еще раз спасибо за вашу помощь.

4. @s)mmer: И спасибо, что прочитали то, что я сказал, и исправили вашу программу соответствующим образом.