![]() |
|
![]() ![]() ![]() |
|
loneybibi |
|
|||
![]() Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Здравствуйте, уважаемые.
![]() Пишу Updater для своей программы, вроде все получилось, но заметил одну очень большую проблему. В Window 7 есть такая штука как User Account Control. Проблема в том что он моему Updater'у не дает записать новый файл вместо старого. Если его отключить то все нормально. Думаю кто то уже сталкивался с такой проблемой, подскажите что делать, как обойти эту систему контроля ? Нашел в описании UAC что нужно указать в манифест-ресурсе уровень доступа программы: asInvoker, highestAvailable или requireAdministrator. Программа будет иметь соответствующие права уже при запуске. Но как это сделать в Qt ? Заранее благодарен за, Ваши ответы! ![]() Это сообщение отредактировал(а) loneybibi - 20.6.2011, 13:57 -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Никак. В наборе Си++ классов, объединённых в библиотеку под названием Qt, нет понятия манифеста. Если ты компилишь MSVC, то в каталоге Release создаётся такой файл: Имя_программы.manifest Отредактируй его и распространяй вместе с программой. -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
loneybibi |
|
|||
![]() Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
А другие методы кроме манифеста обойти или получить права UAC на запись? Или можно как то создать манифест для собранного приложения на mingw ? -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Вот такой манифест создаёт у меня MSVC для всех проектов (Qt-шных в том числе)
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
loneybibi |
|
||||
![]() Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Ну я так понимаю что он не просто должен рядом лежать с приложение а как то "прикручен" к нему. Если я соберу MinGw приложение и положу манифест рядом то толку ноль!? Я просто первый раз с этим сталкиваюсь. -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
||||
|
|||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
я могу ошибаться ,но манифесты работают только с Visual Studio . Просто не пиши ничего в Program Files ,а пиши в пользовательскую папку, туда права точно будут.
|
|||
|
||||
loneybibi |
|
|||
![]() Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Да вот в том то и дело что программа устанавливается именно туда. И она качает обновления для себя, но не может их записать. -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Цитата отсюда
хз. попробуй просто положить рядом Это сообщение отредактировал(а) borisbn - 20.6.2011, 15:57 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
loneybibi |
|
||||||
![]() Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Попробовал.. результата не имеет. На MSDN нашел что то про манифесты и утилиту Mage(UI).exe которая в комплекте с VS и создает эти манифесты.. Попробую это "покурить" ... Если кому интересно: http://msdn.microsoft.com/ru-ru/library/acz3y3te.aspx -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
||||||
|
|||||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
а ты качай обновления в Temp, и сделай их в виде инсталяшки с помощью Inno setup например, пущай юзверь сам их ставит
![]() ![]() |
|||
|
||||
loneybibi |
|
|||
![]() Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Как вариант ![]() ![]() -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
я просто одно время колупался с манифестами под MinGW , ничего у меня не вышло, сделал на инсталяшке. Да и для пользователя это вроде как удобно.
|
|||
|
||||
loneybibi |
|
|||
![]() Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Что то с Mingw у меня тоже не выходит! ![]() http://habrahabr.ru/company/xakep/blog/122272/ -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Манифест может быть внешним файлом. Положи рядом с приложением и назове myapp.exe.manifest.
|
|||
|
||||
loneybibi |
|
|||
![]() Любитель ![]() ![]() Профиль Группа: Участник Сообщений: 257 Регистрация: 28.5.2010 Где: Донецк (Украина) Репутация: 3 Всего: 3 |
Я понимаю что он внешний файл. Но просто я сначала так рядом положил файл манифеста с приложением собранным на mingw результата не дало, потом собрал приложение на VS2008 с Qt и там компилятор сам создал манифест файл. Положил все манифесты и даже для библиотек, все равно нет результата. Он даже не пытается спросить пользователя разрешить или нет. Потом открыл утилиту mage которая генерирует манифесты. Создал манифесты для всех файлов своего приложения(скомпилированного на VS) с правами доступа Full Trust. Все равно ноль эмоций .. Он даже не хочет выдать диалог с разрешением на права.. Я сегодня целый день долблю эту стенку, уже сил нет завтра продолжу... Прибил бы того кто придумал эту ........................... :( -------------------- Red Hat Fedora 17 Qt 4.8.1 (x64), GCC 4.4.3, G++ 4.4.3, QtCreator 2.4.1 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |