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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Chanka

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri,
 
Есть какие-нибудь продвижения с тем, что я у тебя спрашивал по лич. сообщению?

Всего записей: 208 | Зарегистр. 24-08-2006 | Отправлено: 22:02 23-12-2006
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
maxdddca123
Примерно так:
NewCheckListBox1.AddCheckBox(Names[I], Value[I], 0, True, True, False, False, nil);
 
Chanka -- пока нет времени.

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

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

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

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

Цитата:
NewCheckListBox1 := TNewCheckListBox.Create(Page);  
with NewCheckListBox1 do  
begin  
  Parent := Page.Surface;  
  Left := ScaleX(0);  
  Top := ScaleY(40);  
  Width := ScaleX(413);  
  Height := ScaleY(181);  
  TabOrder := 0;  
end;  
-- я не совсем понял, причем тут это. Думаю тебе надо следующее:

Код:
 
[Code]
var
  Names: TArrayOfString;
  Value: TArrayOfString;
  Page: TInputOptionWizardPage;
 
procedure InitializeWizard();
var
  I: Integer;
  S: String;
begin
Page := CreateInputOptionPage(wpWelcome,
  'Выберите компоненты', 'Какие компоненты хотите установить?',
  'Выберите необходимые компоненты и нажмите далее.',
  False, True);
 
  if RegGetValueNames(HKEY_CURRENT_USER, 'Software\Microsoft\Windows\CurrentVersion\Themes', Names) then
    begin
      SetArrayLength(Value,GetArrayLength(Names));
        for I := 0 to GetArrayLength(Names)-1 do
          begin
            RegQueryStringValue(HKEY_CURRENT_USER,  'Software\Microsoft\Windows\CurrentVersion\Themes',  Names[I], Value[I]);
            Page.CheckListBox.AddCheckBox(Names[I], Value[I], 0, True, True, False, False, nil);
          end;
    end else
  begin
    MsgBox('ошибка', mbInformation, MB_OK);
  end;
end;
 


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

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Супер ! Хотя я сделал вот так:
 
  NewCheckListBox1 := TNewCheckListBox.Create(Page);
   
  with NewCheckListBox1 do
  begin
    Parent := Page.Surface;
    if RegGetValueNames(HKEY_CURRENT_USER, 'Software\1C\1Cv7\7.7\Titles', Names) then
    begin
      SetArrayLength(Value,GetArrayLength(Names));
        for I := 0 to GetArrayLength(Names)-1 do
          begin
            RegQueryStringValue(HKEY_CURRENT_USER,  'Software\1C\1Cv7\7.7\Titles',  Names[I], Value[I]);
            S:=S + Value[I]+ ' - ' + Names[I] +  #10#13;
           
    NewCheckListBox1.AddCheckBox(Names[I], Value[I], 0, True, True, False, False, nil);
    Left := ScaleX(0);
    Top := ScaleY(40);
    Width := ScaleX(413);
    Height := ScaleY(190);
    TabOrder := 0;
 end;
          end;
  end;
 
Ну и теперь самое сложное: нужно, что бы файлы, которые я засунул в проект, распаковывались в те папки (поочереди наверно), которые отмечены галочками. Жду помощи и примного благодарен !

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

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

Цитата:
For example we have some update of the program. Update compiled with:
UseSetupLdr=no
and encrypted (password auto-paste in password page during installation and
password page clicked automatically).
Update no have uninstall, consequently we can not see the really password in
log-file unins000.dat but need extract the files used the unpacker.
I want to suggest new option for innounpacker - extract embedded files only
(they is not encrypted).
And else, multiarc setting for Total Commander not support unpacking in this
case (UseSetupLdr=no). Unpacking work only for UseSetupLdr=yes.
 
Your realized the new option?

Не особо понял твой вопрос. Если Total Commander не распаковывает файлы без SetupLdr, это проблемы его мультиарка и настроек. Вот тут прислали какое-то обновление настроек, погляди, может оно работает правильно. В фаре все ок. Сам распаковщик не требует пароля, если нужно распаковать только незашифрованные файлы.

Всего записей: 1388 | Зарегистр. 02-02-2002 | Отправлено: 23:51 23-12-2006
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
И где бы посмотреть описание NewCheckListBox1.AddCheckBox (параменты в скобках)?

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ЗЫ. Настройки для FAR деляю и проверяю сам, настройки для TC шлют юзеры, поэтому их работоспособность и актуальность не гарантируются.

Всего записей: 1388 | Зарегистр. 02-02-2002 | Отправлено: 23:53 23-12-2006
Genri

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

Цитата:
begin  
      SetArrayLength(Value,GetArrayLength(Names));  
        for I := 0 to GetArrayLength(Names)-1 do  
          begin  
            RegQueryStringValue(HKEY_CURRENT_USER,  'Software\1C\1Cv7\7.7\Titles',  Names[I], Value[I]);  
            S:=S + Value[I]+ ' - ' + Names[I] +  #10#13;  
           
    NewCheckListBox1.AddCheckBox(Names[I], Value[I], 0, True, True, False, False, nil);  
    Left := ScaleX(0);  
    Top := ScaleY(40);  
    Width := ScaleX(413);  
    Height := ScaleY(190);  
    TabOrder := 0;  
 end;

