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

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

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

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

   

haav



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

 
 
Это мощное средство для создания установочных пакетов [дистрибутивов] программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно легко самим создавать диалоги, используя спец. дизайнер. И всё это абсолютно бесплатно! По сравнению с NullSoft [основной конкурент на бесплатной ниве] мне albel понравилась более интуитивно-понятная структура скрипта, простота в настройке.  
 
Последний релиз: 5.1.11 [1 Марта 2007 года]
История версий | скачать  
 
Русификатор от NightW0lf для версии 5.1.11  
Скачать | зеркало
 
Русская справка к версиям 5.0.xx
Скачать | зеркало || cкачать в .chm формате
И снова BagIra на высоте
 
Руководство по расширенным возможностям Inno Setup 5 [не для чайников] от Kindly
[3 версия]  
Скачать | зеркало
[4 версия]  
Скачать | зеркало
[5 версия]  
Скачать | зеркало
 
Inno Setup Extensions Knowledge Base  
Скачать | зеркало
 
Примечание: начиная с версии 5.1.10 в Inno Setup при использовании в инсталляторе фонового изображения формата BMP стало глючить возможность растягивания картинки на весь экран - чтобы это исправить добавьте этот код.
Если вы захотите использовать метод проверки внешнего файла через сумму MD5 [который описан в 5 версии руководства по программированию в Inno Setup] для запуска инсталлятора то вам понадобится калькулятор суммы MD5, калькулятор сумм MD5, SHA-256, CRC32. Если вы хотите узнать какие ключи в реестр вносит та или иная программа [или игра] то Вам понадобится RegShot.



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



ISTool
 
www.istool.org
 
Последний релиз: 5.1.8 [18 Октября 2006 года] New
Скачать | зеркало  
[как сказано в описании изменений, добавлена поддержка новых директив 5.1.8]
 
Русификатор
Скачать | зеркало


 
Распаковщик установок, сделанных с помощью Inno Setup. При распаковке извлекаются  ресурсы и скрипт установки [немного усечённый]. Возможно подключение к TotalCommander или FAR с помощью MultiArc плагинов.
 
Поддерживает распаковку инсталляторов, сделанных с помощью Inno Setup начиная с версии 3.0.0-beta по 5.1.10
 
Последний релиз: 0.19
Скачать | зеркало


 
Удобная оболочка для облегчения написания скриптов установки для INNO SETUP. Обладает некоторыми полезными функциями, которых нет ни у самого INNO, ни у ISTool.
 
Последний релиз: 5.1.6.9 [09 Июль 2006 года]
Скачать 4.2 мб | обновление 3.1 мб
 
Русификатор от GloThin
Скачать с сайта GloThin | Зеркало | Зеркало | зеркало
Пароль: ruboard
Примечание: офф. сайт косо отображается в Oper`е.
 
Новое название проекта на сайте, похоже произошла замена ScriptMaker на:
 
Inno Script Generator

Последний релиз: 1.02.5 [02 Апреля 2007 года]
Скачать | обновление
Примечание: обновление ставится только на Inno Setup Quickstartpack 5.1.11.

Всего записей: 67 | Зарегистр. 11-12-2001 | Отправлено: 15:23 09-10-2002 | Исправлено: NightW0lf, 15:16 15-04-2007
feandy



Пиво тоже компонента
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GRom V
так сделай проверку
 
if FileExists('backup.reg') then
  regedit /s backup.reg

Всего записей: 5200 | Зарегистр. 15-02-2002 | Отправлено: 11:08 28-12-2006
maxdddca123

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

Цитата:
Вот более корректный код

Вау, работает !!!  
А как тут же сделать, что бы когда ни 1 чекбокс не выбра, и юзер нажимает некст, сделать, что бы выскакивало окошко типа Выберите хотя бы 1 базу ?
 
Всё сделал, спасибо !

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 11:31 28-12-2006 | Исправлено: maxdddca123, 11:41 28-12-2006
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
maxdddca123
Цитата:
не работает
-- у меня работает. Если не выбран ни один чекбокс - кнопка Далее недоступна. Но если нужно именно предупреждение для пользователя, используй вариант feandy. Правда я не совсем понял, зачем проверять ItemCaption
 

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 12:07 28-12-2006
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
2 feandy & Genri
С этим всё разобрался. Огомное спасибо вам парни !
Теперь такая мелкая трабла: значит мне нужно проверить перед запуском наличие ветки
HKEY_CURRENT_USER, 'Software\1C\1Cv7\7.7\Titles'
С этим проблем нет, но так же надо проверить, есть ли в этой ветке какие нибудь записи.
Я пробовал так
 
function InitializeSetup(): Boolean;
var
Names: TArrayOfString;
 if not RegGetSubkeyNames(HKEY_CURRENT_USER, 'Software\1C\1Cv7\7.7\Titles', Names)
 then
begin
  MsgBox('Поиск установленных компонентов:' #13#13
  'Обновление не может быть установлено т.к. на компьютере не обнаружено баз 1С.'#13#13
  'Сначала необходимо установить хотя бы 1 базу, а только затем производить обновление !'
  , mbConfirmation, MB_OK);
Exit;
end;
Result:=True;
end;
 
Но если я удаляю все значения из HKEY_CURRENT_USER, 'Software\1C\1Cv7\7.7\Titles' (там остаётся тока значение по умолчанию какое то пустое), то эта проверка не срабатывает. Помогите как тут быть ?

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 12:23 28-12-2006 | Исправлено: maxdddca123, 12:26 28-12-2006
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
maxdddca123 -- Для разнообразия, почитай хелп.
RegKeyExists(const RootKey: Integer; const SubKeyName: String): Boolean;
RegValueExists(const RootKey: Integer; const SubKeyName, ValueName: String): Boolean;

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 12:37 28-12-2006
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Genri
Дак у меня ключ может быть 1, а может быть много, что мне прописывать в  ValueName ? Тоже массив что ли ?

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 12:42 28-12-2006
Genri

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

Код:
 
var
  Names: TArrayOfString;
  I: Integer;
  S: String;
begin
  if RegGetValueNames(HKEY_CURRENT_USER, 'Control Panel\Mouse', Names) then
  begin
    S := '';
    for I := 0 to GetArrayLength(Names)-1 do
      S := S + Names[I] + #13#10;
    MsgBox('List of values:'#13#10#13#10 + S, mbInformation, MB_OK);
  end else
  begin
    // add any code to handle failure here
  end;
end;
 

Адаптируй сам.

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 13:00 28-12-2006
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Genri
Мне ещё необходимо после распаковки запустить на выполнение последовательно все ехе файлы. Я прописал
[Run]
Filename: {code:CurrentDir|{#i}}\ExtForms\Rp06q3.grp\*.exe; StatusMsg: Распаковка форм...; Flags: runhidden
но выскакивает такая ошибка в момент, когда должна начаться распаковка:
List index out of bounds.  
Помогите как исправить пожалуйста !
 
Добавлено:
Genri

Цитата:
Адаптируй сам.

Ок, спасибо !

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 13:09 28-12-2006 | Исправлено: maxdddca123, 13:49 28-12-2006
Frenzzy



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

Всего записей: 55 | Зарегистр. 16-07-2004 | Отправлено: 13:38 28-12-2006
omals

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 Frenzzy
function DelTree(const Path: String; const IsDir, DeleteFiles, DeleteSubdirsAlso: Boolean): Boolean;
 
// Delete all files and directories inside C:\Test
  // but leave the directory itself
  DelTree('C:\Test\*', False, True, True);

Всего записей: 110 | Зарегистр. 04-12-2006 | Отправлено: 13:47 28-12-2006
Frenzzy



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

Цитата:
[Code]
function DelTree(const Path: String; const IsDir, DeleteFiles, DeleteSubdirsAlso: Boolean): Boolean;
 
begin
  DelTree('{app}\*', False, True, True);
end;

не работает, он ничего не удаляет в папке перед установкой(
 
Мне нужно чтоб перед началом распоковки файлов, инсталлятор удалил все её содержимое и только после этого начал установку (а папка для установки может быть любая - вибирается пользователем)
 
И как сделать, чтоб после удаления инсталлятора, удалилась папка {app} ?

Всего записей: 55 | Зарегистр. 16-07-2004 | Отправлено: 13:56 28-12-2006 | Исправлено: Frenzzy, 14:06 28-12-2006
omals

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 Frenzzy
 
[UninstallDelete]
Type: filesandordirs; Name: "{app}"
 
[Code]
 
// в NextButtonClick добавляеш
 
function NextButtonClick(CurPageID: Integer): Boolean;  
begin  
 
//добавить эти строчки
  if CurPageID = wpReady then  
  begin  
     if DirExists({app}) then DelTree('{app}\*', False, True, True);  
  end;  
//
 
  Result := True;  
end;
 
кажись так

Всего записей: 110 | Зарегистр. 04-12-2006 | Отправлено: 14:14 28-12-2006
Frenzzy



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ПОМОГИТЕ ПОЖАЛУЙСТА!
что-то мен сегодня вообще не везет :'(

Цитата:
Compiler Error
Disk spanning must be enabled in order to create an installation larger than 2100000000 bytes in size

Как исправить эту ошибку?
 
мне нужно чтобы дистрибутив был 1им файлом, а не разбивался на куски
общий размер всех файлов ~5гб
 

Цитата:
To optimally fill 4.7 GB recordable DVDs, use:
SlicesPerDisk=3
DiskSliceSize=1566000000
 

Всего записей: 55 | Зарегистр. 16-07-2004 | Отправлено: 14:25 28-12-2006 | Исправлено: Frenzzy, 15:16 28-12-2006
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Genri
Прописал  
[Run]
Filename: {code:CurrentDir|{#i}}\ExtForms\Rp06q3.grp\akciz5.exe; StatusMsg: Распаковка форм...; Check: NeedCopy(ExpandConstant('{#i}'))
 
ошибок не выдаёт но файл не запускается  
На всякий случай: файл это самораспаковывающийся архив винрар, Flags: shellexec не помогает

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 16:20 28-12-2006 | Исправлено: maxdddca123, 16:31 28-12-2006
omals

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

Цитата:
Цитата:Compiler Error  
Disk spanning must be enabled in order to create an installation larger than 2100000000 bytes in size  
Как исправить эту ошибку?  
мне нужно чтобы дистрибутив был 1им файлом, а не разбивался на куски  
общий размер всех файлов ~5гб  

 
никак
потому как  
максимальный Slice == 2100000000  
 
хотя можно попробовать поиграть с настройками компресии
Setup: Compression
 
ну и попробовать с [Setup]: SolidCompression=yes

Всего записей: 110 | Зарегистр. 04-12-2006 | Отправлено: 16:32 28-12-2006 | Исправлено: omals, 16:37 28-12-2006
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Genri
Причём не запускается любой ехе файл, находящийся в папке с выбранной базой... Какой бы я не указывал, архив или программа.
 
Добавлено:
Оказывается это изза Check: NeedCopy(ExpandConstant('{#i}'))...

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 16:36 28-12-2006 | Исправлено: maxdddca123, 16:42 28-12-2006
omals

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 maxdddca123  
мож там долгие имена есть, то просто попробуй с "
Filename: "{code:CurrentDir|{#i}}\ExtForms\Rp06q3.grp\akciz5.exe"; StatusMsg: Распаковка форм...; Check: NeedCopy(ExpandConstant('{#i}'))  

Всего записей: 110 | Зарегистр. 04-12-2006 | Отправлено: 16:42 28-12-2006
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
maxdddca123
Я бы очень удивился, если бы это заработало
Вверху у тебя конструкция:
[Files]  
#define MaxTarget 200  
#define i  
 
#sub AddFile  
Source: G:\Модуль контроля и формы\Модуль контроля\ISTask.dll; DestDir: {tmp}; Flags: dontcopy  
Source: G:\Модуль контроля и формы\Формы\3 квартал 2006\rp06q32\*.*; DestDir: {code:CurrentDir|{#i}}; Check: NeedCopy(ExpandConstant('{#i}'))  
#endsub  
#for {i = 0; i < MaxTarget; i++} AddFile  
 
Т.е. на это этапе препроцессор выставляет i = 200  и то, что ты прописываешь, приобретает вид только одной строки, следующего вида:
 
Filename: "{code:CurrentDir|200}\ExtForms\Rp06q3.grp\akciz5.exe"; StatusMsg: Распаковка форм...; Check: NeedCopy(ExpandConstant('200'))
 
Ну и как эта строка сработает? Клиент отметил чекбокс под порядковым номером 200? У него столько баз?

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 16:56 28-12-2006
maxdddca123

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

Цитата:
Ну и как эта строка сработает? Клиент отметил чекбокс под порядковым номером 200? У него столько баз?

Ой я уже совсем запутался... Вообще баз ну максимум 150 как я говорил, так что 200 это с запасом. С порядковым № 200 никто конечно не отмечал. Я у себя тестирую, ставлю галку на 6 базе... Дак подскажи как сделать, что бы работало, а то у меня щяс голова лопнет

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 17:08 28-12-2006 | Исправлено: maxdddca123, 17:11 28-12-2006
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Теоретически, может сработать в таком виде:
[Run]
#sub RunFile  
Filename: "{code:CurrentDir|{#i}}\ExtForms\Rp06q3.grp\akciz5.exe"; StatusMsg: Распаковка форм...; Flags: skipifdoesntexist  
#endsub  
 
#for {i = 0; i < MaxTarget; i++} RunFile  
 
... но это надо проверять. Времени нет.

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 17:26 28-12-2006
   

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru