На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (5) 1 [2] 3 4 ... Последняя » все  ( Перейти к последнему сообщению )  
> Собственный инсталлер..?
    Цитата
    почему exe'шник должен быть единственным ?
    Действительно. Это бы на много упростило коддинг! ;)
      нет. дело не в этом... (я давно хотел написать собственный инсталлер. давайте придумаем нормальное обоснование тому -  почему exe'шник долже быть один) насколько это удобно etc...
      я сейчас предлагаю разработать концепцию внутреннего исполняемого скрита который позволял бы работать с типизироваными и нетипизироваными файлами скажем... etc
        Один ексешник - монно легко скачать из ИНета
          Да, мои соображения основываются на мысли последнего поста (один exe не нужно дополнительно класть в какой-либо архив, чтобы выложить в инет).

          2IX0DeS

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

            Но нет уверенности, что ОС, загружая такой ехе, не загрузит и лишние данные (те, что мы приклеили;)...

            Вобщем, скажите, если чушь спорол:)
              ага полную...  ;D exe'шник под виндой можно создать хоть 4хГиговый  ;D
              суть в том что если будут несколько файлов то имхо это будет быстрее работать нежели чем с одним, другое дело если из осоновного екзешника извлекать файлы(файлы ессено хранить в ресурсах причем желательно чемнить упакованые) и только потом начинать что-то с ними делать.
              по поводу скрипта.
              думаю что надо сделать подобие некого языка (допустим C или Asm'а) в котором можно было бы исползовать условные конструкции(типа if..then..else),конструкции циклов etc.
              потом неплохо было бы реализовать в нем crypt-алгоритм скажем DES(не спрашивайте зачем... надо!  ;D )
              потом надо придумать какой архиватор использовать. Можно свой написать а можно скажем тот же zip юзать... вот так.  ;)
              Сообщение отредактировано: IX0DeS -
                Цитата
                Но нет уверенности, что ОС, загружая такой ехе, не загрузит и лишние данные
                Есть! ОС дойдет до команды выхода и на этом прекратит выполнение.
                А насчет тормозов при извлечении. Так во временную директорию, как я сказал выше, не обязательно извлекать файлы устанавливаемой программы.

                ЗЫ Имхо, легче использовать в качестве архиватора zip.
                  Цитата Testudo, 21.03.03, 11:41:04

                  Есть! ОС дойдет до команды выхода и на этом прекратит выполнение.

                  ... тут к сожалению или к счастью я не понимаю о чем говорят люди...
                  Цитата

                  А насчет тормозов при извлечении. Так во временную директорию, как я сказал выше, не обязательно извлекать файлы устанавливаемой программы.

                  а что от этого изменится ? если в параметрах CreateFile будет стоят current directory или \%temp\% если мы будем использовать несколько файлов мы не будем тратить время на _извлечение_ как ты себе представляешь скажем инсталяху какойнить Need For Speed в виде одного файла :) ?
                  Цитата

                  ЗЫ Имхо, легче использовать в качестве архиватора zip.

                  гм... тут уже стоит определится на чем писать потому как дело пахнет уже реализацией...
                  зы
                  да совсем забыл... я планирую писать инсталлер без gui :)
                    Цитата
                    я планирую писать инсталлер без gui
                    Это как? :o Для работы из командной строки?
                    Хотя, это не важно. Ведь такой инсталлер будет ядром для "графического"... ;D
                      угу... в иделе оно так и задумывалось
                      engine + shell. вот engine я уже начал писать думаю через неделю другую фрмлю это все по уму
                        Народ, вы чё паритесь? :D
                        Есть же InnoSetup, причём полностью свободный и с исходниками на Delphi.
                        Создаёт 1 файл (чистый инсталлер весит менее 300кб). Жмёт в zip, bzip. Имеет свой скрипт.
                        Если уж хочется поморочиться, начните изучать его исходники.
                        Я полтора года пользую только инносетап. Есть и русские версии, включая сам IDE.
                        Так что, чем тратить время на изобретение колеса, лучше начните делать нормальный визуальный генератор скриптов для InnoSetup, которого так я и не видел пока. Хотя и скрипт сам по себе не плох. Или плагинную систему для инносетапа, чтоб довешивать функциональность инсталлера за счёт самописных dll.
                          знаем мы это дело.. фу какая бяка.... дельфи бррр....
                          ну ладно плагины - dll, разницы нет на чем писать... но копаться в делфёвых исходниках я не буду. тем более инсталлер называется Inno а не SourceRU... вот и не убивайте во мне изобретателя  :P
                            Цитата
                            Народ, вы чё паритесь?
                            Ну прибило нас - че нельзя попариться? ;D
                            Так, люди! Два вопроса:
                            1. На чем писать будем?
                            2. Что у нас еще по концепции осталось невыясненного?
                              Писать и определяться с языком определённо рано;) Нет ни полного понимания концепции, ни модели скрипта, ни ТЗ (без него дописать что-либо маловероятно:)..

                              Цитата
                              (IX0DeS) другое дело если из осоновного екзешника извлекать файлы(файлы ессено хранить в ресурсах причем желательно чемнить упакованые) и только потом начинать что-то с ними делать.


                              Ага. Извлекаем по одному, прямо в место, указанное скриптом;) Если упакованные - извлекаем по одному в temp, депачим в нужное место...

                              Цитата
                              (IX0DeS) думаю что надо сделать подобие некого языка (допустим C или Asm'а) в котором можно было бы исползовать условные конструкции(типа if..then..else),конструкции циклов etc. потом неплохо было бы реализовать в нем crypt-алгоритм скажем DES(не спрашивайте зачем... надо!


                              Это излишне всё усложнит:) Скрипт лучше сделать предельно простым. Писать-же целый язык - это лишний гемморой, да и вес депакера станет не хуже InnoSetup;)

                              Цитата
                              (IX0DeS) потом надо придумать какой архиватор использовать. Можно свой написать а можно скажем тот же zip юзать... вот так.


                              Свой - мало смысла. Он будет всё равно хуже существующих (писали, знаем;). Чужой - если знаешь удовлетворяющий следующим требованиям (или если zip подходит под них):

                              - Free & Opensource
                              - Малый размер кода депакера (очень малый)
                              - Достаточная эффективность (не хуже ZIP)

                              Тогда говори:)

                              Цитата
                              (Testudo) Есть! ОС дойдет до команды выхода и на этом прекратит выполнение.


                              А не загрузится-ли в память лишняя байда? Если у нас ехе с приклеенными данными будет весить метров 300 - не загрузятся-ли все 300 метров в память? (я прое..терял книжку, где описано это дело:( )...

                              Цитата
                              (IX0DeS) как ты себе представляешь скажем инсталяху какойнить Need For Speed в виде одного файла


                              А вот мы и подошли к одному из вопросов - основная сфера применения. Давно известно, что инсталлеры для программ с распостранением через сети и для программ на дисках сильно различаются:) Первые - состоят из одного файла; вторые - из кучи...

                              Лично мне не нужно инсталлить программ размером с NFS;)

                              Цитата
                              (DJ_Karies) Есть же InnoSetup, причём полностью свободный и с исходниками на Delphi. Создаёт 1 файл (чистый инсталлер весит менее 300кб). Жмёт в zip, bzip. Имеет свой скрипт.


                              Дельфи, 300 (!!!) кб ... ;) В садъ...;) Если у меня прога, которую я хочу инсталлить, весит пусть даже метр - лишних 300к - это слишком. Юзеры не оценят;))

                              А потом, если подойти к вопросу так... Есть множество инсталлеров, но хочется свой, удовлетворяющий всем _своим_ требованиям:)
                              Сообщение отредактировано: Shiru_Otaku -
                                Граждане, я вас слегка обманул с весом. 240 кб (v2.0.19 rus), а в раре 200 кб.
                                Есть nsis, винамповский. С исходниками на MSVC. У него есть свой мощный язык, может ещё подцеплять dll-ки. Выходной файл с гулькин нос. Альтернатива InnoSetup'у. Но инносетап - калька InstallShield'a по дизайну, а nsis - бог знает чего. Гляньте исходники обоих, меньше резины на форуме будет.
                                2Ix0DeS: паскалененавистник! Ур-р-р! Чё так стремаешься дельфей? Васика понятно ещё (сам ненавижу теперь), но дельфей... Ударим begin'ом по краткости кода!
                                И причём здесь название инсталлера? Ты думаешь, юзеру не пофигу в чём ты клепал дистрибутив?
                                Сообщение отредактировано: vot -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0613 ]   [ 15 queries used ]   [ Generated: 27.04.24, 19:48 GMT ]