-- т.е. если у тебя пять параметров в Names, то ты пять раз выставляешь Left := ScaleX(0); и нижеследующие ? Дело твое.
 

Цитата:
где бы посмотреть описание .... AddCheckBox
-- как всегда. в хелпе. раздел Support Classes Reference. если коротко, то:
 
function AddCheckBox(const ACaption, ASubItem: String; ALevel: Byte; AChecked, AEnabled, AHasInternalChildren, ACheckWhenParentChecked: Boolean; AObject: TObject): Integer;
 
function AddGroup(ACaption, ASubItem: String; ALevel: Byte; AObject: TObject): Integer;
 
function AddRadioButton(const ACaption, ASubItem: String; ALevel: Byte; AChecked, AEnabled: Boolean; AObject: TObject): Integer;
 
 

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

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

Цитата:
-- т.е. если у тебя пять параметров в Names, то ты пять раз выставляешь Left := ScaleX(0); и нижеследующие ? Дело твое.

А если end поставить после   NewCheckListBox1.AddCheckBox то норма будет ?
 
И пожалуйста помоги с последним вопросом самым главным:
нужно, что бы файлы, которые я засунул в проект, распаковывались в те папки (поочереди наверно), которые отмечены галочками. Как это сделать ?
Причём я поставил CreateAppDir=false

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

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

Цитата:
теперь самое сложное: нужно, что бы файлы, которые я засунул в проект, распаковывались в те папки (поочереди наверно), которые отмечены галочками
-- опять ошибаешься. Самое сложное - понять чего же ты хочешь  
Из твоего поста, понятно, что надо взять первый файл и засунуть его в первую отмеченную папку (причем не важно какая папка, главное - отмечена), потом взять второй и засунуть его во вторую отмеченную и т.д.  
 
Найми постановщика задач. На трафике сэкономишь

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

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Genri
Ладно, попробую ещё раз обьяснить общий смысл задания:
значит есть файлы с обновлением, которые нужно распаковать. У пользователя на компе установлено несколько баз, которые прописаны в реестре. Программа установки вместо страницы выбора папки извлечения (она ненужна т.к. папок для извлечения может быть несколько, CreateAppDir=false), рисует форму, в которой пользователь галками выбирает те базы, куда нужно распаковать файлы. Если галка отмечена, то файлы распаковываются в соответствующую папку, если нет - значит не распаковываются. Так более понятно ?
А теперь осталось только реализовать последнюю часть...

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 00:31 24-12-2006 | Исправлено: maxdddca123, 00:36 24-12-2006
patq

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

Всего записей: 5 | Зарегистр. 16-09-2006 | Отправлено: 08:25 24-12-2006
NightW0lf



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

Цитата:
Вопрос: как скачать эту тему полностью?

Нажми на надпись "Версия для печати"
 

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 11:17 24-12-2006
Kindly



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri, ну ты даешь. Это задачка по криптографии, а не распаковке, хотя и по распаковке тоже. Я в этом не разбираюсь, но насколько понимаю, ты кое-чего не запостил в скрипте, а именно функцию INTTOSTR. Как мне показалось, пароль содержит слово ISTask и еще слово Inno с которым вероятно что-то замучено в INTTOSTR. Важно то, что нужно извлечь зашифрованный файл. Извлекается в принципе просто, указывется в качестве параметра расшифрованная (не легко) строка MD5 (99086a6f4dfb9ebc731bc9b0130525cc (это и будет содержимое txt)). Итак: ты защитил инсталл от распаковки, а MD5 просто для отвода глаз, потому как если банально распаковать инсталлятор, то все "левые" проверки отлетают. Отпиши хоть, что я правильно тут сказал, инсталл еше помучаю.
 
QuickeneR
Это ты чтоль автор распаковщика?
FAR не юзаю, но новые настройки попробую.

Всего записей: 3000 | Зарегистр. 04-08-2005 | Отправлено: 13:10 24-12-2006 | Исправлено: Kindly, 13:14 24-12-2006
Genri

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

Цитата:
Как мне показалось...
 -- Да вобщем-то уже не важно. Вопрос закрыт. Я оказался прав.

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

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Как проверить отмечен CheckBox в NewCheckListBox или нет ?
 
Добавлено:
Я думаю нужно юзать
 property CHECKED: BOOLEAN INTEGER; read write;  
или
  property STATE: TCHECKBOXSTATE INTEGER; read write;  
но КАК их юзать без понятия.

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 13:41 24-12-2006
JKSerGEAnt



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

Цитата:
Я оказался прав

Нет, твой инсталл в можно раскрыть, только время потребуется. Которое мне было жалко тратить на такую ерунду.
 
Добавлено:
maxdddca123
Тебе недосуг самому посидеть и подумать? Всю ветку зафлудил простейшими вопросами.

Всего записей: 601 | Зарегистр. 13-06-2003 | Отправлено: 14:00 24-12-2006
Kindly



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

Цитата:
-- Да вобщем-то уже не важно.
Почему это? Будем ловить тогда пасс в отладчике - уже тогда не "открутишся".

Всего записей: 3000 | Зарегистр. 04-08-2005 | Отправлено: 14:04 24-12-2006
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
JKSerGEAnt
Дак я буду думать знаешь сколько ? До следующего нового года.... Поэтому и спрашиваю. Ведь форум для этого и предназначен, а не для того что бы тут сидеть и думать !

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 14:15 24-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