Обычно о том, что программа занимается самоуправством относительно системных ресурсов, в лучшем случае упоминается в readme-файле или одном из разделов справочной системы. Но такого упоминания, смахивающего на обычную "постановку перед фактом" недостаточно! Программа обязательно должна предупредить пользователя о том, что сейчас последует изменение ресурсов и настроек системы, и предоставить ему возможность запрета этих действий.
После того, как инсталлятор такой программы завершит свою работу и пользователь увидит, во что теперь превратилась его рабочая среда, недовольство этим автоматически перенесется и на саму программу. Возможно, пользователь запустит ее, чтобы мельком посмотреть на то, что же так исковеркало его систему, но долго такая программа на его компьютере не задержится.
Некоторые разработчики полагают, что иногда спрашивать разрешение пользователя на модификацию каких-либо системных настроек не требуется. Например, если программа хранит свои данные в файлах не с каким-либо распространенным расширением вроде txt или html, а с экзотическим, предположим, fgh или hjk, то можно безбоязненно зарегистрировать их в системе на собственную программу, не запрашивая разрешение пользователя. Однако программных продуктов на рынке очень много, и вполне может оказаться, что избранные разработчиком расширения fgh или hjk уже используются другой программой. Более того, пользователь предпочитает открывать эти файлы именно с ее помощью. Это один из примеров того, что программа и ее инсталлятор должны обязательно запрашивать разрешение пользователя на замену системных файлов, модификацию настроек операционной системы и рабочего окружения пользователя (Рисунок 4.3).