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

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

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

Widok (02-08-2010 12:04): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.
 
Последний стабильный  релиз: 5.3.10 [11.06.2010]
Последний стабильный Unicode релиз: 5.3.10 [11.06.2010]
Что нового? | Все сборки
 
Inno Setup Compiler 5.3.10 build 100707 Final - расширенная версия от ResTools (зеркало)  
Inno ISCmplr Setup 5.3.10 build 100625
Добавляет списку компонентов возможность сворачивать дочерние элементы. Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций. На сайте автора также есть дополнительные библиотеки.
 
Русификатор версии 5.3.10 от vadimsva
 
Русская справка к версии 5.0.x, автор перевода BagIra (зеркало) | cкачать в .chm формате
 
 

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

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

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

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

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

Текст всех программ обязательно заключайте в теги [code][/code].
Большие тексты (более 10 строк) обязательно прячутся в [more]ВАШ ТЕКСТ и/или Ваш КОД[/more]

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 11:44 12-04-2010 | Исправлено: SotM, 08:58 02-08-2010
Seup

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56
Я выложил весь скрипт со всеми файлами, включая и тот скрипт, который здесь я не написал, необходимыми для компиляции. Всё находится в файлах, ссылку на которую я дал выше.
А здесь, на странице, я написал общий скрипт, который при компиляции подключает к себе еще один, не написанный на странице, скрипт (FreeArc.iss).
Просмотрю твой скрипт, где ты там закаментировал, попробую разобраться.
Спасибо, за то что пытаешься помочь.
 
Добавлено:
vint56
 
Исправил всё то, где ты закоментил и выдало такую ошибку: Unknown identifier 'UnpackingArc'
Буду смотреть дальше.
 
Добавлено:
vint56
 
Всё, разобрался. Никакой ошибки нет, просто я забыл подключить скрипт freearc'a.
Огромное тебе спасибо, ты мне очень помог. Ещё немного знаний в мою копилку. ))

Всего записей: 34 | Зарегистр. 30-04-2009 | Отправлено: 17:49 01-06-2010
Shady_Lancer

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем. У меня такой вопрос.Я убрал начальную страницу и конечную.Можно ли сделать так чтобы кнопка Install была посередине окна инсталлера. Я так понял что можно сделать через inno form designer но на Wind 7 она не запускается.Помогите осуществить идею.

