Если в главном меню Microsoft Visual Studio 2008 выбрать пункт "Projekt/Settings" и на вкладке "Apllication" нажать на кнопку "View UAC Settings", то окроется манифест приложения (app.manifest).
Там есть флаг uiAccess, а вот на странице 64 документа "Windows Vista Application Development Requirements for User Account Control Compatibility" (http://www.microsoft.com/downloads/details.aspx?FamilyID=BA73B169-A648-49AF-BC5E-A2EEBB74C16B&displaylang=en) про этот флаг написано (перевод вольный):
"Возможные значения uiAccess
False
UAC(контроль учетных записей пользователей) выдаёт запросы и прочие "прелести" достающие пользователя.
True
UAC считает ваше приложение доверенным, не выдаёт идиотских запросов и разрешает выполнять действия, для которых необходимы администраторские права.
Примечание:
Приложения с установленным в значение истина флажком uiAccess должны быть Authenticode ПОДПИСАННЫМИ, чтобы работать должным образом. Кроме того, приложение должно быть размещено в защищенном местоположении в файловой системе. \Program Files\и \Windows\System32\ являются в настоящий момент двумя допустимыми защищенными местоположениями."
Вопрос: кто-нибудь знает как подписать приложение, какой сертификат для этого необходимо купить и сколько он стоит?
Пишу не вирус, а хранитель экрана. В папке \System32 разместил только заглушку SCREENSAVER.SCR, которая запускает основное приложение. Чтобы не замусоривать папку \System32 само приложение будет установлено в папку \Program Files\MyApplication. Но что это за хранитель экрана, если он начинает работать только после получения разрешения от пользователя? И подобных проблем масса. Выплыли, когда включил UAC.
Заставлять пользователя отключить UAC небезопасно. Теоретически он может сказать, что из-за моего приложения его компьютер стал менее защищен, подвергся атаке вирусов и т.п., хотя антивирусы ещё никто не отменял.
Если кто-то что-то про это слышал напишите, пожалуйста
P.S.: виноват, на страницах 72-75 того же документа написано, как получить и установить этот самый Authenticode. Но может быть у кого-нибудь был практический опыт?
На стр. 72: "Чтобы подписать приложение, Вы можете или генерировать сертификат от makecert.exe или получить подписывающую код клавишу из одной из коммерческих служб маркеров защиты (коммуникационные адаптеры), например, VeiSign, Thawte, или коммуникационный адаптер Microsoft.
Note
Вы будете нуждаться в коммерческом сертификате, если Вы желаете, чтобы Ваше приложение доверялось на целевом компьютере клиента, устанавливающего Ваше приложение" - меня как раз интересует насколько реально купить этот сертификат частному лицу за умеренную суму.
P. S. P. S.: https://www.utn.com.ua/bycertificate.html?lang=ru¤cy=RUB
"Public Individual Softwire Publisher Защита программного обеспечения от подделки, распространение программного обеспечения в глобальных сетях в соответствии с технологией Microsoft Authenticode TM. 1098.00 руб. за год " - это он или нет?
Через год мои приложения перестанут работать или как?
Для интересующихся: http://technet2.microsoft.com/windowsvista/ru/library/00d04415-2b2f-422c-b70e-b18ff918c2811049.mspx?mfr=true - тут примерно то же, что и в документе Windows Vista Application Development Requirements for User Account Control Compatibility, но на русском.