Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Добавить в exe другой exe и потом его извлечь [D6, XP]


Страницы:   1 2 3 4 5

Артем ©   (2008-01-11 12:27:00) 

Добрый день!

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

1. Приложение №1 должно записать в Приложение №2 файл другого формата (например, dat или INI)
2. После чего Приложение №2 должно извлечь записанный в него файл.

Как это организовать?

Заранее очень признателен за помощь.


Сергей М.   (2008-01-11 19:30:00) [41]


> Блин, еще раз :)Пользователя ДВА


Угу

И ты в своем инсталляционном шедевре спрашиваешь у пользователя, мол, ты кто долбаный ты пользователь - номер один ты или номер ты два \\)))


Dennis I. Komarov   (2008-01-11 18:09:00) [42]

Не хотел бы попасть к хирургу, который апендицит через анус извлекает, да еще вилкой :)


Dib@zol   (2008-01-11 17:54:00) [43]

> Он их и получает. Просто один зашит в другую (прицеплен
> к ресурсу).

Что он их получает, мы уже поняли. А можно нескромный вопрос: какова ЦЕЛЬтакого подхода?


Артем   (2008-01-11 17:33:00) [44]


> А тогда почему бы мастер-пользователю не получить-таки две
> проги сразу отдельно?


Он их и получает. Просто один зашит в другую (прицеплен к ресурсу).

Сложно объяснять "на пальцах", поэтому такие недоуменя возникают...


>Более того, любой юзер свободно сможет эту твою "стоящую
> денег" извлекаемую прогу скопировать себе во время работы


НЕЕЕТ! Не может! Так как это не основная программа, а ее отделенная часть.

Это как в авиастроении :) Модуль отсоединяется от корабля. Имея управление модулем, ты никак не можешь получить доступ к управлению кораблем.


Dib@zol   (2008-01-11 17:28:00) [45]

> Блин, еще раз :)
>
> Пользователя ДВА
>
> Один "мастер-пользователь". У него этот программный продукт.
> В этом программном продукте к ресурсу прицеплен другой exe-
> файл. "Мастер-пользователь" с помощью этого программного
> продукта вносит свои данные, эти данные записываются в файл
> типа IStorage, плюс из программного продукта извлекается
> второй exe-шник (тот самый, который в ресурсе лежит изначально)
> .
> Все это дело, 2 файла (exe и IStorage) копируются в папку
> т.н. "нового проекта".
>
> "Конечный пользователь" получает от "мастера-пользователя"
> вышитый exe-файл, который работает на основе созданного
> "мастер-пользователем" IStorage-файл.
>
> ВАЖНО: у конечного пользователя нет основной программы,
> которой был создан IStorage-файл. Поэтому его exe-файл обращается
> к IStorage-файлу, получает необходимые данные и преобразовывает
> приложение на основе этих данных.


А тогда почему бы мастер-пользователю не получить-таки две проги сразу отдельно? Какие-то религиозные соображения? :)


Dib@zol   (2008-01-11 17:27:00) [46]

> По очень простой причине:
> основная программа - это программный продукт, который стоит
> денег
> программы, которые были созданы с помощью этого продукта
> бесплатны и доступны с любой машины любому конечному пользователю

Хм. И что с того??? Нахрена паковать, ты так и не объяснил... Более того, любой юзер свободно сможет эту твою "стоящую денег" извлекаемую прогу скопировать себе во время работы. И тут уже мало что поможет. Тем более, почему никто не сказал, что на такой мягко говоря ректальный алгоритм не будет ругаться антивирь?


Артем   (2008-01-11 17:24:00) [47]

Блин, еще раз :)

Пользователя ДВА

Один " мастер-пользователь". У него этот программный продукт. В этом программном продукте к ресурсу прицеплен другой exe-файл. "Мастер-пользователь" с помощью этого программного продукта вносит свои данные, эти данные записываются в файл типа IStorage, плюс из программного продукта извлекается второй exe-шник (тот самый, который в ресурсе лежит изначально).
Все это дело, 2 файла (exe и IStorage) копируются в папку т.н. "нового проекта".

" Конечный пользователь" получает от " мастера-пользователя" вышитый exe-файл, который работает на основе созданного "мастер-пользователем" IStorage-файл.

ВАЖНО: у конечного пользователя нет основной программы, которой был создан IStorage-файл. Поэтому его exe-файл обращается к IStorage-файлу, получает необходимые данные и преобразовывает приложение на основе этих данных.


Сергей М.   (2008-01-11 17:14:00) [48]


> Артем   (11.01.08 17:12) [46]


Ты его, этот самый  "Один exe-файл", КОМУ поставляешь ?


Артем   (2008-01-11 17:12:00) [49]


> Сергей М

Один exe-файл


Сергей М.   (2008-01-11 17:10:00) [50]


> Артем   (11.01.08 17:02) [44]
> что имеешь ввиду?


Ты в каком "файлоорганизационном" виде доставляешь  потребителю свои "шедевры" ?


Артем   (2008-01-11 17:02:00) [51]


> Ты его КАК распространяешь, чудо ?)


не понял вопроса. ты что имеешь ввиду?


Артем   (2008-01-11 17:02:00) [52]


> Dennis I. Komarov


Я сюда пришел не для того, чтобы обсудить задачу, а для того, чтобы ее решить. Поэтому, если кому-то это кажется бредом, то нам не о чем говорить.

Если есть решения моей задачи, то прошу помочь.

Повторяю основной вопрос [22], на котором мы остановились:

Не могу понять как и где присоединять unicows.dll к проекту, и как это использовать?
Читаю здесь - http://www.microsoft.com/globaldev/handson/dev/mslu_announce.mspx
===============

С BeginUpdateResource + UpdateResource + EndUpdateResource - с этим разберусь. Этот путь меня устраивает. К тому же есть возможность предварительно зашить в ресурс пустой файл, который будет заменяться на необходимый (на сгенерированный "abcd.stg")


Сергей М.   (2008-01-11 16:55:00) [53]


> Артем


> основная программа - это программный продукт


Ты его КАК распространяешь, чудо ?)


Dennis I. Komarov   (2008-01-11 16:53:00) [54]

> [39] Артем   (11.01.08 16:44)

И на этом ты еще хочешь заработать........ :(


Dennis I. Komarov   (2008-01-11 16:52:00) [55]

> А предъявлять к конечному пользователю требования "типа
> не удаляйте из папки файл abcd.stg и не записывайте в нее
> больше никаких файлов с расширением .stg" - этого делать
> не хочется. Все должно быть просто. Такая задача.

Это не задача а бред. Что значит разрешить удалять файл настроек? Разве не бред?

Я не вижу ничего такого, что мешало бы тебе сделать все это согласно [36]
Есть юзер-софт - который работает согласно настройкам
Есть Админ-софт - который генерирует эти настройки

Все остальное - это твои извращения - явно не здоровые.


Артем   (2008-01-11 16:44:00) [56]


> А теперь, внимание вопрос: А зачем извлекать, а не поставлять
> сразу 2 екзешника?

По очень простой причине:
основная программа - это программный продукт, который стоит денег

программы, которые были созданы с помощью этого продукта бесплатны и доступны с любой машины любому конечному пользователю


Артем   (2008-01-11 16:41:00) [57]


> Dennis I. Komarov ©   (11.01.08 16:31) [36]


Дело в том, что основная программа предназначена для регулярного использования для генерации различных данных IStorage.

Данные IStorage хранятся в файле с расширением stg, например.

Основная программа копирует из себя второй exe-шник (например, file.exe) и сгенерированный файл abcd.stg (к примеру) в папку C:\proekt\
В данном раскладе, если удалить или переместить abcd.stg, то file.exe не загрузится в нужном виде.

А предъявлять к конечному пользователю требования "типа не удаляйте из папки файл abcd.stg и не записывайте в нее больше никаких файлов с расширением .stg" - этого делать не хочется. Все должно быть просто. Такая задача.


Dib@zol   (2008-01-11 16:33:00) [58]

> [35] Артем   (11.01.08 16:24)
> еще раз, возможно, повторюсь:
>
> в моем проекте всего 2 exe-файла.
> первый - сохраняет настройки, выполняет необходимые основные
> операции и т.д., после чего вытаскивает из себя заранее
> приготовленный exe (№2), а также генерирует файл типа IStorage
>
> второй (№2) - "понимает", что было сделано первым за счет
> сгенерированного файла (типа IStorage)
>
> Мне нужно, чтобы этот сгенерированный файл (типа IStorage)
>  зашивался к второму exe-шнику и он ((exe-шник)) его  мог
> извлекать.

А теперь, внимание вопрос: А зачем извлекать, а не поставлять сразу 2 екзешника? Или просто не извращаться и запихнуть весь исполняемый код в один проект и откомпилировать заново???


Dennis I. Komarov   (2008-01-11 16:31:00) [59]

> [35] Артем   (11.01.08 16:24)

- Делаешь ехе который при первом запуске делает все что тебе надо для юзера.
- Делаешь ехе которуй генерит IStorage согласно манипуляиям супер-юзера (а вообще я бы возложил эту обязанность на тебя. Это и будет лиц. ключем)
- На какого IStorage зашивать в exe - я так и не понял...


Артем   (2008-01-11 16:24:00) [60]

еще раз, возможно, повторюсь:

в моем проекте всего 2 exe-файла.
первый- сохраняет настройки, выполняет необходимые основные операции и т.д., после чего вытаскивает из себя заранее приготовленный exe (№2), а также генерирует файл типа IStorage

второй (№2)- "понимает", что было сделано первым за счет сгенерированного файла (типа IStorage)

Мне нужно, чтобы этот сгенерированный файл (типа IStorage)  зашивался к второму exe-шнику и он ((exe-шник)) его  мог извлекать.


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо