Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup: создание инсталляционных пакетов (Часть 15)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153

Открыть новую тему     Написать ответ в эту тему

Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Inno Setup
 
 

Предыдущие части
Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.
All version | Исходники проекта
 
Последние версии:
Inno Setup 6.3.3 [12.07.2024]
Скачать (5,37 Mb)
 
Inno Setup QuickStart Pack (Unicode) 6.1.2 [15.11.2020]
Скачать (4.23 Mb)
 
Что нового? | Что нового v.6x?  
 
Русский язык для Inno Setup v6.x
Скачать
 
Русский язык для Inno Setup v5.x
Скачать
 
Русская справка к версии - 5.6.1 (Зеркало) | 6.0.0 beta | 6.x
 
Последняя версия с поддержкой Windows 95 - 5.1.7
 
Последняя версия с поддержкой Windows 98/ME/NT4 - 5.4.3 ANSI
 
Последняя версия с поддержкой Windows 2000/XP/2003 - 5.6.1 (ANSI, Unicode)
 

Расширенная версия от китайских собратьев. Офсайт
Inno Setup Compiler 5.5.0-5.2 build 121216
Скачать (2.98 Mb) |Скачать (2.98 Mb) - зеркало GoogleDrive | Что нового
 
Inno ISCmplr Setup 5.5.1 build 120726
Скачать (1.73 Mb) | Что нового
 
Добавляет списку компонентов возможность сворачивать дочерние элементы. Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций. На сайте автора также есть дополнительные библиотеки.
 
Русский язык для Inno Setup Enhanced (Restools) версии 5.4.x (ansi и unicode) от vadimsva
Скачать
 


Документация, FAQ, и различные примеры для Inno Setup - Здесь можно найти различную документацию, примеры, архивы веток InnoSetup для оффлайн просмотра, и т.д.
 
Дополнительные библиотеки для Inno Setup - InnoTools Downloader, коллекция DLL файлов, распаковка архивов 7-zip и FreeArc и т.д.
 
Дополнительные утилиты для Inno Setup - сюда входят различные распаковщики, надстройки над Inno Setup, различные генераторы скриптов, утилита объединения скриптов и т.д.
 
Скрипты инсталляторов для игр - В этом разделе можно найти различные обложки и скрипты инсталляторов для игр.  
 
Скрипт для добавления ярлыков в Game Explorer (работает только в Windоws 7)

Родственные темы:

Inno Setup плюс внешние упаковщики - обсуждение FreeArc+Inno, Precomp+Inno, 7zip+Inno и Inno+остальные внешние упаковщики.
 
Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - обсуждение того, какими утилитами/способами лучше сжимать, чтобы получить как можно меньший размер инсталятора.

Примечание для всех участников

Правила топика посвященному Inno Setup  
 
Перед тем, как задать вопрос: Первый вариант: загрузите "версию для печати" (ссылка справа вверху, над номерами страниц) и попробуйте поискать средствами браузера (ctrl+F). Второй вариант: для экономии трафика и для более удобного поиска, скачайте оффлайн версию форума для просмотра в разделе Документация.
Большинство типовых задач уже решались, причем неоднократно!  
Пожалуйста, не захламляйте тему и используйте поиск, этим вы избавите тему от флуда!

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:29 13-10-2013 | Исправлено: boss911, 03:15 07-11-2024
MOD_TEC



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как кнопке назначить функцию перехода на определенную страницу...
Заранее спасибо...

Всего записей: 82 | Зарегистр. 14-02-2012 | Отправлено: 19:29 27-12-2013
WestusBox



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее... [/more]
 
Добавлено:

Цитата:
Возник вопрос, а как переименовать папку если она существует?  
Как должно работать:  
Если "Папка" существует, то переименовать в "Папка 1", если "Папка 1" тоже существует, то переименовать в "Папка 2" и т.д.

Нашел то-что подходит, но в этом скрипте проверяются файлы, а нужно целиком всю папку. Ссылка на код выше.
Как правильно вставить код в more?

Всего записей: 4 | Зарегистр. 26-12-2013 | Отправлено: 20:26 27-12-2013 | Исправлено: WestusBox, 20:31 27-12-2013
WestusBox



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Еле нашел. Чуть допилил и получилось то, что я хотел.

Код:
 
//Если папка с игрой уже существует, переименовываем
procedure CurStepChanged(CurStep: TSetupStep);
begin
  case CurStep of
    ssInstall: begin
      RenameFile(ExpandConstant('{app}'), ExpandConstant('{app}-')+GetDateTimeString('yyyy/mm/dd hh:nn', '_', '.' ));
    end;
  end;
end;
 

Всего записей: 4 | Зарегистр. 26-12-2013 | Отправлено: 02:30 28-12-2013
R3Pa4eK



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ExecAndWait на ассемблере (плагин для инно), самый маленький, наверное
 
http://rghost.ru/51280253

Всего записей: 963 | Зарегистр. 15-01-2011 | Отправлено: 14:55 29-12-2013
tuz1979

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди подскажите пожалуйста как вставить анимацию в формате gif?

Всего записей: 69 | Зарегистр. 20-04-2010 | Отправлено: 01:00 30-12-2013
R3Pa4eK



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
tuz1979
http://rghost.ru/5030700 - Inno GIFCtrl v2.1.

Всего записей: 963 | Зарегистр. 15-01-2011 | Отправлено: 01:03 30-12-2013
tuz1979

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
R3Pa4eK
Спасибо большое

Всего записей: 69 | Зарегистр. 20-04-2010 | Отправлено: 01:34 30-12-2013
sjwrec



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С новым 2014 годом!!!

Всего записей: 473 | Зарегистр. 01-10-2010 | Отправлено: 10:46 01-01-2014
BlackInferno1989

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Решил сделать Slideshow под ProgressBar`ом в пределах окна инсталлятора. Нашел кучу скриптов. Но при добавлении их в свой скрипт у меня возникают те или иные ошибки, а все из-за того что эти скрипты были выдраны из различных готовых скриптов + я некудышный программист.
Не могли бы Вы, умные люди с ГОРАЗДО прямыми руками, а не то как у меня, написать, как, что, куда прописывать. Скрипт мне подойдет любой (по времени или по процентам). И если можно напишите скрипт только с необходимым содержимым, без всякого мусора и не нужных секций. Буду очень признателен.
 
Заранее спасибо.

Всего записей: 10 | Зарегистр. 10-12-2013 | Отправлено: 13:05 01-01-2014 | Исправлено: BlackInferno1989, 13:12 01-01-2014
AlekseyPopovv



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет. Всех с новым годом Возможно ли сделать на Inno Setup портативную версию приложения, как на NSIS? Именно сделать, а не добавить в инсталятор уже готовую портативку. То есть имеется папка "Starus File Recovery Portable", в ней папка "App", в папке "App" папка "Starus File Recovery"(в этой папке находятся файлы приложения). Всё остальное нужно прописать в скрипте, например: необходимо что бы создавалась папка "Data" в папке "Starus File Recovery Portable". В этой папке будут храниться настройки приложения: "Settings.ini" и записи реестра "Starus File Recovery.reg". Примерно как то так. Возможно ли такое и как?

Всего записей: 345 | Зарегистр. 25-03-2013 | Отправлено: 18:48 01-01-2014
OPERATOR555

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как можно сделать, дабы после инсталяции, при повторной попытке запуска инсталятора запускался деинсталятор?

Всего записей: 7 | Зарегистр. 10-08-2012 | Отправлено: 08:15 02-01-2014
AlekseyPopovv



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[Setup]
; Меняй на любое своё
AppId=OPERATOR555  
 
[Code]
// Всё что по русски, можеш по другому написать, всё остальное без изменений
function UninstallMyApp(): Boolean;
var
    Buff: String;
    i: Integer;
begin
    Result := not RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1', 'UninstallString', Buff );
    if not Result then Result := not FileExists(RemoveQuotes(Buff));
    if not Result then if MsgBox('Перед установкой необходимо удалить предыдущую версию приложения. Продолжить?', mbError, MB_YESNO) = IDYES then
    try
        Exec(RemoveQuotes(Buff), '', ExtractFilePath(RemoveQuotes(Buff)), SW_SHOW, ewWaitUntilTerminated, i);
    finally
        Result := not RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1', 'UninstallString', Buff );
        if not Result then MsgBox('Удаление завершилось неудачей!', mbError, MB_OK);
    end;
end;
 
function InitializeSetup(): Boolean;
begin
    Result := UninstallMyApp();
end;
 
Добавлено:
Ребята помогите. Как сделать, что бы при выборе языка, менялась картинка? Например: Русский язык-флаг русский и т.д.
 

Всего записей: 345 | Зарегистр. 25-03-2013 | Отправлено: 12:12 02-01-2014
AlekseyPopovv



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как зашифровать инсталятор? Пробовал так:
[Setup]  
;Модуль ISCrypt.dll должен быть в папке с компилятором  
Encryption=yes  
;Пароль сами устанавливаем такой, чтобы никто его не смог подобрать, желательно добавить русские символы и сделать пароль подлиннее  
Password=xcvcxhv9-8--fhрлджэ\5(*&Y&&^^()U###$%!^&!^%#^(UJ<:LKJJHGG  
 
[Code]  
procedure InitializeWizard();  
var  
//Определяем поле ввода пароля  
PasswordEdit: TPasswordEdit;  
begin  
//Указываем наш пароль  
WizardForm.PasswordEdit.Text := 'xcvcxhv9-8--fhрлджэ\5(*&Y&&^^()U###$%!^&!^%#^(UJ<:LKJJHGG';  
end;  
 
//При установке юзер не поймает пароль по маске, который может быть расшифрован специальными утилитами.  
//Их у меня нет, но о них я слышал, хотя Inno Setup не позволяет копировать пароль по маске  
procedure CurPageChanged(CurPageID: Integer);  
begin  
If CurPageID=wpPassword then  
begin  
SendMessage(WizardForm.NEXTBUTTON.Handle, 513, 0, 0)  
SendMessage(WizardForm.NEXTBUTTON.Handle, 514, 0, 0)  
end;  
end;
 скрипт собирается, но после запуска инсталятора "прекращена работа". Как справить?
 
Добавлено:
Сделал вот так:
[Setup]  
Encryption=Yes  
Password=7T34Ue(rrT  
 
[Files]  
Source: "MyProg.exe"; DestDir: "{app}"
 
[Code]  
function ShouldSkipPage(PageID: Integer): Boolean;  
begin  
if PageID = wpPassword then Result:= True;  
end;  
А как защитить сам скрипт? Он хоть и не извлекается, но зато открыть его можно и посмотреть введя любой код.

Всего записей: 345 | Зарегистр. 25-03-2013 | Отправлено: 15:50 03-01-2014
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlekseyPopovvAlekseyPopovv 12:12 02-01-2014
Цитата:
Ребята помогите. Как сделать, что бы при выборе языка, менялась картинка? Например: Русский язык-флаг русский и т.д.

Пример

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 17:41 03-01-2014
sjwrec



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет,  
 
есть строка текста 4095.0 MB
 
есть кусок кода но ругается на mismatch
 
SymRErr:= ExpandConstant('{%2e}');
if (Copy(currNode1.text, vidlenstr, 1) = SymRErr or ' ') then begin
 
Как заставить инсталл искать точку в тексте?
 
Пробел правильно находит.

Всего записей: 473 | Зарегистр. 01-10-2010 | Отправлено: 10:05 04-01-2014
sjwrec



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Отбой. Нашёл решение. Оказывается точка находится просто процедура проверки неправильно написана:
Вот как надо было

Код:
 
SymRErr:= ExpandConstant('{%2e}');  
SymRErr2:= ' ';
if (Copy(currNode1.text, vidlenstr, 1) = SymRErr) or (Copy(currNode1.text, vidlenstr, 1) = SymRErr2) then begin
 


Всего записей: 473 | Зарегистр. 01-10-2010 | Отправлено: 12:11 04-01-2014
AlekseyPopovv



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56
А как теперь прикрутить картинку флешки рядом с флагом (при выборе портативной установки) в зависимости от выбора языка (что бы была и флешка и флаг), а при установки был только флаг?

Всего записей: 345 | Зарегистр. 25-03-2013 | Отправлено: 15:15 04-01-2014 | Исправлено: AlekseyPopovv, 15:17 04-01-2014
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlekseyPopovv
http://rghost.ru/51393458

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 15:32 04-01-2014
AlekseyPopovv



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56
Спасибо!
 
 
Добавлено:
vint56
Как записать в секцию INI через Code например:
FileName: "{app}\multiset.ini"; Section: "general"; Key: "language"; string: "russian.ini"; Check: RusLang and InstallerCheck
FileName: "{app}\multiset.ini"; Section: "general"; Key: "language"; string: "english.ini"; Check: EngLang and InstallerCheck
FileName: "{app}\multiset.ini"; Section: "general"; Key: "language"; string: "ukrainian.ini"; Check: UkrLang and InstallerCheck
FileName: "{app}\multiset.ini"; Section: "general"; Key: "quickintro"; string: "0"; Check: InstallerCheck
FileName: "{app}\multiset.ini"; Section: "general"; Key: "maxmainwindow"; string: "0"; Check: InstallerCheck
FileName: "{app}\App\Almeza MultiSet Professional\multiset.ini"; Section: "general"; Key: "language"; string: "russian.ini"; Check: RusLang and PortableCheck
FileName: "{app}\App\Almeza MultiSet Professional\multiset.ini"; Section: "general"; Key: "language"; string: "english.ini"; Check: EngLang and PortableCheck
FileName: "{app}\App\Almeza MultiSet Professional\multiset.ini"; Section: "general"; Key: "language"; string: "ukrainian.ini"; Check: UkrLang and PortableCheck
FileName: "{app}\App\Almeza MultiSet Professional\multiset.ini"; Section: "general"; Key: "quickintro"; string: "0"; Check: PortableCheck
FileName: "{app}\App\Almeza MultiSet Professional\multiset.ini"; Section: "general"; Key: "maxmainwindow"; string: "0"; Check: PortableCheck

Всего записей: 345 | Зарегистр. 25-03-2013 | Отправлено: 15:37 04-01-2014
R3Pa4eK



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AlekseyPopovv
есть функция:
function SetIniString(const Section, Key, Value, Filename: String): Boolean;
 

Код:
 
[code]
SetIniString('gereral', 'language', 'russian', ExpandConstant('{app}\multiset.ini'));
 

Всего записей: 963 | Зарегистр. 15-01-2011 | Отправлено: 21:01 04-01-2014 | Исправлено: R3Pa4eK, 21:02 04-01-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup: создание инсталляционных пакетов (Часть 15)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru