Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 4]

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1271
Благодарности: 1029


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 22-05-2012
Описание: Закрыто
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2
Скрипты Inno Setup. Помощь и советы [часть 3]


Продолжение обсуждения
Скрипты Inno Setup. Помощь и советы [часть 5]

Отправлено: 18:01, 29-08-2011

 

Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


Photon9, скрипт скрасил бы твой сумбур
пока примерно так
Код: Выделить весь код
[Tasks]
Name: vcredist; Description: "Установить visual c++"; GroupDescription: Дополнительные компоненты
...
[Run]
Tasks: vcredist; Filename: "vcredist.exe"; Parametrs: " /Q /norestart"; Description: Установка visual c++; Flags: RinHidden
//параметры установки vcredist.exe уточни

Цитата semiono:
Только end ещё один не хватало »
поправил сообщение еще раз, расставил енды, одного не хватало

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Последний раз редактировалось R.i.m.s.k.y., 14-12-2011 в 16:03.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:44, 14-12-2011 | #381



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для semiono

Ветеран


Сообщения: 838
Благодарности: 33

Профиль | Отправить PM | Цитировать


R.i.m.s.k.y., у меня кажется всё ещё проблемма)
При пустом вводе без параметров не работает, когда я end сам добавил.
Сейчас перед end добавил Result := True; стало работать но боюсь что не корректно... пока проверяю..
Мне нужно чтобы работало как с параметрами /x1 /x2 так и без них,
причём могут быть дефолтные ключи, например /verysilent надеюсь это не должно конфликтовать?
Пока конкретная проблемма с пустым вводом получилась...

-------
Полезное сообщение


Отправлено: 16:16, 14-12-2011 | #382


Пользователь


Сообщения: 91
Благодарности: 7

Профиль | Сайт | Отправить PM | Цитировать


YURSHAT

Спасибо всё работает, НО нужно чтобы файл создавался в процессе установки, как из "[INI]" и/или был пустым, а потом вводил моё значение?

Тоже работает, спасибо!
Это "надёжный" способ? Пользователь никак НЕ сможет продолжить установку БЕЗ прочтения?!

А, что вот это закомментированное "//WizardForm.Caption:= IntToStr(CurrLine);", такое,
если его раскомментировать и скомпилировать, то название приложения изчезает и в заголовке и появляется "27"

Как в процессе установки запустить, а потом автоматически его закрыть, не имеет значение из секции Run или Code?
Можно ведь, наверное и через "taskkill.exe" как-то это сделать?

Есть ли возможность при запуске установщика и/или в процессе установки, собрать необходимые сведения о компе, а потом их добавить в ветку реестра устанавливаемого приложения?
Или может какой-нибудь параметр есть? Есть же ведь имя компа, имя пользователя и т.п. Это ведь определяется?
Мне ,к примеру нужно, в реестре в ветке приложения создать ключ для видеокарты: "3D Device" со значение "Название видеокарты" и т.п.

А кнопка "Отмена" и сам установщик, должен не реагировать во время выполнения команд из секции Code? Это никак не исправить?
И когда его "отпускает" если нажать на кнопку "Отмена", можно ли "откатить" всё, чтобы в папке установки ничего не осталось или это действует только на "стандарт"?

Отправлено: 16:18, 14-12-2011 | #383


Аватара для semiono

Ветеран


Сообщения: 838
Благодарности: 33

Профиль | Отправить PM | Цитировать


а ну всё! получилось, протестил варианты!

-------
Полезное сообщение


Отправлено: 16:19, 14-12-2011 | #384


Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


semiono, /verysilent как видишь не учитывается и никак не влияет
какое второе условие на копирование в секции Files x1files? выбор из списка компонентов?
у тебя /х2 /х1 всегда идут вместе с /verysilent?
я ж не знал что у тебя еще условия, какие граничные условия обозначил - такие я тебе и сделал
естественно что можно в подчековую функцию напихать таким же макаром еще проверок для конкретизации

Цитата TROY Diamond:
Можно ведь, наверное и через "taskkill.exe" как-то это сделать? »
я тоже сначала сделал через "taskkill.exe", но как оказалось не на всех редакциях венды он есть, хе-хе


TROY Diamond
почисть личку, ничего не отправляется

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Последний раз редактировалось R.i.m.s.k.y., 14-12-2011 в 16:35.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:20, 14-12-2011 | #385


Аватара для semiono

Ветеран


Сообщения: 838
Благодарности: 33

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
; ~
      Lowercase('/x1')   : x1 := true;
      Lowercase('/x2')   : x2 := true;
    end;
    Result := True;
end
    Result := True;
end;
Nautilus [Version 5.2.3790]
2001-2005 GmbH, Semiono

//setup.exe

//setup.exe /x1

//setup.exe /x2

//setup.exe /x2 /x1

//setup.exe /x2 /x1 /verysilent


это как в КП: "давим окурок левой ногой, потом правой а потом обееми сразу"

Цитата R.i.m.s.k.y.:
я тоже сначала сделал через "taskkill.exe", но как оказалось не на всех редакциях венды он есть, хе-хе »
taskkill не годиться, он просто напросто может не работать из-за твиков причём даже если файл taskkill.exe имеется

-------
Полезное сообщение


Отправлено: 16:23, 14-12-2011 | #386


Аватара для semiono

Ветеран


Сообщения: 838
Благодарности: 33

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip killsys.zip
(22.7 Kb, 8 просмотров)

Вот мой файл который можно использовать так: killsys.exe calc.exe.
Код 32-битный, но он может закрывать 64-битные приложения.
Работает рекурсивно, то-есть закроет все процессы.

Исходник:
Код: Выделить весь код
include '%fasm%/win32ax.inc'
section '.code' executable
start:
        invoke GetCommandLine
        invoke CommandLineToArgv,eax,a
        cmp dword [a],1
        push eax
        jbe exit
        push dword [eax+4]
        call AdjustMyToken
        stdcall findProcessID
        test eax,eax
        jz exit
        invoke OpenProcess,PROCESS_TERMINATE,FALSE,eax
        push eax
        invoke TerminateProcess,eax,1
        invoke CloseHandle,[b]
        jmp start
exit:
        invoke ExitProcess,NULL

        SE_PRIVILEGE_ENABLED = 2
        TOKEN_ADJUST_PRIVILEGES = 32
        TOKEN_QUERY = 8
        TH32CS_SNAPPROCESS = 2

AdjustMyToken:

        invoke LookupPrivilegeValue,NULL,NULL,tokenPriv.LUID1
        mov dword [tokenPriv.PrivilegeCount],1
        mov dword [tokenPriv.Attributes],SE_PRIVILEGE_ENABLED
        invoke OpenProcessToken,-1,TOKEN_ADJUST_PRIVILEGES OR TOKEN_QUERY,b
        invoke AdjustTokenPrivileges,[b],FALSE,tokenPriv,NULL,NULL,NULL
        invoke CloseHandle,[b]
ret

findProcessID:

        push ebp
        invoke CreateToolhelp32Snapshot,TH32CS_SNAPPROCESS,NULL
        mov ebp,eax
        mov dword [procEntry.dwSize],sizeof.PROCESSENTRY32W
        invoke Process32First,eax,procEntry
@@:
        invoke Process32Next,ebp,procEntry
        test eax,eax
        jz @f
        invoke lstrcmpi,procEntry.szExeFile,dword [esp+8]
        test eax,eax
        jnz @r
        mov eax,dword [procEntry.th32ProcessID]
@@:
        pop ebp
ret

section '.data' readable writeable

        a rd MAX_PATH
        b rd MAX_PATH

struct TOKEN_PRIVILEGES

        PrivilegeCount dd NULL
        LUID1 dd NULL
        LUID2 dd NULL
        Attributes dd NULL
ends
        tokenPriv TOKEN_PRIVILEGES

struct PROCESSENTRY32W

        dwSize dd NULL
        cntUsage dd NULL
        th32ProcessID dd NULL
        th32DefaultHeapID dd NULL
        th32ModuleID dd NULL
        cntThreads dd NULL
        th32ParentProcessID dd NULL
        pcPriClassBase dd NULL
        dwFlags dd NULL
        szExeFile dw MAX_PATH dup NULL
ends
        procEntry PROCESSENTRY32W

section '.idata' import readable

        library advapi32,'ADVAPI32.DLL',kernel32,'KERNEL32.DLL',shell32,'SHELL32.DLL'
        include '%fasm%/api/advapi32.inc'
        import kernel32,CloseHandle,'CloseHandle',CreateToolhelp32Snapshot,'CreateToolhelp32Snapshot',\
               ExitProcess,'ExitProcess',GetCommandLine,'GetCommandLineW',lstrcmpi,'lstrcmpiW',\
               OpenProcess,'OpenProcess',Process32First,'Process32FirstW',Process32Next,'Process32NextW',\
               TerminateProcess,'TerminateProcess'
        import shell32,CommandLineToArgv,'CommandLineToArgvW'

-------
Полезное сообщение


Последний раз редактировалось semiono, 14-12-2011 в 16:39.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:34, 14-12-2011 | #387


Аватара для R.i.m.s.k.y.

Ветеран


Сообщения: 1640
Благодарности: 536

Профиль | Отправить PM | Цитировать


Цитата semiono:
taskkill не годиться, он просто напросто может не работать из-за твиков »
если тасккилл не работает из-за твиков, то винда уже не твикнутая, а убитая
а это уже к ветеринару, а не к нам

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:39, 14-12-2011 | #388


Аватара для Photon9

Новый участник


Сообщения: 39
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip FNV.zip
(1.2 Kb, 9 просмотров)

Вот скрипт, не уверен что я правильно вставил данные, жду совета

Отправлено: 17:26, 14-12-2011 | #389


Пользователь


Сообщения: 148
Благодарности: 49

Профиль | Отправить PM | Цитировать


semiono,
как использовать killsys.exe
Exec(ExpandConstant('{tmp}\killsys.exe'), 'setup.tmp', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
так не работает. как надо?

Отправлено: 17:42, 14-12-2011 | #390



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Test ferget Тест-форум 0 24-08-2011 01:25
test ! ! Aaa ! ! Тест-форум 0 23-04-2011 11:29
test Santa aka Snt Тест-форум 0 16-04-2011 22:35
test xolod. Программное обеспечение Linux и FreeBSD 0 19-04-2009 21:03
Test memory KEugeNik Хочу все знать 11 23-11-2003 23:11




 
Переход