Всего записей: 12 | Зарегистр. 01-06-2010 | Отправлено: 19:43 01-06-2010
mash702

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите плиз решить проблему созданием скрипта.
Мне нужно, что бы при установке программы в англ винде глядя на ключ реестра:
[HKLM, 'SYSTEM\CurrentControlSet\Control\Nls\CodePage]
ACP=1252

устанавливался и запускался бы (без участия пользователя) файл Rus.reg, на него повесить перезагрузку в конце инсталляции.
И если запускать в русской винде:
[HKLM, 'SYSTEM\CurrentControlSet\Control\Nls\CodePage]
ACP=1251

файл Rus.reg соответственно бы не устанавливался и не запускался бы и просьбы о перезагрузке бы не было.
Заранее благодарен!
 
 
На данном этапе у меня пока вписано так:

Код:
 
[FILES]
Source: Rus.reg; DestDir: {tmp}; AfterInstall: NLS
 
[_CODE]
Procedure NLS();
Var NLS1: string; res : integer;
begin
  RegQueryStringValue(HKLM, 'SYSTEM\CurrentControlSet\Control\Nls\CodePage','ACP', NLS1);
  if NLS1 = '1252' then Exec('reg.exe', ' import ' + ' ' + AddQuotes(ExpandConstant('{tmp}\Rus.reg')),ExpandConstant('{tmp}'),SW_HIDE, ewWaitUntilTerminated, res);
end;
 

 

Всего записей: 2 | Зарегистр. 01-06-2010 | Отправлено: 20:09 01-06-2010 | Исправлено: mash702, 20:19 01-06-2010
boss911



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

Код:
procedure CreateINI;
var
  str: string;
begin
  str:= ExpandConstant('{app}\autoexec_user.ini');
  if IsComponentSelected('Protocol\IRC') then begin
    SaveStringToFile(str, 'SETTINGS:' + #13#10#13, False);
  end;
end;

Пожалуйста, помогите сделать, что бы этот INI файл создался в кодировке UTF-8.

Всего записей: 3704 | Зарегистр. 29-01-2005 | Отправлено: 20:15 01-06-2010 | Исправлено: boss911, 20:17 01-06-2010
GhoSt_1616



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Profragerогромное спасибо за данную dll (IS7zip) Продолжйте в том же духе. P.S. Ты Вольта сделал, он такого ещё не писал. Библиотека будет для меня оч полезной. Респект и уважуха  

Всего записей: 230 | Зарегистр. 22-03-2010 | Отправлено: 20:38 01-06-2010
Provizor54

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

Всего записей: 61 | Зарегистр. 30-04-2010 | Отправлено: 21:18 01-06-2010 | Исправлено: Provizor54, 19:08 02-06-2010
kombat 77

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

Цитата:
Помогите осуществить идею.

Неужели так

Всего записей: 393 | Зарегистр. 07-01-2009 | Отправлено: 21:53 01-06-2010
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Provizor54 я там тебе вскрипте писал когда нужно обьеденить несколько процедур одинаковых  
 

Код:
procedure CurStepChanged1(CurStep: TSetupStep);  
var  
  Binary, MainExe: String;  
  ResultCode:Integer;  
begin  
  if CurStep = ssInstall then                          
  begin  
  GenerateGUID(GUID);  
  ExtractTemporaryFile('arc.exe');                
  begin  
  WizardForm.StatusLabel.Caption:='Распаковка файлов...';  
   ExtractTemporaryFile('arc.exe');          //Извлечение из 1-го архива  
  Exec(ExpandConstant('{tmp}\Arc.exe'), 'x '+AddQuotes(ExpandConstant('{src}\Lost Planet Colonies1.arc'))+' -y -dp'+AddQuotes(ExpandConstant('{app}')), '', SW_HIDE, ewWaitUntilTerminated, ResultCode);  
  ProgressBar1.Position := ProgressBar1.Position+1  
 
 
procedure CurStepChanged2(CurStep: TSetupStep);  
Var  
  ResultCode: integer;  
begin  
  if CurStep = ssPostInstall then  
  begin  
 
    if DirectX.Checked then  
      WizardForm.StatusLabel.Caption:='Обновление по';  
      begin  
      Exec(ExpandConstant('{src}\DirectX\DXSETUP.exe'), '/silent', ExpandConstant('{src}\DirectX'), SW_SHOW, ewWaitUntilTerminated, ResultCode);  
      end;  
 
    if redist.Checked then  
      begin  
      WizardForm.StatusLabel.Caption:='Обновление по';  
      if isWin64 then  
      Exec(ExpandConstant('{src}\vcredist_x64_2005_sp1.exe'), '/Q', ExpandConstant('{src}'), SW_SHOW, ewWaitUntilTerminated, ResultCode)  
      else begin  
      Exec(ExpandConstant('{src}\vcredist_x86_2005_sp1.exe'), '/Q', ExpandConstant('{src}'), SW_SHOW, ewWaitUntilTerminated, ResultCode);  
 end;  
end;
 
procedure CurStepChanged(CurStep: TSetupStep);
begin
  CurStepChanged1(CurStep);
  CurStepChanged2(CurStep);
end;


Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 22:06 01-06-2010
mash702

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья мои, ну помогите же пожалуйста, вот к этому коду дописать:

Код:
Procedure NLS();
Var NLS1: string; res : integer;
begin
  RegQueryStringValue(HKLM, 'SYSTEM\CurrentControlSet\Control\Nls\CodePage','ACP', NLS1);
  if NLS1 = '1252' then Exec('reg.exe', ' import ' + ' ' + AddQuotes(ExpandConstant('{tmp}\Rus.reg')),ExpandConstant('{tmp}'),SW_HIDE, ewWaitUntilTerminated, res);
end;

ииии + перезагрузиться в конце инсталляции.

Всего записей: 2 | Зарегистр. 01-06-2010 | Отправлено: 00:31 02-06-2010
htuos

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

Цитата:
У меня 3 пункта, объясняющие почему тебе не стоило бы это писать.
 
1) Библиотеки для работы с 7zip есть и в дистрибутиве Игоря Павлова (автора алгоритма). Отличия только в интерфесе работы с библиотеками. Почему их не используют с Inno? Ответ см. в п.2)
2) А ты бы попробовал эти библиотеки прикрутить к Inno без написания собственной связующей библиотеки я бы на тебя посмотрел) Это не реально.
3) По данной тобой ссылке версия 7z старая довольно таки и не поддерживает распаковку LZMA2 потоков.
 
