AVanti 473
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: права админа можно несколькими способами. Второй я уже описал выше, а первый, это в манифесте к исполнительному файлу прописать.......... | И тем не менее, не могу не поделится с окончательным, на мой взгляд решением! Сперва о том, в чём была проблема: Дело было в месте, куда устанавливается любой софт, а именно в Program Files. Win8 очень капризна по отношению к этой папке! Если поставить программу, скажем, в любую пользовательскую папку на системном (или ином) диске, то проблем с запуском нет, но, в Program Files всё иначе. Методом использования Process Monitor обнаружилось, что запрещён доступ к файлу .log в папке с программой. Причём этот файл вообще находится в подпапке. Как я уже говорил, казалось бы, переустановить прямо на диск C:\ и, как гриться, с глаз долой и с сердца вон! Но - банально, даже, скучновато. Моё скромное мнение в том, что если есть, предусмотренная системой, программная папка для целей установки софта, то установленный софт там и должен быть! И тут, памятуя о первом способе, где права на запуск от админа даются через реестр, я провёл следующий эксперимент, оказавшийся удачным! Итак: [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers] "%InstallPath%\MyProg.exe"="^ RUNasInvoker" Вот собственно и всё. Программа теперь ничего не просит, и запускается без ошибок. Позволяет ассоциировать с собой файлы через панель управления - настройки программ по умолчанию, и вообще, ведёт себя естественно! Вывод: В похожих случаях, или ставить софтину не в Program Files, или пробовать моё решение! | Всего записей: 366 | Зарегистр. 08-11-2015 | Отправлено: 12:15 14-02-2016 | Исправлено: AVanti 473, 12:18 14-02-2016 |
|