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

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

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

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

   

Widok



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

Это мощное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно создавать свои страницы, используя Inno Setup Form Designer.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта.  
 
Последний релиз: 5.2.3 [10.03.2008]
История версий | скачать | все сборки || Скачать Preprocessor | все сборки
 
Русификатор от NightW0lf для версии 5.2.0
Скачать | зеркало
 
Русская справка к версиям 5.0.x, автор перевода BagIra
Скачать | зеркало || cкачать в .chm формате
 
Руководство по расширенным возможностям 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-файл в фоновом окне. Компактный режим установки. Деинсталляция неучтённых файлов. Экран справки/скриншота. Медиаплеер и многое другое...
 
Примечание: Если необходимо использовать метод проверки внешнего файла через сумму MD5 (который описан в 5 версии руководства от Kindly) для запуска инсталлятора, то понадобится калькулятор хеша MD5, калькулятор сумм MD5, SHA-256, CRC32. Если требуется узнать, какие ключи реестра меняет та или иная программа, используйте RegShot. Чтобы растянуть фоновый рисунок на весь экран, в версии Inno Setup 5.1.10 и выше используйте этот код.

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


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

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

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

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

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

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

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 18:16 17-06-2008 | Исправлено: equis, 17:51 06-12-2008
GameOver

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

Всего записей: 106 | Зарегистр. 28-07-2003 | Отправлено: 22:01 01-12-2008
Diawer

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

Цитата:
Как убрать иконку (забыл как правильно назвать) которая находится в верхнем левом углу окна установки  

 
Убрать иконку в левом-верхнем углу исталлятора
[_Code]
procedure InitializeWizard();
begin
  WizardForm.BorderStyle := bsDialog;
end;
 
Сменить иконку в левом-верхнем углу исталлятора
[_Files]
Source: icon.ico; DestDir: {tmp}; Flags: dontcopy
 
[_Code]
function LoadImage(hInst: THandle; ImageName: PChar; ImageType: UINT; X, Y: Integer; Flags: UINT): THandle; external 'LoadImageA@user32.dll stdcall delayload';
 
procedure InitializeWizard;
begin
  ExtractTemporaryFile('icon.ico');
  SendMessage(WizardForm.Handle, $0080, 0, LoadImage(0,ExpandConstant('{tmp}')+'\icon.ico',1,16,16,$1010));
end;

Всего записей: 180 | Зарегистр. 08-05-2007 | Отправлено: 23:23 01-12-2008
Forslay



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я готов заплатить за этот скин, только пробейте мне его. Писать в личку или ICQ. 800056

Всего записей: 181 | Зарегистр. 15-06-2007 | Отправлено: 04:33 02-12-2008
ChVL



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Имеются два файла: file32 и file64, один из них соответственно надо отправить в директорию при x32, другой – при x64. Использую флаги:
Flags: regserver noregerror onlyifdoesntexist 32bit и
Flags: regserver noregerror onlyifdoesntexist 64bit
При инсталляции выскакивает окно:
«Внутренняя ошибка: Cannot install files to 64-bit locations on this version of Windows»
и установка прерывается.
Добавляю Check-функции:

Код:
 
[Сode]
function IsWin64: Boolean;
begin
    if IsWin64 then
  begin
    MsgBox('64-bit program files reside in: ' +
    ExpandConstant('{pf64}'), mbInformation, MB_OK);
  end;
end;
 
function NotWin64: Boolean;
begin
    if NotWin64 then
  begin
    MsgBox('32-bit program files reside in: ' +
    ExpandConstant('{pf}'), mbInformation, MB_OK);
  end;
end;

Инсталляция намертво зависает.
Что я делаю не так?

Всего записей: 1742 | Зарегистр. 18-06-2003 | Отправлено: 08:34 02-12-2008
SotM



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ChVL
А зачем рекурсивно вызываешь функции?!?! Естественно программа висеть будет!!!!!
 
skeptik_vdm
Да хоть в "DRIVER Parallel Lines", функция InitializeWizard(); или в "Transformers", функция InitializeWizard()
Скомпилируй все исходники, запусти их и посмотри если это то, что тебе нужно.
 
GameOver
Да тут люди не особо могут читать исходник скрипта на расстоянии или же читать мысли. Так что лучше выложи свое произведение, дабы все могли узреть и понять в чём суть...

Всего записей: 965 | Зарегистр. 28-11-2006 | Отправлено: 08:39 02-12-2008 | Исправлено: SotM, 08:47 02-12-2008
omals

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ChVL
[_Files]
Source: "file32" ; DestDir: "{pf}";  Flags: regserver noregerror onlyifdoesntexist; Check: (not MyIsWin64);
Source: "file64" ; DestDir: "{pf}";  Flags: regserver noregerror onlyifdoesntexist; Check: MyIsWin64;
 
