Скрипты Inno Setup. Помощь и советы [часть 9]

Ответить
 • Просмотры: 25
Аватара пользователя
TheLeon

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение TheLeon »

Цитата ErikPshat:



флаги там работают только при стандартных действиях инсталлятора, т.е. при нажатии кнопки Install на конечном этапе. А у вас до этого не доходит и вы вызываете Taskkill до запуска инсталлятора из секции [ Code ] программы.
Скрипты Inno Setup. Помощь и советы [часть 9]




Похоже так и есть - я прикрутил скин, файлы скина делал через Темп, без копирования и с копированием в {app}, с флагом BeforeInstall - TaskKill не отрабатывал, а вот при установке отрабатывает.
Аватара пользователя
habib2302

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение habib2302 »

Цитата El Sanchez:



Вот пример без автологона и с требованием пароля при первом входе. Пароль и прочие настройки вам все равно придется в учетке пользователя делать.
Скрипты Inno Setup. Помощь и советы [часть 9]




Это очень круто! Спасибо вам большое за помощь! Я бы такую красоту в жизни не написала Изображение
Аватара пользователя
TheLeon

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение TheLeon »

Парни скажите как сделать средствами Inno Setup

короче при распаковки инстал. запускается другой с папки tmp, но он запаролен скажем 12345

так вот как мне сделать что бы он автоматом запускался без вода в ручную пароля
Аватара пользователя
Sotonisto

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Sotonisto »

Цитата pollipen:



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




Inno Setup command line - Поиск в Google
Setup Command Line Parameters
:


Цитата:



/PASSWORD=password



Specifies the password to use. If the [Setup] section directive Password was not set, this command line parameter is ignored.



When an invalid password is specified, this command line parameter is also ignored.
Аватара пользователя
TheLeon

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение TheLeon »

Sotonisto, спасибо огромное! Вы сделали всё как в моём шаблоне, не видя других страниц инсталлятора, спасибо!
Аватара пользователя
Sotonisto

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Sotonisto »

TheLeon, не за что. Надеюсь, со скриптом вы разобрались без проблем.
Аватара пользователя
pollipen

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение pollipen »

парни как избавиться от запроса вот этого

что бы перезаписала сразу



Скрытый текст

[spoiler]Изображение[/spoiler]
Аватара пользователя
boss911

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение boss911 »

pollipen, ну как мы запускаем любые экзешники через "ShellExec" или "Exec". Там на втором месте указываются параметры к экзешнику.

Вот пример извлечения запароленных архивов 7-Zip:



Код:

Код: Выделить всё

; Дефайним переменные
#define   Name       "My_Program_Name"
#define   UserName   "by pollipen"
#define   Version    "1.0.0.0"
#define   Publisher  "pollipen © OsZone Team"
#define   ExeName    "My_Program_Name"
;
; Точка с запятой - это комментарий
;
; Выставляем стандартные параметры программы в секции Setup:
[Setup]
;VersionInfoCompany=Название компании
VersionInfoCompany={#Publisher}
;VersionInfoCopyright=Авторские права
VersionInfoCopyright=(c) 2006-2018 {#Publisher}
;VersionInfoDescription=Описание файла
VersionInfoDescription={#Name} {#UserName}
;VersionInfoProductName=Название продукта
VersionInfoProductName={#Name}
;VersionInfoProductVersion=1.0.0.0 (Версия продукта цифровая)
VersionInfoProductVersion={#Version}
;VersionInfoProductTextVersion=Производитель
VersionInfoProductTextVersion={#Publisher}
;VersionInfoTextVersion=Версия файла текстовая
VersionInfoTextVersion={#Version} Final
;VersionInfoVersion=1.0.0.0 (Версия файла цифровая)
VersionInfoVersion={#Version}
;
; Таскаем (пакуем) с собой экзешник и INI (для примера) в программе:
[Files]
Source: Include\7z.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\7z.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\RUS\Config_en.ini; DestDir: {tmp}; Flags: dontcopy
Source: Include\ENG\Config_en.ini; DestDir: {tmp}; Flags: dontcopy
;
; Выставляем поддерживаемые языки в программе:
[Languages]
Name: en; MessagesFile: compiler:Default.isl
Name: ru; MessagesFile: compiler:Languages\Russian.isl
;
; Заменяем стандартные диалоги на свои любимые:
[Messages]
SetupAppTitle={#Name}
SelectLanguageTitle={#Name}
ru.SelectLanguageLabel=Выберите язык, который будет использован в программе распаковки:
en.SelectLanguageLabel=Select the language to use in the unpacking program:
;
; Добавляем свои кастомные диалоги:
[CustomMessages]
ru.SelectArch=Выберите файл архива для распаковки
ru.SelectedArch=Выбран архивный файл :
en.SelectArch=Select archive file to unpack
en.SelectedArch=Selected archive file :
;
; //////////////////////////////////////
; А тут пошла секция кода Code (пробелы у Code убираем, т.к. форум их воспринимает как ББ-код):
[ Code ]
// Допустим, берём любой текст из INI-файла, в данном случае название экзешника 7z.exe. Пишем для этого функцию:
// В INI секция [Support], а под ней ключ UNPACK_ARCH=7z.exe.
// Захватываем через переменную тот языковой INI, который язык юзер выбрал при запуске программы:
function UnpackArch(Default:String):String;
  Begin
    Result:=GetIniString('Support', 'UNPACK_ARCH', '', ExpandConstant('{tmp}\Config_{language}.ini'));
  end;
{ Команда кнопки "Распаковать архив". Код самой кнопки приводить не буду, у вас своя кнопка }
procedure UnpackArchButtonClick(Sender: TObject);
// Объявляем новую переменную названия выбранного архива через проводник Windows:
var
  ArchName: String;
begin
// Извлекаем из инсталлятора в {tmp} файлы архиватора:
  ExtractTemporaryFile('7z.exe');
  ExtractTemporaryFile('7z.dll');
// Присваиваем в объявленную выше переменную имя выбранного архива:
  ArchName := '';
// Открываем архив в проводнике Windows:
  if GetOpenFileName(ExpandConstant('{cm:SelectArch}'),ArchName,ExpandConstant('{src}'),ExpandConstant('{cm:ArchFiles}')+' (001,ZIP,RAR,7z)|*.001;*.zip;*.rar;*.7z|'+ExpandConstant('{cm:TOMFile}')+' (*.001)|*.001|'+ExpandConstant('{cm:ZIPFile}')+' (*.zip)|*.zip|'+ExpandConstant('{cm:RARFile}')+' (*.rar)|*.rar|'+ExpandConstant('{cm:RARMFile}')+' (*.part1.rar)|*.part1.rar|'+ExpandConstant('{cm:SevenFile}')+' (*.7z)|*.7z|'+ExpandConstant('{cm:AllFiles}')+'|*.*','001') then
// Затем отображаем в окошке имя выбранного архива и спрашиваем подтверждение или отказ на извлечение:
    if MsgBox(ExpandConstant('{cm:SelectedArch}')+#10#10+ArchName+#10#10+ExpandConstant('{cm:ExtractArch}'), mbInformation, MB_YESNO) = IDYES then
// В случае согласия, травим архив на экзешник 7z.exe, а на втором месте указываются параметры, про которые вы спрашивали, один из параметров (толькодлясвоих) - это пароль:
  if not ShellExec('open',ExpandConstant('{tmp}\{code:UnpackArch}'),'x -y -oExtractedArchive -pтолькодлясвоих '+'"'+ArchName+'"',ExpandConstant('{src}'),SW_SHOWNORMAL,ewWaitUntilTerminated,ResultCode) then 
  MsgBox(ExpandConstant('{code:NotFileOnDiskMsg}'),mbCriticalError,MB_OK);
  begin ShellExec('open',ExpandConstant('{src}\ExtractedArchive'),'','',SW_SHOWNORMAL,ewWaitUntilIdle,ResultCode) end;
end;
Аватара пользователя
ErikPshat

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение ErikPshat »

Ребята, помогите пожалуйста...

Я тут делаю распаковщик для многотомных архивов одной игры. Но пока это дело реализовал через голый 7-Zip.

Скачать проект можно здесь:
http://rgho.st/7Qx8Zvc7C
(в архиве лежат 5 маленьких томов для теста распаковки - 001, 002, 003, 004, 005).

Я же хочу сделать распаковку через ISDone по фэншую, чтобы распаковка шла с двумя полосками прогресс-бара, с процентами, временем и всем остальным, но не пойму, какими командами и в каком месте её прикрутить. Я умею её прикручивать, но она у меня работает только в стандартных приложениях после нажатия кнопки "Готово". А здесь у меня кастомный интерфейс и есть кнопка "Распаковать".

Помогите пожалуйста...
Аватара пользователя
R.i.m.s.k.y.

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение R.i.m.s.k.y. »

Цитата Maratina:



и установка punkbuster с ошибкой "не удается найти указанный путь {src}
Скрипты Inno Setup. Помощь и советы [часть 9]




Maratina, раскрывать нужно константы.



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

[Run]
Filename: {src}\punkbuster\redist\pbsvc.exe; Parameters: "--install --install-dlls=""{src}"" --i-accept-the-pb-eula --no-prompts --no-display"; Flags: nowait
; или в [Code]
Exec(ExpandConstant('{src}\punkbuster\redist\pbsvc.exe'), '--install --install-dlls=' + ExpandConstant('"{src}"') + ' --i-accept-the-pb-eula --no-prompts --no-display', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
Ответить

Вернуться в «Автоматическая установка приложений»