Делаю иснтал программы, чтобы вместо кучи файлов был один .exe файл в качестве инсталятора. общий вес около 320мб.
Файлы храню в MemoryStream, проблема в том что если общий объём файлов превышает 50 мб. программа не компилируется пишет ошибку: Error: RLINK32: Error reading file "C:\Program Files (x86)\HiAsm_AltBuild\Elements\delphi\code\allres.res"
При этом если объем меньше,то проблем не возникает! Как быть в этой ситуации???
Редактировалось 1 раз(а), последний 2017-03-23 17:11:27
Этот топик читают: Гость
Ответов: 204
Рейтинг: 2
|
|||
карма: 1 |
|
Google
vip
|
#1.1контекстная реклама от партнеров
|
Ответов: 4612
Рейтинг: 746
|
|||
Сначала компилировать exe, затем другой программой дописывать в конец этого экзешника свой файл, а после файла - размер исходного exe (в виде Integer, 4 байта). Для извлечения в том exe нужно считать последние 4 байта "самого себя" - это будет размер "себя". При чтении пропустить это количество от начала "себя" - достигнется начало прикрепленного файла. Размер прикрепленного файла - "размер себя" минус "4" минус "значение ранее считанных последних 4 байт".
|
|||
карма: 26 |
|
Разработчик
Ответов: 4697
Рейтинг: 426
|
|||
Давно делал создатель инсталляторов на HiAsm, можете посмотреть здесь
|
|||
карма: 10 |
|
Ответов: 204
Рейтинг: 2
|
|||
спасибо, буду разбираться.
Вообще очень странно что в MemoryStream нельзя хранить большие файлы. Ведь есть множество файлов больших размеров от фотографий до 3D моделей которые может потребоваться сохранить в памяти. И тут такая засада. 50мб и не больше! |
|||
карма: 1 |
|
Разработчик
Ответов: 4697
Рейтинг: 426
|
|||
ogrif писал(а): Ведь есть множество файлов больших размеров от фотографий до 3D моделей которые может потребоваться сохранить в памятиВсе подобные файлы обычно как раз внешними ресурсами идут, а не встроенными в exe. Если же все же необходимо иметь один цельный exe со всеми этими большими файлами в придачу, то обычно делают самораспаковывающийся exe, который прозрачно для пользователя распаковывает необходимый набор файлов во временную директорию системы и оттуда уже запускается реальная программа. А самораспаковывающийся exe собирается примерно теми же методами, что выше были описаны Netspirit-ом или у меня в схеме. Редактировалось 1 раз(а), последний 2017-03-24 20:53:12 |
|||
карма: 10 |
|
Ответов: 1924
Рейтинг: 172
|
|||
Или можешь посмотреть мой компонент: http://forum.hiasm.com/topic/12009 и http://forum.hiasm.com/post/82040
Редактировалось 3 раз(а), последний 2017-03-25 12:49:21 |
|||
карма: 9 |
|
Ответов: 204
Рейтинг: 2
|
|||
3042 писал(а): Или можешь посмотреть мой компонент:спасибо, попробую. |
|||
карма: 1 |
|
7