[_Code]
function MyIsWin64: boolean;
begin
 if IsWin64 then  
 begin
  MsgBox('64-bit program files reside in: ' +  ExpandConstant('{pf}'), mbInformation,   MB_OK);  
 Result:=True;
 end
 else
  begin
   MsgBox('32-bit program files reside in: ' +  ExpandConstant('{pf}'), mbInformation,   MB_OK);  
  Result:=False;
  end;
end
 
Добавлено:
zhe_zho
[_Code]
var MyPath: String; //глобальная переменна, значение присвоить там где оно уже известно
 
// добавляем  
procedure CurStepChanged(CurStep: TSetupStep);
var
  StrPath: String;
begin
  if CurStep = ssDone then
  begin
    RegQueryStringValue(HKLM,'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', StrPath);
    tmpStr := ';'+ MyPath + ';';
    StrPath := StrPath + tmpStr;
    RegWriteStringValue(HKLM,'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', StrPath);
  end;
end;
 
// для корректного удаления твоего пути  
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);  
var
  StrPath, tmpStr: String;
begin
  if CurStep = ssDone then
  begin
    RegQueryStringValue(HKLM,'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', StrPath);
    tmpStr := ';'+ MyPath + ';';
    P := Pos(tmpStr, StrPath); //индекс начала вхождения твоей строки
    L := Length(tmpStr); //длинна твоего пути (строки)
    Delete(StrPath, P, L); // удаляем твою подстроку
    RegWriteStringValue(HKLM,'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', StrPath);
  end;  
end;
 
кажись так
но не уверен будет ли PATH (с твоим дополнением) рабодать до перезагрузки системы

Всего записей: 110 | Зарегистр. 04-12-2006 | Отправлено: 09:21 02-12-2008
htuos

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

Цитата:
Я готов заплатить за этот скин, только пробейте мне его

если ты про инстал left4dead, то там ручками все нарисовано. тебе никто не мешает самому так сделать
1. цвет формы поменять можно
2. текстуры на кнопки наложить можно. примеров полно
3. цвет edit'ов и цвет текста тоже не сложно менять
4. больше в нем ничего сногсшибательного нету
5. ну, и напоследок - создание этого скина обсуждалось в этой теме. и первичные заготовки скрипта, которые запросто можно довести до конечного варианта тоже здесь были выложены
так что если не лень, то найдешь и разберешься

Всего записей: 335 | Зарегистр. 06-03-2008 | Отправлено: 10:36 02-12-2008
mikutu

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возможно ли в Inno Corona Skin сделать вместо чекбокса при принятии лицензионного соглашения 2 кнопки (принять и отклонить).

Всего записей: 23 | Зарегистр. 07-05-2006 | Отправлено: 11:39 02-12-2008
GameOver

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

Цитата:
SotM
Да тут люди не особо могут читать исходник скрипта на расстоянии или же читать мысли. Так что лучше выложи свое произведение, дабы все могли узреть и понять в чём суть...  

 
Вот выложили пример скрипта, то что есть - http://rapidshare.com/files/169453511/09_photo.iss

Всего записей: 106 | Зарегистр. 28-07-2003 | Отправлено: 13:27 02-12-2008
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mikutu - вот страница Лицензионного соглашения.
 
Предложи скриншот с кнопками (не в ущерб тексту лицензии) и я переделаю скин, если твой вариант окажется удобнее.

Всего записей: 742 | Зарегистр. 27-09-2005 | Отправлено: 13:50 02-12-2008
ChVL



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
omals
Не работает. Зависает точно так же.
Вопрос: как инсталлятор узнаёт, что именно ему подсунули, х32 или х64? - Ведь весь синтаксис функций построен на том, что он это знает.

Всего записей: 1742 | Зарегистр. 18-06-2003 | Отправлено: 14:23 02-12-2008
omals

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

Цитата:
Вопрос: как инсталлятор узнаёт, что именно ему подсунули, х32 или х64? - Ведь весь синтаксис функций построен на том, что он это знает.  

А инсталятор и не знает что ему подсунули
тут уж разработчика проблема
поставить нужный файл для соответственной оськи
 
Файл хотя б помещает куда надо?
возможно проблема в флаге regserver ?
что за файлы то file32 и file64?
их нужно регистрировать?
можно попробовать ручка в cmd
regsvr32.exe file32  
и посмотреть шо даст

Всего записей: 110 | Зарегистр. 04-12-2006 | Отправлено: 15:27 02-12-2008
ChVL



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
omals
Если убрать, например, файлы для х64, то все прекрасно работает, но прога получается только для х32, при этом и Check-функции не нужны.
Файлы file32.dll и file64.dll, поэтому и флаг regserver.

Всего записей: 1742 | Зарегистр. 18-06-2003 | Отправлено: 15:50 02-12-2008
noiseless

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ChVL
Если копировал так как есть, то там есть ошибочка
 
[_Files]
Source: "file32" ; DestDir: "{pf}";  Flags: regserver noregerror onlyifdoesntexist; Check: (not MyIsWin64);
Source: "file64" ; DestDir: "{pf}";  Flags: regserver noregerror onlyifdoesntexist; Check: MyIsWin64;
 
[_Code]
function MyIsWin64: boolean;
begin
 if IsWin64 then  
 begin
  MsgBox('64-bit program files reside in: ' +  ExpandConstant('{pf}'), mbInformation,   MB_OK);  
 Result:=True;
 end
 else
  begin
   MsgBox('32-bit program files reside in: ' +  ExpandConstant('{pf}'), mbInformation,   MB_OK);  
  Result:=True;
  end;
end  

Всего записей: 182 | Зарегистр. 06-02-2006 | Отправлено: 16:30 02-12-2008
omals

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 ALL
есть ли ктото, кто хорошо знает WiX (Windows Installer XML)
и InnoSetup (хотя это не обязательно)?
ну или может порекомендовать человека (друга, знакомого), у кого есть немного свободного времени, необходимые знания и желание немного заработать  
 
пишите в личку
 
сорь за офтоп

Всего записей: 110 | Зарегистр. 04-12-2006 | Отправлено: 16:55 02-12-2008
ChVL



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Это я видел. Всё равно не катит. У самой проги железное алиби: вариант х32 работает без проблем. Всё дело только в Check-функции. Ещё странность: не понятно, что такое флаги 32bit и 64bit. В каком только сочетании я их не цеплял, что есть они, что нет их - совершенно без разницы...
 

Всего записей: 1742 | Зарегистр. 18-06-2003 | Отправлено: 17:02 02-12-2008
omals

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

Цитата:
Result:=True;  

нет, не прав
там именно False (винда не 64)
 
ChVL
непонятно
ну просто попробуй без флагов 32bit и 64bit
[_Files]  
Source: "file32" ; DestDir: "{pf}";  Flags: regserver noregerror onlyifdoesntexist; Check: (not IsWin64);  
Source: "file64" ; DestDir: "{pf}";  Flags: regserver noregerror onlyifdoesntexist; Check: IsWin64;  
своя Check-функция не нужна  
 
Check: IsWin64 - работает железобетонно

Всего записей: 110 | Зарегистр. 04-12-2006 | Отправлено: 18:30 02-12-2008
Serega0675



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте, кто-нибудь подскажет решение задачи, мой вопрос, на предыдущей странице?

Всего записей: 226 | Зарегистр. 22-06-2008 | Отправлено: 19:03 02-12-2008
ChVL



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
omals
Пробовал и так, 1:1, что Вы предлагаете. Причём, зависает сразу на кнопке "Установить", т.е. должна идти строка прогресса, а её нет - завис глухой, выход только через диспетчер задач.
Не делать же два варианта проги - для х32 и х64, это уж совсем извращение...

Всего записей: 1742 | Зарегистр. 18-06-2003 | Отправлено: 19:42 02-12-2008 | Исправлено: ChVL, 20:53 02-12-2008
omals

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

Цитата:
Здравствуйте, вот такой вопрос:  
Как сделать, чтоб при выборе компонентов, один искал путь установки из одной ветки реестра, а второй из другой ветки и если какой-то из компонентов не находил ключ с путём установки, то этот компонент нельзя было выбрать?

 
если правильно понял вопрос, то тоже через Check
 
[_Components]
Name: component1; Description: "component1"; Check: IsComponent1;
Name: component2; Description: "component2"; Check: IsComponent2;
....
 
[_Code]
function IsComponent1:boolean;
var
  er: boolean;
  ResultString: String
begin
  Result := False;
  er := RegKeyExists(HKLM, 'Моя ветка');
  if er then Result:=True; // проверили, что ветка существует
//или
  er := RegQueryStringValue(HKCU, 'Моя ветка', 'нужный саб-ключ', ResultString);
// RegQuery.... выбираем по типу данных
  if er then Result:=True; // проверили, что саб-ключ существует    
//или
  if ResultString='нужное значение' then Result:=True;
end;
 
и т.д.

Всего записей: 110 | Зарегистр. 04-12-2006 | Отправлено: 19:45 02-12-2008 | Исправлено: omals, 19:53 02-12-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 101 102 103 104

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru