Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для sawe

Пользователь


Сообщения: 89
Благодарности: 20

Профиль | Отправить PM | Цитировать


Цитата Tankan:
По этому вопросу что скажите? Как установить атрибуты на файлы, чтоб извлекались и билы скрытие и системные. »
Код: Выделить весь код
  NORMAL или FILE_ATTRIBUTE_NORMAL (или просто 0)
  ARCHIVE или FILE_ATTRIBUTE_ARCHIVE
  HIDDEN или FILE_ATTRIBUTE_HIDDEN
  OFFLINE или FILE_ATTRIBUTE_OFFLINE
  READONLY или FILE_ATTRIBUTE_READONLY
  SYSTEM или FILE_ATTRIBUTE_SYSTEM
  TEMPORARY или FILE_ATTRIBUTE_TEMPORARY
Пример применения:
Код: Выделить весь код
SetFileAttributes "$INSTDIR\имя_файл.exe" ARCHIVE|HIDDEN|SYSTEM|READONLY
Цитата Tankan:
3. А при чем тут распаковка? если мне нужна упаковка с сильным скажитем. »
Штатными средствами NSIS можно увеличить сжатие
Код: Выделить весь код
SetCompressor /FINAL /SOLID lzma
Можно так же положи в папку со скриптом файл upx.exe и вставь этот код
Код: Выделить весь код
!define HAVE_UPX
!ifdef HAVE_UPX
  !packhdr tmpexe.tmp "UPX --best -q --compress-icons=0 tmpexe.tmp"
!endif
Есть очень хороший плагин для архивов FreeArc - распаковка arc-архивов, несколько страниц назад пролистайте и найдёте его.

Я в таких случаях использую 7-Zip архиватор, попробуй мою сборку этого архиватора Zip 9.22 с последним SFX или с сайта автора SFX.

NSIS имеет ограничение на файл размером более 2GB, и при большом размере файла инсталлятора иконка не видна, поэтому лучше прикреплять большие файлы, и что бы сильно не мудрить, можно использовать такой код:

Код: Выделить весь код
Copyfiles /SILENT "$EXEDIR\Имя_файла.exe" "$INSTDIR\Имя_файла.exe" # паравозик!
  ExecWait "$INSTDIR\Имя_файла.exe" # извлечь ожидая завершения!
 Delete "$INSTDIR\Имя_файла.exe" # если более не нужен!
Здесь на форуме в разделе InnoSetup используют Утилиту Precomp, которая разбирает файл на бинарник а потом собирает его в Патч, но уже намного меньшего размера, после инсталляции производит эту операцию в обратном порядке.

--

Отправлено: 19:22, 17-06-2011 | #1268