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

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

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

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

   

Widok



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

Это мощное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно создавать свои страницы, используя Inno Setup Form Designer.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта.
 
Последний бета релиз: 5.3.1-beta [15.05.2009]
Последний стабильный релиз: 5.2.4 [01.04.2009]
Что нового? | Что нового в версии 5.3-beta? | Все сборки
 
Inno Setup Compiler 5.2.3 090506 - расширенная версия от ResTools | зеркало
Добавляет списку компонентов возможность сворачивать дочерние элементы. Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций. На сайте автора также есть дополнительные библиотеки.
 
Русификатор версии 5.2.0 от NightW0lf | зеркало
 
Русская справка к версии 5.0.x, автор перевода BagIra | зеркало || cкачать в .chm формате
 
Inno Setup Scripting 5.1 - Руководство по расширенным возможностям Inno Setup от Kindly
версия 5 скачать | зеркало || версия 4 скачать | зеркало || версия 3 скачать | зеркало
 
Inno Setup Extensions Knowledge Base (содержит ответы на многие вопросы) | старая chm-версия  
 
Коллекция скриптов и Сборник вопросов, собранных из этой и предыдущих частей топика.
 
Corona Skin & Check System Requirements от Victor_Dobrov
Скачать | зеркало | скриншот | описание | старая версия || InnoSetup Upgrade || Слайд-шоу
Обложка для Inno Setup. Сделает инсталлятор более симпатичным и добавляет расширения: Проверка минимальных требований. Расширенный прогрессбар. Расчёт времени до завершения распаковки. Список дисков. Слайдшоу или AVI-файл в фоновом окне. Компактный режим установки. Деинсталляция неучтённых файлов. Экран справки/скриншота. Медиаплеер и многое другое...
 
InnoTools Downloader 0.3.5 [15.10.2008] от Sherlock Software
Это скрипт и DLL, которые позволяют вам скачивать файлы с HTTP или FTP из вашей инсталяционной программы.
Скачать (400 Kb) | Что нового?
 
Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - обсуждение того, какими утилитами/способами лучше сжимать, чтобы получить как можно меньший размер инсталятора.
 
Примечание: Если необходимо использовать метод проверки внешнего файла через сумму MD5 (который описан в 5 версии руководства от Kindly) для запуска инсталлятора, то понадобится калькулятор хеша MD5, калькулятор сумм MD5, SHA-256, CRC32. Если требуется узнать, какие ключи реестра меняет та или иная программа, используйте RegShot. Чтобы растянуть фоновый рисунок на весь экран, в версии Inno Setup 5.1.10 и выше используйте этот код.

Дополнительные утилиты для Inno Setup


Мощная надстройка для Inno Setup, при помощи которой создавать свои инсталляторы становится очень просто.
 
Последний релиз: 5.3.0 [07.04.2009]
Скачать | зеркало || Русификатор | зеркало

Простой мастер создания скрипта для установки одной или нескольких игр. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации.
 

Прежнее название ScriptMaker. Удобная оболочка для облегчения написания скриптов установки для Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
 
Последний релиз: 1.0.3.1 [23.03.2008]
Скачать | обновить (нужен QuickStartPack 5.2.3)

Распаковщик инсталляторов, созданных с помощью Inno Setup, начиная с версии 3.0.0-beta по 5.2.4. Извлекает ресурсы и скрипт установки (без секции Code). К Total Commander или FAR подключается с помощью MultiArc плагинов.
 
Последний релиз: 0.21 [21.04.2009]
Скачать | Расширенная версия (с поддержкой русского языка)
 

Программа для создания и добавления в инсталлятор кастомных скинов. Изменить можно практически любой элемент окна.
Инструкция по добавлению нужных кусков кода в скрипт (английский язык).
 
Последний релиз: 2.0.0.0 [18.09.2008]
Скачать | Зеркало

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

Объёмные скрипты или части кода заключайте в тег more, чтобы ваш вопрос в сообщении не затерялся среди множества строк прилагаемого скрипта.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:26 29-12-2008 | Исправлено: boss911, 17:49 15-05-2009
Jetr0

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

Код:
 DefaultDirName={reg:HKLM\SOFTWARE\7-Zip,Path}  

вот так, а дописывать ="C:\Program Files\7-Zip" и тд не нужно.

Всего записей: 69 | Зарегистр. 09-01-2009 | Отправлено: 11:05 18-02-2009
milwaukeeman



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

Код:
DefaultDirName={reg:HKLM\SOFTWARE\7-Zip,Path}

Всего записей: 136 | Зарегистр. 17-02-2009 | Отправлено: 11:14 18-02-2009
SotM



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
milwaukeeman
Ты хоть элементарные вещи сначала бы почитал...
 
Тебе ведь добрые люди написали выше. Зачем переспрашивать по сто раз?  
 
DefaultDirName={reg:HKLM\SOFTWARE\7-Zip, Path}
 
И переменная Path будет уже содержать "C:\Program Files\7-Zip".

Всего записей: 966 | Зарегистр. 28-11-2006 | Отправлено: 11:27 18-02-2009
milwaukeeman



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

Всего записей: 136 | Зарегистр. 17-02-2009 | Отправлено: 11:28 18-02-2009
Jetr0

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Два листа назад я попросил помощи, но так никто и не помог. Напишу еще раз:
 
Есть софтина, при её установке создается ветвь реестра

Код:
 HKLM\SOFTWARE\programname\1  

в которой ключ Path содержит путь к программе. Но иногда приходится ставить несколько копий программы, а при этом данный ключ заменяется на новый, по этому при установке второй копии программы нужно чтобы в реестре создавалась ветвь уже с цифрой 2:

Код:
 HKLM\SOFTWARE\programname\2  

потом 3, 4, и тд.
 
Но и это не все. Во время установки создается конфиг с путями программы, с настройками и тд, кодом:

Код:
 procedure CurStepChanged(CurStep: TSetupStep);
var
S: String;
begin
If CurStep=ssPostInstall then
begin
S := ExpandConstant('{app}')
StringChangeEx(S, ':\', ':\|', True);
SaveStringToFile(ExpandConstant('{app}')+'\config.ini', 'INSTALLATION_NUMBER=1' + #13, true);  

В конфиге значение "INSTALLATION_NUMBER=?" должно соответствовать цифре в ветке реестра, тоесть здесь - HKLM\SOFTWARE\programname\?.
 
Помогите с кодом. Первая часть важнее всего, со второй может и сам разберусь, так как она зависит от первой части.

Всего записей: 69 | Зарегистр. 09-01-2009 | Отправлено: 12:05 18-02-2009 | Исправлено: Jetr0, 12:08 18-02-2009
noiseless

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jetr0
А если программа использует этот путь для чего-то? И ищет в реестре именно этот путь? Т.е. с другим путем она работать не будет.

Всего записей: 182 | Зарегистр. 06-02-2006 | Отправлено: 12:18 18-02-2009 | Исправлено: noiseless, 12:19 18-02-2009
Jetr0

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
noiseless
Нет, все правильно, каждая новая копия программы должна иметь номер ветки больше за предыдущую. Этот путь используется для установки обновлений. Обновление цепляется к ветке "HKLM\SOFTWARE\programname\", потом считывает во всех ветках типа 1, 2, 3 и тд,  путь к установленным копиям программы.

Всего записей: 69 | Зарегистр. 09-01-2009 | Отправлено: 12:56 18-02-2009
milwaukeeman



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите есть в этом мире программа снимка реестра рабочая*
regshot 1.7 в Vista 64 зависает.
версия 2.0 создает пустые ключи\
что делать?

Всего записей: 136 | Зарегистр. 17-02-2009 | Отправлено: 12:59 18-02-2009
noiseless

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jetr0
Просто хочется понять как это происходит "ручками"
Вот берется дистрибутив и устанавливается. При этом создается ветка в реестре "HKLM\SOFTWARE\programname\1", так? Потом если второй раз запустить ту же установку, она что предложит? Удалить установленную программу или же установить в ту же директорию и при этом новая ветка в реестре создатся или перезапишет старую (т.е. обновит)?
 
milwaukeeman
Не тот раздел однако
RegMon попробуй

Всего записей: 182 | Зарегистр. 06-02-2006 | Отправлено: 13:58 18-02-2009 | Исправлено: noiseless, 14:06 18-02-2009
EagleSH

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
milwaukeeman
забудь про слепки в х64 системе, сам перепробывал кучу подобных программ, ни одна не работает в ней, поэтому когда мне нужно - с образа восстанавливаю х32...

Всего записей: 318 | Зарегистр. 20-12-2005 | Отправлено: 14:30 18-02-2009
Qarma

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди помогите, что тут нужно сделать чтобы архив 7z разархивировался, где прописать его путь?
Вот скрипт:
 
[Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
Compression=lzma/ultra64
OutputDir=C:\test
[Languages]
Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl"
 
 
[Files]
Source: c:\Fraps\*; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: c:\is7z.dll; DestDir: {tmp}; Flags: dontcopy
Source: c:\InnoCallback.dll; DestDir: {tmp}; Flags: dontcopy
 
[Icons]
Name: "{group}\Óäàëèòü"; IconFilename: "{app}\unins000.exe"; Filename: "{app}\unins000.exe"
 
[Code]
type
  TProc=procedure(HandleW, msg, idEvent, TimeSys: LongWord);
var
ProgressBar : TNewProgressBar;
TimerID: LongWord;
pfunc: LongWord;
Label1:tlabel;
 
function WrapTimerProc(callback:TProc; paramcount:integer):longword; external 'wrapcallback@files:innocallback.dll stdcall';
function SetTimer(hWnd: LongWord; nIDEvent, uElapse: LongWord; lpTimerFunc: LongWord): LongWord; external 'SetTimer@user32.dll stdcall';
function KillTimer(hWnd: LongWord; nIDEvent: LongWord): LongWord; external 'KillTimer@user32.dll stdcall';
procedure Extract7z (hWnd: THandle; fpath,sourceDir:pchar); external 'Extract7z@files:is7z.dll stdcall';
function progress:integer; external 'progress@files:is7z.dll stdcall';
function progressmax:integer; external 'progressmax@files:is7z.dll stdcall';
 
procedure OnTimer(HandleW, msg, idEvent, TimeSys: LongWord);
begin
 progressbar.Max:=progressmax;
 progressbar.Position:=progress;
end;
 
 
procedure InitializeWizard();
begin
  ProgressBar := TNewProgressBar.Create(WizardForm);
  label1:=Tlabel.Create(WizardForm);
  with WizardForm.ProgressGauge do
    begin
      ProgressBar.Left := Left;
      ProgressBar.Top := Top + ScaleX(55);
      ProgressBar.Width := Width;
      ProgressBar.Height := Height;
      ProgressBar.Parent := WizardForm.InstallingPage;
      ProgressBar.Position := 0;
      label1.parent:=WizardForm.InstallingPage;
      label1.top:=Top + ScaleX(35);
      label1.caption:='Ðàñïàêîâêà ôàéëîâ...';
    end;
end;
 
procedure CurStepChanged(CurStep: TSetupStep);
begin
  If CurStep=ssPostInstall then
   begin
    pfunc:=WrapTimerProc(@OnTimer, 4)
    TimerID:=SetTimer(0, 0, 200, pfunc)
    Extract7z (wizardform.handle, ExpandConstant('{src}') + '\files.7z', ExpandConstant('{app}'));
   end
end;
 
procedure CurPageChanged(CurPageID: Integer);
begin
  If CurPageID=wpFinished then KillTimer(0, TimerID);
end;
 
 
ВСЁ, ПОНЯЛ, ПОМОЩИ НЕ НАДО

Всего записей: 288 | Зарегистр. 18-02-2009 | Отправлено: 14:53 18-02-2009 | Исправлено: Qarma, 15:05 18-02-2009
Jetr0

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
noiseless
Дело в следующем - мне пришлось перепаковывать программу, так как во первых программа, которая была в стандартном инсталлере (собраном на wise installer) почти годичной давности, поэтому очень устарела, а если обновлять до актуальной версии, то на это уйдет почти 4 часа на нормальной системе, так как обновления выходят где-то раз в неделю,  бывает и чаще, поэтому их ну очень много, а если еще и в нескольких копиях ставить... Потом нам приходится работать с людьми, и разными организациями, которые должны использовать данную программу. Так как её настройка очень сложна для среднестатистического юзера, то они тащат системник ко мне, или еще хуже меня отправляют переться через пол города устанавливать и настраивать программу. А по стандарту в большинства или пень третий, или вообще 486, то здесь приходится почти двое суток над ним плясать с бубном, в перерывах перегружая комп. Меня это ну очень достало поэтому я собрал свой инсталятор на Inno, с актуальной версией программы, которую постоянно обновляю, с установленными всеми конфигами, и простом инсталяторе на 4 окна.
Стандартный инсталятор создавал новую ветку, а на Инно просто перезаписывет ту, что уже есть. Вот это мне и нужно исправить.

Всего записей: 69 | Зарегистр. 09-01-2009 | Отправлено: 15:27 18-02-2009
Qarma

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

Цитата:
Помогите пожалуйста это реализовать (то что обведено в красную рамку)  

skeptik_vdm
 
Смотрите тут
 

Цитата:
Наверное имелись ввиду те, где используется freearc(+precomp), там идет прогресс распаковки в отдельный прогрессбар. Вот мне бы тоже было интересно посмотреть на такой скриптик.

de_MAX
Могу полный скрипт дать....с прогресс баром и всякими чтучками

Всего записей: 288 | Зарегистр. 18-02-2009 | Отправлено: 16:41 18-02-2009 | Исправлено: Qarma, 16:52 18-02-2009
Yoldosh



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пожалуйста подскажите как сделать так чтобы картинка в левом углу с разрешением 164Х314 отображался на весь экран инсталлятора полностью или любая другая картинка с любым разрешением?!? заранее спасибо за помощ!

Всего записей: 98 | Зарегистр. 21-01-2009 | Отправлено: 17:14 18-02-2009
Qarma

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

Цитата:
Пожалуйста подскажите как сделать так чтобы картинка в левом углу с разрешением 164Х314 отображался на весь экран инсталлятора полностью или любая другая картинка с любым разрешением?!? заранее спасибо за помощ!

Тоже интересует....подскажите

Всего записей: 288 | Зарегистр. 18-02-2009 | Отправлено: 17:18 18-02-2009
Studio13_OutlaW



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как сделать, чтобы после нажатия определенной кнопки, например, Button1OnClick...пользователь сраззу переходил к странице Финиша или полностью окно установки закрывалось...(такую же функцию надо как у и cancelonclick)
 
procedure Button1OnClick(Sender: TObject);
 
 
 begin
   if MsgBox('Ты действительно хочешь выйти?', mbError, MB_YESNO) = idYes then
   begin
 
   
    тут что-то списать наверно надо
     
     
   end;
   end;
 

Всего записей: 40 | Зарегистр. 04-02-2009 | Отправлено: 17:34 18-02-2009
skeptik_vdm



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Qarma
Спасибо большое очень РАД!!!
А на счет полного скрипта со всякими штучками я б тоже не отказался!!!

Всего записей: 316 | Зарегистр. 10-11-2008 | Отправлено: 17:50 18-02-2009
de_MAX



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

Цитата:
Могу полный скрипт дать....с прогресс баром и всякими чтучками

Давай конечно)

Всего записей: 129 | Зарегистр. 28-01-2006 | Отправлено: 17:55 18-02-2009
Qarma

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот мой скрипт, только там нужны прочие компоненты - dll и картинки, там много лишного конечно....
Подробнее...
 
Кто нибудь смотрел скрипт? Отпишитесь что там не так как надо

Всего записей: 288 | Зарегистр. 18-02-2009 | Отправлено: 18:03 18-02-2009 | Исправлено: Qarma, 18:17 18-02-2009
Yoldosh



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пожалуйста подскажите как сделать так чтобы картинка в левом углу с разрешением 164Х314 отображался на весь экран инсталлятора полностью или любая другая картинка с любым разрешением?!? заранее спасибо за помощ!

Всего записей: 98 | Зарегистр. 21-01-2009 | Отправлено: 18:17 18-02-2009
   

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru

Рейтинг.ru