Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1284430430
AlexDn
2010-09-14 06:13
2010.12.26
PayPal


6-1232051577
nixstill
2009-01-15 23:32
2010.12.26
Открытие необходимой группы в локальной сети (UNC)


2-1285865707
Rembo2010
2010-09-30 20:55
2010.12.26
Как прочитать значение из файла???


15-1284496168
Юрий
2010-09-15 00:29
2010.12.26
С днем рождения ! 15 сентября 2010 среда


2-1285609884
menart
2010-09-27 21:51
2010.12.26
TImage





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский