Windows 7 — программная настройка приложения для работы в режиме совместимости с XP

Моему приложению требуется административный доступ, и я хочу, чтобы оно работало без проблем в Windows 7.

у меня есть следующие варианты

1.Попросите пользователя, использующего приложение, отключить UAC. Это крайний вариант, и я бы не хотел этого делать.

2. Вставьте манифест в приложение, в котором говорится о повышении до прав администратора. Это будет работать, но кажется, что будет появляться диалоговое окно, требующее согласия пользователя каждый раз, когда пользователь запускает приложение.

<сильный>3. Настройте приложение для работы в режиме совместимости с Windows XP. Это работает, но мне пришлось сделать это, используя проводник-> свойства приложения. если бы я мог сделать это программно во время установки, я бы предпочел этот вариант. Мой вопрос в том, есть ли способ добиться этого.

С Уважением

Ганеша


person Ganesh    schedule 13.08.2009    source источник
comment
Возможно, было бы информативно, если бы вы объяснили, почему вашему приложению нужен административный доступ. Возможно, есть лучшие способы решения проблемы.   -  person Matthew Talbert    schedule 13.08.2009
comment
Если ему действительно действительно нужен администратор, то я не считаю это проблемой. Единственная причина, по которой кто-то должен хотеть обойти UAC, заключается в том, что они пытаются сделать что-то гнусное. Хм....   -  person T.E.D.    schedule 13.08.2009
comment
Возможно, у Ганеша есть некоторая зависимость от стороннего компонента, который не будет работать в Windows 7 без доступа администратора или режима совместимости с Windows XP. Я видел такие компоненты, где первоначальный поставщик разорился, и переход на другой компонент является большой задачей.   -  person MarkJ    schedule 14.08.2009


Ответы (2)


Попробуйте создать прокладка совместимости приложений, в которой говорится, что вашему приложению требуется режим совместимости с XP, и его распространение с вашим приложением. Прокладка — это средство для администраторов, упрощающее установку стороннего приложения, для которого требуются настройки совместимости, — оно позволяет им индивидуально настраивать каждый ПК. Возможно, вы сможете внедрить его в свою программу установки, проявив изобретательность. .

person MarkJ    schedule 13.08.2009

Я довольно привык иметь дело с диалогом UAC, работая с Vista последние 2 года. Если вас это раздражает, я должен задаться вопросом, сколько у вас опыта использования пост-XP OS.

Как пользователь, я думаю, что есть два способа взглянуть на это:

  1. Программа по своей сути требует администратора. Для них я очень ценю диалог, поскольку я знаю, что это означает, что никто не собирается тайком запускать эту штуку в фоновом режиме на мне и модифицировать мою систему.
  2. Программа по своей сути не требует администратора. Большинству программ требуется администратор только для автоматического обновления (и, вероятно, тогда он не нужен). Я считаю, что эти программы плохо разработаны. Такая программа должна вызывать AUC только в том случае, если обнаруживает, что ей нужно обновиться, а не каждый раз, когда я ее запускаю. Это также проблема безопасности, так как любое переполнение буфера, которое кто-то находит во всей программе, подвергает меня риску.

Максимально локализуйте потребность в UAC. Лучше всего было бы поместить в отдельный исполняемый файл. (например: «программа обновления»)

person T.E.D.    schedule 13.08.2009