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

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

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

articlebot (13-10-2013 23:33): продолжение темы - №15
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268

   

batva



crazy administrator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
 
Inno Setup часть 14

Предыдущие части
Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.
 
Последние версии:
Inno Setup QuickStart Pack (ansi) 5.5.3 [30.01.2013]
Скачать (1.9 Mb)
Inno Setup QuickStart Pack (unicode) 5.5.3 [30.01.2013]
Скачать (2.2 Mb)
Что нового? | Все сборки
Русский язык для Inno Setup версии 5.5.x от vadimsva [02.06.2012]
Скачать
Русский язык для Inno IDE версии 1.0.0.0078 от vadimsva
Скачать |
 
Расширенная версия от китайских собратьев. Домашняя страница ResTools
Inno Setup Compiler 5.5.0-5.1 build 120808
Скачать (2.98 Mb) | Зеркало (2 Mb) - убраны картинки для уменьшения размера архива
Что нового?
Inno ISCmplr Setup 5.5.1 build 120726
Скачать (1.73 Mb) | Зеркало (1.7 Mb)
Что нового?
Добавляет списку компонентов возможность сворачивать дочерние элементы. Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций. На сайте автора также есть дополнительные библиотеки.
Русский язык для Inno Setup Enhanced (Restools) версии 5.4.x (ansi и unicode) от vadimsva
Скачать
 
Русская справка к версии 5.5.3, автор перевода BagIra, bugron | Chm-версия
 
 

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

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

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

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

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

Всего записей: 12593 | Зарегистр. 07-01-2001 | Отправлено: 20:48 20-05-2011 | Исправлено: sjwrec, 14:38 08-09-2013
LordSP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nik1967 Не могу понять, покажи хотя бы на 3, только какая нибудт из кнопок что то делал, удалял папку или в реестр лезла, я вот это имею ввиду

Всего записей: 101 | Зарегистр. 30-03-2011 | Отправлено: 18:27 10-01-2013
nik1967



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LordSP, пример

Всего записей: 1076 | Зарегистр. 11-10-2006 | Отправлено: 19:30 10-01-2013 | Исправлено: nik1967, 11:01 11-01-2013
LordSP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nik1967
Спасибо, а как в модальное окно вставить аватарку?
 
например: MsgBox('Я тут',mbinformation,mb_ok); и картинку в окошке при нажатии

Всего записей: 101 | Зарегистр. 30-03-2011 | Отправлено: 09:28 12-01-2013
VlVlV

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пожалуйста, помогите адаптировать старый скрипт к новой версии ИС.
 
Суть в том, чтобы можно было устанавливать без перезагрузки поверх запущенной программы любое количество раз (многие файлы заблокированы). Этот скрипт писал давно, и в старой версии ИС он прекрасно работает, а в самой новой он не выполняет ничего, что от него требуется. Подставлял мсгбоксы в разные места скрипта, и увидел, что идет какая-то задержка передачи аргумента с именем текущего файла. Вместо этого ИС сам пытается удалить файл, естественно не может и выкидывает свое окно: прервать/повтор/пропустить.
Как оказалось, второй скрипт тоже рабочий, просто я запускал готовый инсталятор из под ИС, который у меня портативный, т.е. установка происходила в песочнице, потому и не работало. Удалять не буду, может кому пригодится. Оба скрипта немного доработал.
 
-----------------------------------------------------------------
 
inno setup 4.2.7 (все работает)
 
[Files]
Source: "{app}\1.exe"; DestDir: "{app}"; BeforeInstall: "BeforeFileInstall({app}\1.exe)"; Flags: ignoreversion uninsrestartdelete
Source: "{app}\2.exe"; DestDir: "{app}"; BeforeInstall: "BeforeFileInstall({app}\2.exe)"; Flags: ignoreversion uninsrestartdelete
Source: "{app}\3.dll"; DestDir: "{app}"; BeforeInstall: "BeforeFileInstall({app}\3.dll)"; Flags: ignoreversion uninsrestartdelete
 
[Code]
var
    FileName: String;
    TempFileName: String;
    TempFileNameFull: String;
    ResultCode: Integer;
    i: Integer;
procedure BeforeFileInstall(FileNameFull: String);
begin
    if FileExists(FileNameFull) then begin
        if DeleteFile(FileNameFull) = False then begin
            FileName := ExtractFileName(FileNameFull);
            if FileName = '2.exe' then begin
                InstExec(AddBackslash(ExpandConstant('{app}')) + 'xxx.exe', '/c', '', True, False, SW_SHOW, ResultCode);
            end;
            if FileName = 'help.chm' then begin
                InstExec(AddBackslash(ExpandConstant('{sys}')) + 'taskkill.exe', '/f /im hh.exe', '', True, False, SW_HIDE, ResultCode);
            end;
            i := 0;
            while i < 5 do begin
                if DeleteFile(FileNameFull) then
                    i := 5
                else
                    i := i + 1;
                    Sleep(1000);
            end;
            if FileExists(FileNameFull) then begin
                TempFileName := ExtractFileName(GenerateUniqueName(FileName, '.tmp'));
                TempFileNameFull := AddBackslash(ExtractFilePath(FileNameFull)) + TempFileName;
                RenameFile(FileNameFull, TempFileNameFull);
                if FileExists(TempFileNameFull) then begin
                    RegWriteStringValue (HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce', TempFileName, 'cmd /c del ' + AddQuotes(TempFileNameFull));
                end;
            end;
        end;
    end;
end;
 
-----------------------------------------------------------------
 
inno setup 5.5.2 (ошибок нет, но не работает)
 
 
[Files]
Source: "{app}\1.exe"; DestDir: "{app}"; BeforeInstall: "BeforeFileInstall('1.exe')"; Flags: ignoreversion uninsrestartdelete
Source: "{app}\2.exe"; DestDir: "{app}"; BeforeInstall: "BeforeFileInstall('2.exe')"; Flags: ignoreversion uninsrestartdelete
Source: "{app}\3.dll"; DestDir: "{app}"; BeforeInstall: "BeforeFileInstall('3.dll')"; Flags: ignoreversion uninsrestartdelete
Source: "{app}\4.dll"; DestDir: "{app}"; BeforeInstall: "BeforeFileInstall('4.dll')"; Flags: ignoreversion uninsrestartdelete
Source: "{app}\5.dll"; DestDir: "{app}"; BeforeInstall: "BeforeFileInstall('5.dll')"; Flags: ignoreversion uninsrestartdelete
 
[Code]
procedure BeforeFileInstall(FileNameFull: String);
var
    FileName: String;
    TempFileName: String;
    TempFileNameFull: String;
    ResultCode: Integer;
    i: Integer;
begin
    FileNameFull := AddBackslash(ExpandConstant('{app}')) + FileNameFull;
    if FileExists(FileNameFull) then begin
        if DeleteFile(FileNameFull) = False then begin
            FileName := ExtractFileName(FileNameFull);
            if FileName = '2.exe' then begin
                Exec(AddBackslash(ExpandConstant('{app}')) + 'xxx.exe', '/c', '', SW_SHOW, ewNoWait, ResultCode);
            end;
            if FileName = 'help.chm' then begin
                Exec(AddBackslash(ExpandConstant('{sys}')) + 'taskkill.exe', '/f /im hh.exe', '', SW_HIDE, ewNoWait, ResultCode);
            end;
            i := 0;
            while i < 5 do begin
                if DeleteFile(FileNameFull) then
                    i := 5
                else
                    i := i + 1;
                    Sleep(1000);
            end;
            if FileExists(FileNameFull) then begin
                TempFileName := ExtractFileName(GenerateUniqueName(FileName, '.tmp'));
                TempFileNameFull := AddBackslash(ExtractFilePath(FileNameFull)) + TempFileName;
                RenameFile(FileNameFull, TempFileNameFull);
                if FileExists(TempFileNameFull) then begin
                    RegWriteStringValue (HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce', TempFileName, 'cmd /c del ' + AddQuotes(TempFileNameFull));
                end;
            end;
        end;
    end;
end;

Всего записей: 280 | Зарегистр. 02-07-2009 | Отправлено: 11:56 16-01-2013 | Исправлено: VlVlV, 23:39 18-01-2013
aidgest1709

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скрипт Need for Speed™ Undercover.iss v 2.4c [Final] не определяет Windows 8.
Что можно сделать? Помогите.

Всего записей: 7 | Зарегистр. 27-06-2007 | Отправлено: 13:51 16-01-2013 | Исправлено: aidgest1709, 13:55 16-01-2013
Doc_Evil



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто может подскажет, как сделать Hint для каждого компонента средствами ResTools? Или это невозможно? Или есть какой-нибудь рабочий вариант с хинтами, чтобы корректно отображался с TreeViewStyle? А то сползают описания компонентов при сворачивании ветки

Всего записей: 234 | Зарегистр. 09-07-2004 | Отправлено: 16:33 17-01-2013
darkqft

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли как-то данные с tedit(например серийный ключ) добавить в реестр через секцию [code]?

Всего записей: 5 | Зарегистр. 14-08-2011 | Отправлено: 10:09 19-01-2013
marineharrison

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток. Возможно вопрос уже обсуждался...
Мне нужно вставить фоновое изображение JPG на задний фон инсталлятора. Таким образом, чтоб он растягивался на весь экран, однако чтоб подгонялся под экран. то есть если фон 4:3, а монитор 16:9, то чтоб в стороны не растягивался фон, а был 4:3, а по бокам были черные полосы. Ну и другие варианты. Мне нужен не скрипт слайдшоу, а именно одно изображение, которое будет показываться весь процесс установки. Заранее спасибо.

Всего записей: 93 | Зарегистр. 10-08-2009 | Отправлено: 14:20 19-01-2013
Mailchik



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
darkqft
Подробнее...

Всего записей: 20 | Зарегистр. 06-07-2012 | Отправлено: 00:55 20-01-2013
darkqft

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mailchik
благодарю

Всего записей: 5 | Зарегистр. 14-08-2011 | Отправлено: 09:28 20-01-2013
ultimo



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

Всего записей: 177 | Зарегистр. 19-05-2012 | Отправлено: 20:56 20-01-2013
LordSP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, кто знает, как занести Данные в реестр через секцию [Code] на этапе InitializeSetup?

Всего записей: 101 | Зарегистр. 30-03-2011 | Отправлено: 13:17 21-01-2013
Mailchik



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ultimo, если вы про ISDone, то есть функция SuspendProc, которая приостанавливает процесс распаковки.. Обратная ей функция ResumeProc.  
LordSP, 2 поста выше.

Всего записей: 20 | Зарегистр. 06-07-2012 | Отправлено: 17:09 21-01-2013
LordSP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MailchikХорошо, спасибо, а как занести в реестр Двоичные значения, подскажи?
 
 
Добавлено:
Mailchik При чем у меня Двоичное значение такое огромное, что даже не стоит его тут писать.

Всего записей: 101 | Зарегистр. 30-03-2011 | Отправлено: 17:44 21-01-2013
Mailchik



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LordSP, RegWriteBinaryValue.

Всего записей: 20 | Зарегистр. 06-07-2012 | Отправлено: 18:03 21-01-2013
LordSP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mailchik А само значение как записывать?

Всего записей: 101 | Зарегистр. 30-03-2011 | Отправлено: 06:04 22-01-2013
Gourmet

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
фух... наконец-то добрался до последней части обсуждения... очевидно, искать ответ в предыдущих нет никакой возможности, ибо их несуразно много
 
вопрос: как в скрипте корректно назначить программу для просмотра PDF документов, то есть, установить ассоциацию PDF? нам это необходимо сделать, у нас свой софт, документацию с которым надо смотреть своим ридером, это требование заказчика
 
пытались выполнять консольные команды assoc и ftype, но не получается, и вообще они в консоли не работают, как описано в документации M$ - ранее на машину был установлен Foxit Reader, и чтобы мы не делали, при открытии PDF вызывается он, и даже assoc .pdf= не помогает - затирается только связь в одной ветке реестра, но остаются классы, созданные Foxit
 
и такая же беда с Adobe PDF - не можем никак установить свою программу, вместо него
 
может есть другой известный способ гарантированно задать ассоциации своей программе в скрипте InnoSetup, вместо установленных ранее?  
 
способ прописать грубо руками в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf свою программу мне известен - но хотелось более правильно, чтобы не лазить по реестру

Всего записей: 1782 | Зарегистр. 26-06-2003 | Отправлено: 16:25 22-01-2013 | Исправлено: Gourmet, 16:47 22-01-2013
BUU



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет, мне нужно реализовать функцию резервного копирования перед установкой новых файлов и папок, и чтоб при удалении восстанавливал те же папки и файлы    
 
Пробовал такой код  
 
MoveDir(ExpandConstant('{app}\Backup\'), ExpandConstant('{app}'));
  RemoveDir(ExpandConstant('{app}\Backup\'));
 
примерно, пишет неизвестный индефикатор, заранее спс
 
http://rghost.ru/43228489

Всего записей: 181 | Зарегистр. 15-08-2008 | Отправлено: 16:47 22-01-2013
Gourmet

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вроде нашел какой-то вариант установки ассоциаций в FAQ самого InnoSetup, но нет уверенности, что он будет работать, похоже на то, что мы делали, только другими средствами

Всего записей: 1782 | Зарегистр. 26-06-2003 | Отправлено: 18:20 22-01-2013
LordSP



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BUU Держи, Тыц

Всего записей: 101 | Зарегистр. 30-03-2011 | Отправлено: 09:10 23-01-2013 | Исправлено: LordSP, 09:11 23-01-2013
   

Страницы: 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 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
articlebot (13-10-2013 23:33): продолжение темы - №15


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru