;Пример Файла описания программы. Должен называться info.txt (регистр не важен) ;и лежать в папке с программой. Cохранять файл можно в UTF-8 с BOM или CP1251. ;формат INI. Строка комментария начинается с точки с запятой. ;любой файл описания программы начинается с этой секции [General] ;Имя программы, кирилицу писать в cp1251 или сохранять весь файл в UTF-8 с bom ;мультибайт, scsu и прочий юникод не работают Name=2Gis ;Зависимости. НЕ РЕАЛИЗОВАНО. Можно перечислять через запятую. Список приложений ;до/без которых программа не будет установлена, использовать аккуратно. Depends= ;Конфликты. Можно перечислять через запятую. Список приложений совместно с ;которыми программу устанавливать нельзя. Не забывайте делать их перекрестными! ;Если в App1 Conflicts=App2, а в App2 пусто, то при выборе сначала App1 а потом ;App2 программа честно спортизанит и даст установить оба. Conflicts= ;Дополнения. НЕ РЕАЛИЗОВАНО. Можно перечислять через запятую. Вообще планируется ;перечислять тут дополнительные компоненты программы. Для описания дополнения ;нужно создать секцию с названием дополнения. Для дополнений доступен весь ;набор свойств Execute, свойство Description, а также 2 специальных: Cheked и ;RunAfterMainProgramm, которые могут иметь значения true и false. Если ;Cheked=true то при установки флага на основную программу он так же будет ;установлен на дополнении, в противном случае флаг будет отсутвовать. Если ;RunAfterMainProgramm=true то комманды для установки дополнения будут выполнены ;после того как будет установлена основная программа, в противном случае ;дополнение будет установлено до основной программы. Кирилицу не использовать! Addons= ;Список OS, на которых программа будет проигнорирована. Можно перечислять через ;запятую. Кодовые названия X86, X64, 2000, XP, 2003, Vista, 7, 8, 8.1, 10, ;X86.XP, X86.2003, X86.Vista, X86.7, X86.8, X86.8.1, X86.10, X64.XP, X64.2003, ;X64.Vista, X64.7, X64.8, X64.8.1, X64.10, 2008, 2008R2, 2012, 2012R2 IgnoreOS= ;Наборы комманд. Выполняться будут в той последовательности в которой даны в ;данном примере Можно использовать команды из PATH например msiexec, taskkill, ;reg и т.п. В качестве рабочей директории коммандам будет передана та в которой ;лежит фал "info.txt". Путь к ней можно подставлять в комманды и параметры ;при помощи %directory%. Перетаскивать всю простыню из примера в реальный файл ;описания не надо! Скорее всего Вам будет достаточно основных семейств (см ниже) ;Можно перечислять комманды через запятую, желательно каждую комманду брать в ;кавычки. Слеши и кавычки внутри команды экранировать ОБЯЗАТЕЛЬНО иначе виндовый ;парсер ломается, например, если мы хотим сказать: ;Execute=C:\windows\notepad.exe "my_doc.txt",Следующая команда ;писать будем ;Execute="C:\\windows\\notepad.exe \"my_doc.txt\"","Следующая команда" ;Дублировать один и тот же набор НЕЛЬЗЯ! Если у Вас настолько много комманд, что ;это вызывает проблемы используйте Execute.common, дополнения или пакетники. ;ЗЫ упаси Вас ктулху не закрыть кавычки или писать полные пути! Получите глюки ;и много сообщении об ошибках. Используйте переменные среды и внутренние ;%directory%, %name% и %key% чтобы отказаться от абслютных путей. ;Execute выполняется ДО платформозависимого кода и на любой платформе Execute="msiexec /i 2GISShell-3.14.9.0.msi /qb ALLUSERS=1","msiexec /i 2GISData_Samara-77.0.0.msi /qb ALLUSERS=1","reg delete HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run /v \"2Gis Update Notifier\" /f" ;платформозависимый код, выполняется в зависимости от верии и разрядности os ;будет выполнено на всем что имеет 32 битную архитектуру Execute.X86= ;будет выполнено на всем что имеет 64 битную архитектуру Execute.X64= ;семейства их всего 6 но это будет то чем вы будете пользоваться чаще всего ;будет выполнено на XP, 2003 сервере и всем что вышло ДО них Execute.XP_family= ;то же самое но с указанием архитектуры Execute.X86.XP_family= Execute.X64.XP_family= ;будет выполнено на Vista, 2008 сервере и всем что вышло ПОСЛЕ них Execute.Vista_family= ;то же самое но с указанием архитектуры Execute.X86.Vista_family= Execute.X64.Vista_family= ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;!!!ТОЛЬКО для той OS что указана!!!! ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;Не стоит ожидать что Execute.XP= будет выполнено на 2003 сервере а Execute.7 на ;всем что выходило позже. Перечислять все не стал но теоретически понимает 2000 ;2003 2008 2008R2 2012 2012R2. Всякие итаниумы, скорее всего, будут распознаны ;как X64 Execute.XP= Execute.2003= Execute.Vista= Execute.7= Execute.8= Execute.8.1= Execute.10= Execute.X86.XP= Execute.X86.2003= Execute.X86.Vista= Execute.X86.7= Execute.X86.8= Execute.X86.8.1= Execute.X86.10= Execute.X64.XP= Execute.X64.2003= Execute.X64.Vista= Execute.X64.7= Execute.X64.8= Execute.X64.8.1= Execute.X64.10= ;Execute.common выполняется ПОСЛЕ платформозависимого кода на любой платформе Execute.common= ;Файл с иконкой. Иконка берется из винапи: то есть если вы проассоциируете файлу ;*.ico какой-нить левый значок будет отображаться он, а не то что в иконке. ;Размер 32 на 32. Перменные среды, а также %directory%, %name% и %key% работают. Icon=ico.ico ;Краткое описание программы Description=Cправочник организаций с картой города ;Полное описание программы. НЕ РЕАЛИЗОВАНО. FullDescription=Подробный и актуальный справочник организаций с картой города ;версия которая в инсталляторе, можно получать из exe-шника RFOMFILE:путь_к.exe ;в пути тоже можно писать перменные среды, %directory%, %name% и %key%. Ver=3.14.9.4784 ;Строка проверки установленной версии: ;FROMFILE:%PROGRAMFILES%\\%name%\\путь_к.exe ;или ;FROMUID:61993DF3-0FD9-47A2-AC2D-DCB82BEDE0E6 ;вместо %name% будет подставлено имя программы, если не уверены что писать ;%PROGRAMFILES% или %PROGRAMFILES(x86)% пишите %PROGRAMFILES%. Если версия ;совпадет с тем что в Ver= флаг программы будет снят а значек заменен на ;зеленую галку. VerCheck=FROMFILE:%PROGRAMFILES(x86)%\\%name%\\3.0\\grym.exe ;VerCheck=FROMUID:61993DF3-0FD9-47A2-AC2D-DCB82BEDE0E6 ;Сайт производителя Url=http://2gis.ru ;Инфа о лицензии, если написать валидный url или путь к файлу то станет ссылкой License="У программы достаточно мутная лицензия явно разрешено только использование в некоммерческих целях!" ;Ключ продукта. Можно вставлять в комманды и VerCheck подстрокой %key% Key= ;Список наборов в которые входит программа, чувствителен к регистру. Кирилицу на ;свой страх и риск. ;Список наборов которые програма дополнительно обрабатывает: ;base - перевод "Базовый". ;browsers - перевод "Браузеры". ;runtimes - перевод "Среды исполнения". Устанавливается раньше всех остальных. ;home - перевод "Для дома". ;kit - перевод "Поднаборы". СЛУЖЕБНАЯ ГРУППА!!! см документацию. ;avir - перевод "Антивирусы". Антивирус устанавливается последним. По умолчанию ;галки на этот набор не ставятся. Программа присекает попытки установить сразу ;несколько антивирусов. Если указан набор avir добавлять программу в другие ;группы НЕЛЬЗЯ! ;nogroup - перевод "Вне наборов". По умолчанию галки на этот набор не ставятся. ;Указывать его в info.txt не желательно как и добавлять программу с из этого ;набора в другие группы. Программы с пустым списком наборов или не имеющие ;info.txt в свой директории добавляются в этот набор автоматически. Kits=base,home,postninite,freeware ;Время в секундах по истечении которого с момента запуска комманды установка ;считается повисшей и будет прервана. ;значение 0 или отсутсвует - таймер не активен ( на самом деле активен но со ;значением ULONG_MAX/1000, это примерно 49 суток в x32 винде и дохералион в x64) ;пункт в файле отсутсвует - значение 1 час KillTimer=