|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 9] |
|
Скрипты Inno Setup. Помощь и советы [часть 9]
|
Ветеран Сообщения: 1269 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов!
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы [часть 6] | Скрипты Inno Setup. Помощь и советы [часть 6].7z Скрипты Inno Setup. Помощь и советы [часть 7] | Скрипты Inno Setup. Помощь и советы [часть 7].7z Скрипты Inno Setup. Помощь и советы [часть 8] | Скрипты Inno Setup. Помощь и советы [часть 8].7z |
|
Отправлено: 16:09, 04-04-2018 |
Пользователь Сообщения: 98
|
Профиль | Отправить PM | Цитировать Цитата ErikPshat:
|
|
Отправлено: 14:34, 24-10-2018 | #131 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата El Sanchez:
|
|
Отправлено: 14:36, 24-10-2018 | #132 |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать Парни скажите как сделать средствами Inno Setup
короче при распаковки инстал. запускается другой с папки tmp, но он запаролен скажем 12345 так вот как мне сделать что бы он автоматом запускался без вода в ручную пароля |
Отправлено: 20:37, 28-10-2018 | #133 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата pollipen:
Цитата:
|
||
Отправлено: 21:09, 28-10-2018 | #134 |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать что то ни как ни пойму
wwwww.exe он запаролен Скрытый текст
#define MyAppName "My Program"
#define MyAppVersion "1.5" #define MyAppPublisher "My Company, Inc." #define MyAppURL "http://www.example.com/" #define MyAppExeName "MyProg.exe" [Setup] AppId={{4F1F4C94-0955-42AB-9AEF-23D33908F46C} AppName={#MyAppName} AppVersion={#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\{#MyAppName} DefaultGroupName={#MyAppName} OutputBaseFilename=setup Compression=lzma SolidCompression=yes [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\Users\ww\Desktop\wwwww.exe"; DestDir: "{tmp}"; Flags: ignoreversion [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon [Run] Filename: "{tmp}\wwwww.exe"; Parameters: "/PASSWORD=12345" |
Отправлено: 11:40, 29-10-2018 | #135 |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать pollipen, чёт мне показалось, что речь шла про секцию [Setup], а не про [RUN].
Хотя и в секции [ Code ] любые параметры запуска приложения имеют возможность выставить параметры запуска. |
Отправлено: 17:41, 29-10-2018 | #136 |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать ErikPshat
хорошо тогда как через [ Code ] |
Отправлено: 11:44, 30-10-2018 | #137 |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать 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; |
Отправлено: 13:52, 30-10-2018 | #138 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать как установить punkbuster в тихую? без принятия соглашения и тд?
параметры я нашел в логах... --install --install-dlls="D:\Games\Battlefield 2" --i-accept-the-pb-eula --no-prompts --no-display пример- Exec(ExpandConstant ('{src}\punkbuster\redist\pbsvc.exe'), '--install --install-dlls="{src}" --i-accept-the-pb-eula --no-prompts --no-display', '', SW_SHOWNORMAL, ewNoWait, ErrorCode); в логе после этого... |
Отправлено: 08:57, 05-11-2018 | #139 |
Ветеран Сообщения: 1269
|
Профиль | Отправить PM | Цитировать Цитата Maratina:
Скрытый текст
[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); |
|
Отправлено: 11:34, 05-11-2018 | #140 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 7] | El Sanchez | Автоматическая установка приложений | 2499 | 02-02-2015 08:59 | |
Скрипты Inno Setup. Помощь и советы [часть 6] | El Sanchez | Автоматическая установка приложений | 2494 | 10-03-2014 11:51 | |
Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 |
|