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

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

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

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

   

Widok



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

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



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



 
Последний релиз: 5.2.0 [21 сентября 2007 года]
Скачать | зеркало  
(как сказано в описании изменений, добавлена поддержка новых директив 5.2.0)
 
Русификатор
Скачать | зеркало


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


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

Последний релиз: 1.0.2.11 [7 Августа 2007 года]
Скачать | обновление | Изменения
Примечание: обновление ставится только на Inno Setup Quickstartpack 5.1.13.
 
Примечание для всех участников
 
Длинные куски кода помещайте под тегом [more], дабы дать возможность знатокам Inno Setup прочитать сам вопрос, а не пролистывать бесконечно длинные листинги скриптов в посте.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 18:01 23-04-2007 | Исправлено: Nekt, 00:33 25-09-2007
boss911



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

Цитата:
только на конкретной машине или только на конкретной машине для конкретного пользователя ?

Если сказать точнее, то на любой машине, но с конкретным именем пользователя и компьютера, то есть два обязательных параметра для проверки.
 
Припустим, что имя компьютера у меня Comp, а имя пользователя boss911, делаю следующие:

Код:
[Files]  
Source: C:\Prog\File1.cfg; DestDir: {userappdata}; Check: CheckComputerName  
Source: C:\Prog\File2.cfg; DestDir: {userappdata}  
 
[Cоde]  
function CheckComputerName(): Boolean;  
var  
  str: string;  
begin  
  Result:= Uppercase(GetComputerNameString) =  
           Uppercase('Comp');  
end;

В итоге, всегда на моей машине (Comp) копируется File2.cfg.
 
Если такое, возможно, то хотелось бы, чтоб проверка шла по двум параметрам: имя пользователя и имя компьютера, чтоб повысить надежность от совпадений.

Всего записей: 3703 | Зарегистр. 29-01-2005 | Отправлено: 19:14 15-08-2007 | Исправлено: boss911, 19:20 15-08-2007
Genri

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

Код:
 
function CheckComputerName(): Boolean;
begin
  Result:= (Uppercase(GetComputerNameString) =
           Uppercase('Comp')) and
           (Uppercase(GetUserNameString) =
           Uppercase('boss911'));
end;  

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 19:34 15-08-2007 | Исправлено: Genri, 19:35 15-08-2007
boss911



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Genri
 
Не получается, копируются сразу два файла:

Код:
[Files]  
Source: C:\Prog\File1.cfg; DestDir: {userappdata}; Check: CheckComputerName  
Source: C:\Prog\File2.cfg; DestDir: {userappdata}  

Я повторю вопрос:

Цитата:
чтоб файл File1.cfg копировался только на определенной машине (проверка имя компьютера и пользователя), а если компьютер не прошел проверку, то копируется только File2.cfg.

Короче говоря, File1.cfg должен копироваться только на моей машине, а File2.cfg НЕ должен, а на чужой машине, чтоб копировался File2.cfg, а File1.cfg НЕ должен!

Всего записей: 3703 | Зарегистр. 29-01-2005 | Отправлено: 20:22 15-08-2007
Genri

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

Код:
 
Source: C:\Prog\File1.cfg; DestDir: {userappdata}; Check: CheckComputerName
Source: C:\Prog\File2.cfg; DestDir: {userappdata}; Check: Not CheckComputerName
 


 

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 22:21 15-08-2007
CrackMe

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здраствуйте, не мог ли бы вы мне помочь, я столкнулся с маленькой проблемой, которую решаю:
делаю инсталлер под плеер, нужно чтобы в параметре присутвувало 2 параметра Tasks: один ассоциация плеера с конкретным расширением, второе ассоциация плеера со всеми расширениями определённого типа (например ассоциация только с ави или со всеми типами видео, или аасоциация с мп3 или со всеми типами аудио)
Спасибо за понимание, я расчитываю на вашу помощь, заранее спасибо

Всего записей: 711 | Зарегистр. 18-07-2006 | Отправлено: 23:14 15-08-2007
boss911



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

Цитата:
boss911 --

Я рад, что тебя повеселил.
Извиняюсь, но я плуг в программировании, так что не додумался. Спасибо, все работает как я и хотел!

Всего записей: 3703 | Зарегистр. 29-01-2005 | Отправлено: 00:49 16-08-2007
Kindly



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CrackMe, в тасках указываешь соответсвующий флаг, который указываешь для ассоциаций в секции [Registry]. Далее при установке будут прописаны в реестр ассоциации в зависимости от выбора.

Всего записей: 3000 | Зарегистр. 04-08-2005 | Отправлено: 12:54 16-08-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
3eJIeHb
Цитата:
http://forum.ru-board.com/topic.cgi?forum=5&topic=23235&start=1280#16  
Кто нить поможет или нет?
-- у меня сложилось впечатление, что эту проблему ты решил. Или я не прав ? На всякий случай :
Код:
 
[Setup]
AppName=My Program
AppVersion=3.6
AppVerName={#emit SetupSetting('AppName') + SetupSetting('AppVersion')}
DefaultDirName={pf}\My Program
 
[Files]
Source: MyProg.exe; DestDir: {app}
 
[Registry]
Root: HKLM; SubKey: Software\3eJIeHb MOD; ValueType: string; ValueName: Version; ValueData: {#SetupSetting("AppVersion")}; Flags: UnInsClearValue deletevalue
 
[Code]
function InitializeSetup(): Boolean;
var
  ResultCode: Integer;
  InstalledVersion: string;
  PrevUninstExe: string;
begin
  Result:=True;
  If RegQueryStringValue(HKLM, 'Software\3eJIeHb MOD', 'Version', InstalledVersion) then
    begin
      RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + '{#SetupSetting("AppName")}_is1', 'UninstallString', PrevUninstExe);
      If InstalledVersion > '{#SetupSetting("AppVersion")}' then
        begin
          if MsgBox('Вы устанавливаете {#SetupSetting("AppName")} версии {#SetupSetting("AppVersion")}' + #10#13 +
                    'На компьютере уже установлена {#SetupSetting("AppName")} версии ' +  InstalledVersion + #13#13 +
                    'Для продолжения установки необходимо удалить ранее установленную версию программы',
                     mbConfirmation, MB_YESNO) = idYes then
            Exec(RemoveQuotes(PrevUninstExe), '/silent', '', SW_SHOW, ewWaitUntilTerminated, ResultCode)
          else Result:= False;
        end;
    end;
end;  

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 15:56 16-08-2007
3eJIeHb



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

Всего записей: 37 | Зарегистр. 07-08-2007 | Отправлено: 16:04 16-08-2007
CrackMe

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

Код:
Root: HKLM; Subkey: "Software\Classes\.drc"; ValueType: string; ValueName: ""; ValueData: "Dirac Video file"; Flags: uninsdeletevalue ;  Tasks: Associate with Dirac Video; Tasks: Associate With Most Video Files

компилитор пишет что так нельзя, а как можно?

Всего записей: 711 | Зарегистр. 18-07-2006 | Отправлено: 17:55 16-08-2007
omals

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2CrackMe
а вот так не подойдет?
 
[Tasks]
Name: DiracVideo; Description: "Associate with Dirac Video";
Name: MostVideo; Description: "Associate With Most Video Files ";
 
[Registry]
Root: HKLM; Subkey: "Software\Classes\.drc"; ValueType: string; ValueName: ""; ValueData: "Dirac Video file"; Flags: uninsdeletevalue ;  Tasks: DiracVideo MostVideo;

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CrackMe -- по поводу тасков выше уже ответили. А по поводу ассоциаций, я бы предложил сделать чуть иначе. Ниже пример создания ассоциаций расширений ext1, ext2, ext3 с ноутпадом :

Код:
 
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
ChangesAssociations=yes
 
[Tasks]
Name: MostVideo; Description: "Most Video Files "; GroupDescription: "Associate Video Files:"
Name: MostVideo\DiracVideo; Description: "Dirac"; GroupDescription: "Associate Video Files:"
Name: MostVideo\AviVideo; Description: "AVI"; GroupDescription: "Associate Video Files:"
Name: MostVideo\MP4Video; Description: "MP4"; GroupDescription: "Associate Video Files:"
 
[Files]
Source: Files\new.ext1; DestDir: {app}
Source: Files\new.ext2; DestDir: {app}
Source: Files\new.ext3; DestDir: {app}
 
[Registry]
; .ext1
Root: HKCR; Subkey: ".ext1"; ValueType: string; ValueName: ""; ValueData: "MyProgramFile1"; Flags: uninsdeletevalue; Tasks: MostVideo\DiracVideo
Root: HKCR; Subkey: "MyProgramFile1"; ValueType: string; ValueName: ""; ValueData: "My Program File №1"; Flags: uninsdeletekey; Tasks: MostVideo\DiracVideo
Root: HKCR; Subkey: "MyProgramFile1\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{sys}\notepad.exe,0"; Tasks: MostVideo\DiracVideo
Root: HKCR; Subkey: "MyProgramFile1\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{sys}\notepad.exe"" ""%1"""; Tasks: MostVideo\DiracVideo
; .ext2
Root: HKCR; Subkey: ".ext2"; ValueType: string; ValueName: ""; ValueData: "MyProgramFile2"; Flags: uninsdeletevalue; Tasks: MostVideo\AviVideo
Root: HKCR; Subkey: "MyProgramFile2"; ValueType: string; ValueName: ""; ValueData: "My Program File №2"; Flags: uninsdeletekey; Tasks: MostVideo\AviVideo
Root: HKCR; Subkey: "MyProgramFile2\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{sys}\notepad.exe,0"; Tasks: MostVideo\DiracVideo
Root: HKCR; Subkey: "MyProgramFile2\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{sys}\notepad.exe"" ""%1"""; Tasks: MostVideo\AviVideo
; .ext3
Root: HKCR; Subkey: ".ext3"; ValueType: string; ValueName: ""; ValueData: "MyProgramFile3"; Flags: uninsdeletevalue; Tasks: MostVideo\MP4Video
Root: HKCR; Subkey: "MyProgramFile3"; ValueType: string; ValueName: ""; ValueData: "My Program File №3"; Flags: uninsdeletekey; Tasks: MostVideo\MP4Video
Root: HKCR; Subkey: "MyProgramFile3\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{sys}\notepad.exe,0"; Tasks: MostVideo\DiracVideo
Root: HKCR; Subkey: "MyProgramFile3\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{sys}\notepad.exe"" ""%1"""; Tasks: MostVideo\MP4Video
 

 
 
Добавлено:
Ах да, в секции [Files] обычные текстовые файлы с измененным расширением (просто для проверки).
 
И не забудь в секцию [Setup] добавить ChangesAssociations=yes

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 19:17 16-08-2007
omals

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 Genri
если я не ошибаюсь то для ассоциаций  
кажется нужно еще заполнить и HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.ext1\OpenWithList
там MRUList имеет большое значение
 
нужно сначала записать себя  
например будет  как g
g будет иметь значение notepad.exe
затем перезаписать MRUList
где MRUList=g+MRUList - поставить себя в начало списка
 
а при деинсталяции все нужно возвращать обратно

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
omals -- скажем так: имхо можно, но имхо не нужно
 
MRU (Most Recently Used) - последние использованные. MRUList - в данном случае, порядок последних использованных программ для открытия файлов с данным расширением (видны при выборе пункта меню "Открыть с помощью...")
 
Думаю, изменять этот список нет особой необходимости. А вот в чем я с тобой полностью согласен, так это с тем, что при удалении программы очень желательно восстановить предыдущие ассоциации. Только делать это не через MRUList (во-первых, там нет всех данных - иконка, путь; во-вторых, этот список может быть изменен пользователем), а сохраняя старые значения изменяемых ключей из реестра. Но это уже другая история

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 20:24 16-08-2007
4esnok



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди пожалуйста выложите нормально "Руководство по расширенным возможностям Inno Setup 5 от Kindly Версию 5.1" чтобы можно было скачать!

Всего записей: 68 | Зарегистр. 14-08-2007 | Отправлено: 21:49 16-08-2007
CrackMe

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kindly
omals
спасибо
Genri
судя по коду , как раз то чего я хотел, спасибо, буду тесить  - отпишусь о результатах. А как сбекапить-то, действительно, реестр перед правкой, а потом на место всё вернуть?
 
Добавлено:
4esnok
http://ifolder.ru/3028227
кто-нить может ткнуть носом в мануалл на изложенное  Genri, а то удивляет что не нашёл ?

Всего записей: 711 | Зарегистр. 18-07-2006 | Отправлено: 22:24 16-08-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CrackMe
Цитата:
кто-нить может ткнуть носом в мануалл  
--    http://www.jrsoftware.org/isfaq.php#assoc

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 22:55 16-08-2007 | Исправлено: Genri, 22:55 16-08-2007
Genri

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

Цитата:
А как сбекапить-то, действительно, реестр перед правкой, а потом на место всё вернуть?
-- зависит от ситуации. Старое значение можно сохранить в реестре или в рег-файле или в ини-файле. Здесь пример сохранения ассоциаций в реестре и восстановления при деинсталляции.

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 01:27 17-08-2007
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_Dobrov
В своём скине для пересозданного WizardForm.TypesCombo Вы используете такой способ устранения глюков с выпадающим списком:
 
WizardForm.TypesCombo.Style := csDropDown
 
//НО при использовании данного варианта:
// 1) название типа установки в выпадающем списке можно изменить или удалить, что в принципе не очень-то хорошо;
// 2) исчезает название типа установки на странице wpReadyMemo, если
// - было изменено или удалено название типа установки на странице wpSelectComponents;
// - пользователь НИ РАЗУ не щёлкнул по одному из компонентов мышью или НЕ сменил тип установки.
 
Не лучше ли попробовать:
 
WizardForm.TypesCombo.ItemIndex := 0
 
В моей системе эта команда работает правильно, к тому же лишена вышеупомянутых глюков!
 
Хотя может быть так задумано - и советовать я не могу, а может, и не должен!

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 06:21 17-08-2007 | Исправлено: iTASmania_Inc, 06:23 17-08-2007
Victor_Dobrov



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

Цитата:
Не лучше ли попробовать: WizardForm.TypesCombo.ItemIndex:= 0  

Я так делал, но тогда теряется выбор компонентов ПРЕДЫДУЩЕЙ установки.
 
Скрипт шифрования файлов, НЕ сохраняющий исходный пароль (в чистом виде или MD5-hash) в инсталлятор.
Пароль инвертируется и в таком виде принимаются компилятором. Например '0123456789' запишется как '9876543210'. Далее в скрипте при проверке выполняется обратное преобразование...

Всего записей: 742 | Зарегистр. 27-09-2005 | Отправлено: 06:39 17-08-2007 | Исправлено: Victor_Dobrov, 09:44 17-08-2007
   

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru