Приложение2 изначально было разработано приложение для WinXP.Теперь я должен бороться с контролем учетных записей (UAC) на Win7. Приложение 2 отлично работает на Win7, если пользователь вошел в учетную запись администратора и выбрал «Запуск от имени администратора».Тем не менее, я пытаюсь оценить, возможно ли рефрактор Application2 , чтобы он не требовал учетной записи администратора и «Запуск от имени администратора».Я также хотел бы избегать любых диалоговых окон, требующих от пользователей выбора, если это возможно.
Application2 функции, которые в настоящее время требуют "Запуск от имени администратора"
- Создать Система Источники данных (ODBC)
- Чтение / запись / удаление ключей реестра
- Копирование / удаление файлов в
C:\Program Files\MyApp
- Кодирование / дешифрование файлов в
C:\Program Files\MyApp
- Запуск процессов .exe, расположенных в общей папке на удаленном компьютере
- Запуск процессов VBScript, устанавливающих надстройки Office, и чтение / запись / удаление разделов реестра
- Копировать / удалять / изменять файлы в
C:\Program Files\MyApp\MyData
Номер 6 можно решить, переместив эту папку в Мои документы (ее местоположение хранится в реестре *), или предоставив пользователю «Полный доступ»."разрешения на C:\Program Files\MyApp\MyData
или разрешение Win7 внести необходимые изменения в папку VirtualStore.
С номерами 3 и 4 сложнее работать, потому что Application1 должен читать файлы в C:\Program Files\MyApp
. Приложение1 не будет использовать «Запуск от имени администратора», и мне нужно провести дополнительные исследования, чтобы выяснить, как можно использовать папку VirtualStore для преодоления разрыва между Приложение2 и Приложение 1 .
Что касается других пунктов, я пытаюсь выяснить варианты:
- Пожалуйста, дайте мне знать, если / как это возможночтобы выполнить эти действия под учетной записью пользователя без прав администратора и без «Запуск от имени администратора».
- Пожалуйста, дайте мне знать, если какое-либо из действий невозможно без участия администратора.
- Не стесняйтесьуказать на любые технические ошибки, которые я мог допустить в содержании этого вопроса.
- Опять же, я стараюсь избегать диалоговых окон во время выполнения приложения.
* Мышлениездесь вслух: мне нужно будет удалить C:\Program Files\MyApp\MyData
после копирования в C:\My Documents\MyData
, и мне нужно будет изменить ключ реестра, хранящий путь к папке, возможно, эти шаги можно будет сделать во время установки.
Открытия
В Windows 7 даже без «Запуск от имени администратора» можно:
- Создание / удаление источников данных пользователя
- Создание / изменение / удаление файлов в
C:\Users\Public\Documents
или C:\Users\currentuser\Documents
- Создание / удаление ключей реестра в
HKEY_CURRENT_USER
Кроме того, я считаю, что опасно иметь приложение Windows 7 без файла манифеста приложения UAC .Потому что, если у вас его нет, Windows 7 решает за вас, запускать ли приложение в режиме совместимости или нет.Если у вас есть, , вы можете указать, как должно работать ваше приложение.