Прежде чем писать такое надо было изучить этот вопрос, а не кидать слова на ветер.
 
P.S. не воспринимай как грубость, но реально раздражает такая уверенность в ответе при незнании темы.

 
да, не поддерживает LZMA2
и да, я работал с этой длл в инно не используя оберток, иначе не давал бы ссылку на нее. единственное не использовал свою callback-функцию, меня устроил встроенный прогрессбар на отдельной форме
 
ЗЫ и не надо было раздражаться, "надо было изучить этот вопрос"
ЗЗЫ вот самый простой пример распаковки с использованием 7-zip32.dll http://ifolder.ru/17978915 писанины на несколько минут

 
 
маленько обновил botva2.dll http://ifolder.ru/17979162
добавлены 3 процедуры

Код:
procedure ImgSetVisiblePart(img:Longint; NewLeft, NewTop, NewWidth, NewHeight : integer);  
procedure ImgGetVisiblePart(img:Longint; var Left, Top, Width, Height : integer);  
procedure ImgGetPosition(img:Longint; var Left, Top, Width, Height:integer);  

описание внутри

Всего записей: 335 | Зарегистр. 06-03-2008 | Отправлено: 00:53 02-06-2010 | Исправлено: htuos, 00:57 02-06-2010
Profrager



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

Цитата:
и да, я работал с этой длл в инно не используя оберток, иначе не давал бы ссылку на нее. единственное не использовал свою callback-функцию, меня устроил встроенный прогрессбар на отдельной форме

ммм, не думал, что с этой библиотекой прям в Inno можно чего-то сделать путное. Да и список экспортируемых функций у нее не говорил о простоте реализации интерфейса)
Признаю свою ошибку в этом плане) Но меня оправдывает то, что я не знаю японский язык
 

Цитата:
ЗЗЫ вот самый простой пример распаковки с использованием 7-zip32.dll http://ifolder.ru/17978915 писанины на несколько минут

Даже не понял сначала, что это с помощью Inno создано) Всегда считал InnoSetup скрипты недоделанной версией интерпретатора языка паскаль, а оказывается у него потенциал еще ого-го)

Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 01:18 02-06-2010 | Исправлено: Profrager, 01:28 02-06-2010
Sig666

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

Цитата:
маленько обновил botva2.dll

А надписи на кнопках в unicode будут?

Всего записей: 134 | Зарегистр. 15-01-2008 | Отправлено: 02:38 02-06-2010
nik1967



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Krinkels
Здравствуйте! В Вашей "Сборке часто спрашиваемых скриптов", в скрипте "Проверка системных требований" нет проверки Windows 7. Но если в этом блоке:
Код:
 if (Pos('2000 Service Pack 4', SystemVersionPanel.Text) = 0) and  // Windows 2000 SP4
     (Pos('XP Service Pack 2', SystemVersionPanel.Text) = 0) and  // Windows XP SP2
     (Pos('XP Service Pack 3', SystemVersionPanel.Text) = 0) and  // Windows XP SP3  
     (Pos('Vista', SystemVersionPanel.Text) = 0) then  // Windows Vista (c любым SP или без него)
     begin
      SystemVersionPanel.Color := clBlack
      SystemVersionPanel.Font.Color := clRed
      ChangeText := True
     end
 
дописать строчку:
Код:
(Pos('Win', SystemVersionPanel.Text) = 0) then  // Windows 7 (c любым SP или без него) ну или
(Pos('Windows', SystemVersionPanel.Text) = 0) then  // Windows 7 (c любым SP или без него)
то WinSeven проходит проверку .

Всего записей: 1076 | Зарегистр. 11-10-2006 | Отправлено: 08:30 02-06-2010 | Исправлено: nik1967, 08:33 02-06-2010
Krinkels



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
nik1967
Благодарю, обязательно добавлю

----------
Рок моя честь, а моя честь моя жизнь.
krinkels.org

Всего записей: 764 | Зарегистр. 06-05-2009 | Отправлено: 08:51 02-06-2010
Shegorat



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

Цитата:
дописать строчку:  

Код:
(Pos('Win', SystemVersionPanel.Text) = 0) then  // Windows 7 (c любым SP или без него) ну или  
(Pos('Windows', SystemVersionPanel.Text) = 0) then  // Windows 7 (c любым SP или без него)  

Если ты так напишешь, то любая версия Windows пройдет проверку, и следовательно теряется смысл проверки версии ОС. Поэтому там нужно написать следующее

Код:
 
 if (Pos('2000 Service Pack 4', SystemVersionPanel.Text) = 0) and  // Windows 2000 SP4  
 (Pos('XP Service Pack 2', SystemVersionPanel.Text) = 0) and  // Windows XP SP2  
 (Pos('XP Service Pack 3', SystemVersionPanel.Text) = 0) and  // Windows XP SP3  
 (Pos('Vista', SystemVersionPanel.Text) = 0) and  // Windows Vista (c любым SP или без него)  
 (Pos('Windows 7', SystemVersionPanel.Text) = 0) then //(обычно пишется Windows 7) Windows 7 (c любым SP или без него)


----------
Krinkels.org - создание инсталляционных пакетов.
Как много дел считались невозможными, пока они не были осуществлены.

Всего записей: 695 | Зарегистр. 09-06-2009 | Отправлено: 09:50 02-06-2010 | Исправлено: Shegorat, 09:52 02-06-2010
nik1967



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shegorat
Да, действительно. Проверил на WinXP: с  
(Pos('Windows', SystemVersionPanel.Text) = 0) then  // Windows 7 (c любым SP или без него)
проходит проверку,  
а с  
(Pos('Windows 7', SystemVersionPanel.Text) = 0) then //(Windows 7 (c любым SP или без него)
нет. Спасибо за подсказку!

Всего записей: 1076 | Зарегистр. 11-10-2006 | Отправлено: 12:10 02-06-2010
Shady_Lancer

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kombat 77 да так спасибо!

Всего записей: 12 | Зарегистр. 01-06-2010 | Отправлено: 13:04 02-06-2010
NoOb91

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите, сделать именно вот так:
Скрипт: http://rghost.ru/1779234

Всего записей: 8 | Зарегистр. 13-05-2010 | Отправлено: 15:45 02-06-2010
Alexander61434



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NoOb91, ты на севене тестил?

Всего записей: 238 | Зарегистр. 16-11-2009 | Отправлено: 18:43 02-06-2010
duxa174



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день. Подскажите пожалуйста, как добавить иконку в левый верхний угол во время установки и на финишной странице.
нужно как здесь
__
И еще: какие существуют флаги или параметры (не знаю что), что бы программа устанавливалась сразу с различными подтверждениями (т.е. не было различных страниц приветствий, не надо было нажимать постоянно "далее")

Код:
Parameters: "/silent /nocancel /DIR=""{app}"""; Flags: waituntilterminated skipifdoesntexist;

Пользуюсь такими, но окно всё равно появляется (только во время установки) и выбирается 1 по списку вариант (допустим вариант перевода), а мне нужен 2. Как такое сделать?  
===
Спасибо.

Всего записей: 177 | Зарегистр. 26-03-2010 | Отправлено: 19:23 02-06-2010
   

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
Widok (02-08-2010 12:04): Лимит страниц. Продолжаем здесь.


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru