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

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

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

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

   

Widok



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

Это мощное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно создавать свои страницы, используя Inno Setup Form Designer.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта.  
 
Последний релиз: 5.2.3 [10.03.2008]
История версий | скачать | все сборки || Скачать Preprocessor | все сборки
 
Русификатор от NightW0lf для версии 5.2.0
Скачать | зеркало
 
Русская справка к версиям 5.0.xx
Скачать | зеркало || cкачать в .chm формате
И снова BagIra на высоте
 
Руководство по расширенным возможностям Inno Setup 5 (не для чайников) от Kindly
Версия 5.1 скачать || версия 5 скачать|зеркало || версия 4 скачать|зеркало || версия 3 скачать|зеркало
 
Inno Setup Extensions Knowledge Base (содержит ответы на многие вопросы)
Новая версия (Web-интерфейс) || Старая chm-версия скачать | зеркало
 
Corona Skin & Check System Requirements от Victor_Dobrov
Скачать скрипт | зеркало | скриншот | описание | старая версия | InnoSetup Upgrade | Слайд-шоу
Обложка для Inno Setup. Сделает инсталлятор более симпатичным и добавляет расширения: Проверка минимальных требований. Расширенный прогрессбар. Расчёт времени до завершения распаковки. Список дисков. Слайдшоу или AVI-файл в фоновом окне. Компактный режим установки. Деинсталляция неучтённых файлов. Экран справки/скриншота. Медиаплеер и многое другое...
 
Примечание: начиная с версии 5.1.10 в Inno Setup при использовании в инсталляторе фонового изображения формата BMP стало глючить возможность растягивания картинки на весь экран - чтобы исправить добавьте этот код.
Если необходимо использовать метод проверки внешнего файла через сумму MD5 (который описан в 5 версии руководства от Kindly) для запуска инсталлятора, то понадобится калькулятор хеша MD5, калькулятор сумм MD5, SHA-256, CRC32. Если требуется узнать, какие ключи в реестр вносит та или иная программа, то понадобится RegShot.


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


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

Распаковщик установок, сделанных с помощью Inno Setup. При распаковке извлекаются  ресурсы и скрипт установки (немного усечённый). Возможно подключение к Total Commander или FAR с помощью MultiArc плагинов.
Поддерживает распаковку инсталляторов, сделанных с помощью Inno Setup начиная с версии 3.0.0-beta по 5.2.3
 
Последний релиз: 0.20 [23.05.2008] New
Скачать  
 

Удобная оболочка для облегчения написания скриптов установки для Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
 
Последний релиз: 1.0.3.1 [23.03.2008]
Скачать | обновление | изменения
Примечание: обновление ставится только на Inno Setup Quickstartpack 5.2.3.
 
Старая версия [ScriptMaker 5.1.6.9 от 09.07.2006]
Русификатор версии 5.1.5 от GloThin | зеркало | зеркало | зеркало пароль: ruboard

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

Длинные куски кода помещайте под тегом more, дабы дать возможность знатокам Inno Setup прочитать сам вопрос, а не пролистывать бесконечно длинные листинги скриптов в посте.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 17:33 25-09-2007 | Исправлено: juvaforza, 13:39 24-05-2008
boss911



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

Цитата:
TButton заменён на TNewButton, не заметил?

Да откуда мне такое заметить. Говорю же, далек от этого (програмирование).
 
Поменял клас, теперь вроде все ок, только вот после деинсталляции вылазит окно, что приложение было полностью удалено с вашего компьютера или он и было, я уже не помню. Спасибо, но на этом я заканчивать не хочу, ты уж прости, смотри ПМ.

Всего записей: 3704 | Зарегистр. 29-01-2005 | Отправлено: 03:34 24-05-2008
alfonser



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

Код:
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
 If CurStep=ssDone
 then
 begin
function  FileCopy(ExpandConstant('(src}\Patch_1200\wkwin32.DLL'), ExpandConstant('{reg:HKLM\SOFTWARE\WIBU-SYSTEMS\WIBU-KEY\Setup\Applications\{{00060000-0000-1004-8002-0000C06B5161%7d,SourcePath}'), True);
end;

Выдает ошибку  в строке function !

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 19:48 24-05-2008 | Исправлено: alfonser, 21:07 24-05-2008
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alfonser
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
 If CurStep=ssDone
 then
 begin
FileCopy(ExpandConstant('(src}\Patch_1200\wkwin32.DLL'), ExpandConstant('{reg:HKLM\SOFTWARE\WIBU-SYSTEMS\WIBU-KEY\Setup\Applications\{{00060000-0000-1004-8002-0000C06B5161%7d,SourcePath}'), True);
end;
end;

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 21:19 24-05-2008
alfonser



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Sampron
Спасибо, получилось!
А если я поставлю

Код:
FileCopy(ExpandConstant('(src}\Patch_1200\*').......

Я подхвачу все файлы из этой папки, или вводить по отдельности?

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 21:26 24-05-2008
alfonser



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

Цитата:
Переделал 5 скинов InstallShield и добавил ещё 5 забираем здесь:  
http://data.cod.ru/901414346  
Изменения:  
Из скриптов удалены ненужные для редактирования строки, решена проблема с цветом текста кнопок переключения на странице лицензии и чек-бокса на странице программной группы, и самое главное на стандартные кнопки наложены текстуры в формате bmp. Чистые текстуры кнопок без текста также идут в комплект.  
 
 

Можно перезалить?

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 16:13 25-05-2008
chelobey

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вопрос простой, кажется, но как воплотить ответ в код не соображу.
в секции [Registry]
Root: HKLM; SubKey: SOFTWARE\tra; ValueType: string; ValueName: InstallDirectory; ValueData:  ?
вместо знака вопроса нужно вставить место расположения файла (Path\Path) без указания диска. то есть, результат будет такой же как при {app}, но без, положим, С:\

Всего записей: 78 | Зарегистр. 31-05-2007 | Отправлено: 16:42 25-05-2008
serg_aka_lain

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
chelobey
 
Примерно так:
 
Root: HKLM; SubKey: SOFTWARE\tra; ValueType: string; ValueName: InstallDirectory; ValueData: {code:GetFullPathWithoutDrive};
 
Коде:
 
function GetFullPathWithoutDrive(Param: String): String;
begin
  Result := Copy(ExpandConstant('{app}'), 4 , Length( ExpandConstant('{app}') ));
end;

Всего записей: 340 | Зарегистр. 13-01-2007 | Отправлено: 17:32 25-05-2008
alfonser



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

Код:
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
 If CurStep=ssDone
 then
 begin
FileCopy(ExpandConstant('(src}\Patch_1200\ArchiCAD.exe.BAK'), ExpandConstant('{reg:HKLM\SOFTWARE\WIBU-SYSTEMS\WIBU-KEY\Setup\Applications\{{00060000-0000-1004-8002-0000C06B5161%7d,SourcePath}'), False);
FileCopy(ExpandConstant('(src}\Patch_1200\wkwin32.DLL'), ExpandConstant('{reg:HKLM\SOFTWARE\WIBU-SYSTEMS\WIBU-KEY\Setup\Applications\{{00060000-0000-1004-8002-0000C06B5161%7d,SourcePath}'), False);
FileCopy(ExpandConstant('(src}\Patch_1200\ArchiCAD.exe'), ExpandConstant('{reg:HKLM\SOFTWARE\WIBU-SYSTEMS\WIBU-KEY\Setup\Applications\{{00060000-0000-1004-8002-0000C06B5161%7d,SourcePath}'), False);
end;
end;
function NeedRestart(): Boolean;
begin
   Result:=True;
end;
 

Помогите разобраться почему не работает этот код?
Моя задача в конце установки  программы скопировать файлы  wkwin32.DLL, и т.д. в каталог полученный из значения реестра {reg:HKLM\SOFTWARE\WIBU-SYSTEMS\WIBU-KEY\Setup\Applications\{{00060000-0000-1004-8002-0000C06B5161%7d,SourcePath}. Если они есть в этой папке-заменить или добавить если нет.
Программа устанавливается, но копирование не происходит. Появляется окно о перезагрузке и всё.

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 18:56 25-05-2008 | Исправлено: alfonser, 19:22 25-05-2008
chelobey

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

Цитата:
function GetFullPathWithoutDrive(Param: String): String;
begin
  Result := Copy(ExpandConstant('{app}'), 4 , Length( ExpandConstant('{app}') ));
end;

 
спасибо

Всего записей: 78 | Зарегистр. 31-05-2007 | Отправлено: 19:49 25-05-2008
elapse



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
alfonser, имеем:
ExpandConstant('(src}\Patch_1200\ArchiCAD.exe.BAK')
Надо:
ExpandConstant('{src}\Patch_1200\ArchiCAD.exe.BAK')
Справку почитать очень сложно. А, она же на английском. Пофигу. Давайте постить фигню. Ага.

Всего записей: 95 | Зарегистр. 23-02-2008 | Отправлено: 19:58 25-05-2008
alfonser



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
elapse
Спасибо!
 Это чистая опечатка. Я даже не обратил на это внимание.Думал ошибка в чем-то другом.
Еще раз спасибо!

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 21:11 25-05-2008
Diawer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Появилась мысль, помогите реализовать.
Как сделать на странице где происходит выбор создания ярлыка на рабочем столе ещё один пункт, создавать или нет деинсталлятор, то есть если стоит галочка, то деинсталлятор создаётся, а если нет то всё что к нему относится, не создается, включая реестр. (Типа Uninstallable=yes – no)
 

Всего записей: 180 | Зарегистр. 08-05-2007 | Отправлено: 21:51 25-05-2008
alfonser



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите в каком файле находятся параметры скина, выбранного по умолчанию?
Конкретно интересует параметры BeveledLabel

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 21:53 25-05-2008 | Исправлено: alfonser, 22:09 25-05-2008
serg_aka_lain

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Diawer
Вот простенькое (даже примитивное) решение
Подробнее...
 
Добавлено:
alfonser

Цитата:
Подскажите в каком файле находятся параметры скина, выбранного по умолчанию?  

 
Не очень понятно, о чём ты?
Если о надписи в левом нижнем углу то
Messages
BeveledLabel=InnoSetup

Всего записей: 340 | Зарегистр. 13-01-2007 | Отправлено: 00:15 26-05-2008 | Исправлено: serg_aka_lain, 00:36 26-05-2008
alfonser



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

Цитата:
Не очень понятно, о чём ты?  
Если о надписи в левом нижнем углу то  

Это я в курсе.Мне хотелось бы сместить эту надпись и изменить цвет шрифта.Я понял как это делается в скинах от kindly, но где файл параметров стандартного скина не найду.

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 00:47 26-05-2008
serg_aka_lain

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alfonser
 
Как от Kindly я не знаю,
А по умолчанию её расположение примерно такое
 
procedure InitializeWizard();
begin
  with WizardForm do
  begin
    with BeveledLabel do
    begin
      Left := 0;
      Top := 306;
      Width := 5;
      Height := 14;
      Font.Style := [fsBold];
      Caption := ' InnoSetup ';
      Enabled := False;
    end;
  end;
end;

Всего записей: 340 | Зарегистр. 13-01-2007 | Отправлено: 01:07 26-05-2008
alfonser



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
serg_aka_lain
Спасибо, попробую! А где ты нашел эти данные?

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 01:33 26-05-2008
alfonser



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите, можно ли из пути установки, взятого из реестра, исключить последнее значение?
Т.е. есть значение реестра: [HKEY_CURRENT_USER\Software\Graphisoft\ArchiCAD\ArchiCAD 11.0.0 RUS R1]
@="C:\\1\\ArchiCAD 11\\ArchiCAD.exe"

и путь установки определяется как C:\1\ArchiCAD 11\ArchiCAD.exe
А мне надо C:\1\ArchiCAD 11.
Возможно ли такое?

Всего записей: 137 | Зарегистр. 01-03-2008 | Отправлено: 13:33 26-05-2008
SotM



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
alfonser
Ответ: можно.
Есть такие функции:  
function ExtractFileExt(const FileName: string): String;
function ExtractFileDir(const FileName: string): String;
function ExtractFilePath(const FileName: string): String;
function ExtractFileName(const FileName: string): String;
function ExtractFileDrive(const FileName: string): String;
function ExtractRelativePath(const BaseName, DestName: String): String;
в Help'е про них написано.
 
All:
Есть такая часть скрипта:

Код:
 
[Tasks]
Name: desktopicon; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}";
Name: desktopicon\common; Description: "{cm:ForAllUsers}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: exclusive
Name: desktopicon\user; Description: "{cm:ForCurrentUser}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: exclusive unchecked
Name: russian; Description: "&Russian"; Flags: unchecked
 

 
Цель: создать группу в меню "Программы", но в зависимости от выбранных пунктов, эта группа должна создаваться либо в {userprograms} либо в {commonprograms}.
 
В секции Setup:
DefaultGroupName={code:GetGroupName}
 
Хе, в просторах интернета всё таки сам нашел ответ на свой вопрос. В секции [code] ничего делать не надо, можно и так сделать:

Код:
 
[Icons]
Name: "{commondesktop}\{#AppName}"; Filename: "{app}\{#MainExeName}"; Tasks: desktopicon\common; WorkingDir: "{app}";
Name: "{commonprograms}\{#MainGroup}\{#AppName}"; Filename: "{app}\{#MainExeName}"; Tasks: desktopicon\common; WorkingDir: "{app}";
Name: "{userdesktop}\{#AppName}"; Filename: "{app}\{#MainExeName}"; Tasks: desktopicon\user; WorkingDir: "{app}";
Name: "{userprograms}\{#MainGroup}\{#AppName}"; Filename: "{app}\{#MainExeName}"; Tasks: desktopicon\user; WorkingDir: "{app}";
 

 
Т.е. где галочки будут поставлены на странице Tasks, соответственно им и будут установлены иконки.

Всего записей: 965 | Зарегистр. 28-11-2006 | Отправлено: 15:11 26-05-2008 | Исправлено: SotM, 23:10 26-05-2008
KurtWagner



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как сделать так?  http://htrtwagner.wen.ru/Simpsons.jpg "копирования новых файлов" потом "выгрузка видео файлов" после "выгрузка аудио файлов" и т.д. ЗАРАНЕЕ СПАСИБО!!!
 
Добавлено:
ПОПРАВКА http://kurtwagner.wen.ru/Simpsons.jpg

Всего записей: 90 | Зарегистр. 02-01-2008 | Отправлено: 03:37 27-05-2008
   

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru