Форум: "Прочее";
Текущий архив: 2010.12.26;
Скачать: [xml.tar.bz2];
ВнизInnoSetup и манифест Найти похожие ветки
← →
Кто б сомневался © (2010-09-13 18:33) [0]Нужно в манифесте инсталлятора AsInvoker заменить на requireAdministrator.
Можно ли это сделать в скрипте? Как это сделать проще всего, может можно прописать манифест в скрипте инсталлятора?
Дело в том что на Win 7 при запуске программ, которые требуеют админа, инсталлятор не может запусить прогу. Пишет ошибку. Как раз по этой причине.
← →
Eraser © (2010-09-13 18:42) [1]там флажок должен быть специальный.
← →
Кто б сомневался © (2010-09-13 18:55) [2]Нету флажка.
Там есть параметр
[Setup]: PrivilegesRequired = admin - но это не то (он по дефолту ставит admin).
Все равно invoker в манифесте.
Каждый раз править после билда неохота. Может как то автоматом можно сделать?
← →
Дмитрий Тимохов (2010-09-13 20:51) [3]нет тама флажка.
найди по исходникам asInvoker. там будет функция, которая меняет прямо в бинарнике asInvoker на нужное. выдери ее и выполни в своей консольной утилите (тебе написать надо).
там суть в том, что манифест защивается намерство с asInvoker, но оставляется место - пробелы - чтобы потом заменить на нужное значение, если тебе надо.
барак в общем ) но работает.
вообще, обычно не надо менять манифест. Win7 сама определяет, что это приложение является инсталлятором.
← →
Дмитрий Тимохов (2010-09-13 20:54) [4]вообще странно, что не запускается. должно запускаться.
т.е. win7 должен определить, что приложение требует админа и предложить перейти в админа. у тебя нет такого, вижу... странно.
← →
Дмитрий Тимохов (2010-09-13 22:03) [5]вообще, может, у тебя как-то хитро назвается файл с дистрибутивом? назови, чтобы было setup в названии.
← →
TIF © (2010-09-13 22:25) [6]Я думаю дело в параметре
[Setup]
PrivilegesRequired=неправильное_значение
← →
TIF © (2010-09-13 22:26) [7]Тьфу. Не увидел (
> но это не то (он по дефолту ставит admin).
← →
TIF © (2010-09-13 22:31) [8]Может версия InnoSetup старая?
Вот в Inno Setup 5.3.7 были изменения на эту тему...The PrivilegesRequired [Setup] section directive can now be set to lowest. On Windows Vista and later this instructs Setup to not request elevated rights (via a User Account Control dialog) even if it was started by a member of the Administrators group. Do not use this setting unless you are sure your installation will run successfully on unprivileged accounts. On Windows NT/2000/XP/2003, lowest behaves the same as none.
← →
Кто б сомневался © (2010-09-13 22:34) [9]
> найди по исходникам asInvoker. там будет функция, которая
> меняет прямо в бинарнике asInvoker на нужное. выдери ее
> и выполни в своей консольной утилите (тебе написать надо).
>
>
> там суть в том, что манифест защивается намерство с asInvoker,
>
> Win7 сама определяет, что это приложение является инсталлятором.
Ты не понял, проблема в том что инсталлятор при запуске проги, не может ее запустить.
Подредактировать то легко в любом resхакере.
Можно хоть сочинения льва толстого всунуть туда. Думаю как это сделать в автомате.
Setup есть в названии.
Win 7 - запускаю инсталлятор, устанавливаю прогу. Все ок. По окончании инсталяции, инсталятор может запустить прогу (если стоит галка) - так вот в этот момент при запуске проги, вылезает что нужны привилегии для повышения (т.к. сама прога требует админских прав).
Если установить requireAdministrator в манифесте инсталятора все ок.
Но каждый раз лезть в ресурсы неохота.
← →
TIF © (2010-09-13 22:40) [10]Ааа... Вопрос-то не про инсталлятор, а про запуск установленной программы
Тогда
http://forum.sources.ru/index.php?showtopic=297176решить проблему с запуском оригинальных прав directx всё-таки помог флаг shelexec (или runascurrentuser) в секции [Run]
← →
Дмитрий Тимохов (2010-09-13 23:34) [11]
> Кто б сомневался © (13.09.10 22:34) [9]
ок. я понял тебя теперь.
я же тебе говорю - есть в самих исходниках инно функция, которая меняет привилегии в манифесте. НО!!! Она нигде в исходниках не используется.
функцию ищи по исходникам по строке asInvoker - там одно место.
ты можешь ее просто выдрать и пользоваться своем командном файле - утилитку тебе нужно будет написать.
(я пользуюсь inno из командной строки, поэтому мне просто было запускать после сборки утилитку).
деталей не помню сейчас - я в итоге отказался от повышения привилегий в манифесте. но вариант с автозаменой делал.
PS Пользуюсь не уникодной последней версией инно.
Может в уникодной иначе сделано, не знаю.
← →
Дмитрий Тимохов (2010-09-19 15:23) [12]>>>Кто б сомневался © (13.09.10 18:33)
Чем дело то кончилось?
Интересует - может ты нашел какой-то некорявый способ изменять манифест у готового файла инсталляции, кто того, про который говорил выше я (ну и ты)?
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2010.12.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c