Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 7]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 7]

Аватара для El Sanchez

Ветеран


Contributor


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


Конфигурация

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


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:

Показать/скрыть: Ссылки на примеры скриптов:

Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;

  • RegExporter - Фриварная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.2.0 [23.09.2014] - Скачать;



Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Скрипты Inno Setup. Помощь и советы [часть 6]

Отправлено: 11:48, 10-03-2014

 

Ветеран


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

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


Dodakaedr, это же системный файл. По вопросу: надо указывать абсолютный путь к файлу.

Отправлено: 18:40, 27-05-2014 | #811



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для habib2302

Ветеран


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

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


всем привет. дайте пожалуйста скрипт на распаковку запароленных arc архивов. (не весь isdone т.е без всяких оформлений инстайла, без лишних файлов и т.д)

-------
Помог? От "Полезное сообщение" не откажусь!!!


Последний раз редактировалось habib2302, 27-05-2014 в 20:36.


Отправлено: 19:13, 27-05-2014 | #812


Аватара для Dodakaedr

Ветеран


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

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


Цитата saurn:
это же системный файл. По вопросу: надо указывать абсолютный путь к файлу. »
Абсолютный??? Тоисть так тоже не пойдет?
Код: Выделить весь код
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep = usUninstall then
    begin
    if FileExists(ExpandConstant('{app}\msimg32.dll')) then DeleteFile(ExpandConstant('{app}\msimg32.dll'));
    if FileExists(ExpandConstant('{app}\IsTaskU.dll')) then DeleteFile(ExpandConstant('{app}\IsTaskU.dll'));
    end;
end;
Как удалять такие файлы?

-------
Inno Setup 5 Ultra Unicode


Последний раз редактировалось Dodakaedr, 27-05-2014 в 21:14.


Отправлено: 19:33, 27-05-2014 | #813


Новый участник


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

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


Dodakaedr,
[Files]
Source: Dll\msimg32.dll;DestDir: {app}; Flags: ignoreversion; Attribs: hidden system;
Source: Dll\IsTaskU.dll;DestDir: {app}; Flags: ignoreversion; Attribs: hidden system;

Отправлено: 22:08, 27-05-2014 | #814


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


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

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


Dodakaedr, блин гугл еще робит (сам проверил ). (насчет что такое абсолютный путь).
По сути дела: msimg32.dll - системная библиотека, не удалять! IsTaskU.dll - как у тебя, удалять!
habib2302, справку дать?
читать дальше »

function ISArcExtract

function ISArcExtract (CurComponent: Cardinal; PctOfTotal: double; InputFile, OutputPath, ExtractedPath: string; DeleteInFile: boolean; Password, CfgFile, WorkPath: string; ExtractPCF:boolean):boolean;
распаковывает arc архив(ы), заданный(ые) папкой и именем файла в InputFile, в каталог, указанный в OutputPath.
ExtractedPath - используется для распаковки части архива. Указывается имя папки, которая будет извлечена. Если данная фитча не требуется, то оставляйте данный параметр пустой строкой. Значение '*' распаковывает весь архив с последующим извлечением всех подкаталогов из корневых папок архива (мож кому понадобится);
CfgFile - путь и имя конфигурационного файла (arc.ini). Требуется для распаковки .arc архивов, созданных с использованием внешних компрессоров;
WorkPath - рабочий путь для распаковки временных файлов freearc'ом. Если при распаковке архива freearc создает большие темп-файлы (обычно это происходит если используются внешние компрессоры), то рекомендуется устанавливать рабочую папку в {app}, а то у пользователя может не быть места на системном диске, куда по умолчанию freearc пытается поместить темп-файл;
Password - пароль для распаковки архива(ов);
ExtractPCF - может иметь значение true или false. При распаковке FreeArc архива определяет будут ли распаковываться .pcf файлы "на лету". При активации данного режима при извлечении из .arc архива для каждого распакованного файла с расширением .pcf будет запускаться precomp, извлекающий данные из этого файла в ту же папку, и после удаляющий исходный. По идее данный режим должен увеличить скорость распаковки FreeArc архивов, содержащий много небольших pcf файлов, потому как сразу после извлечения одного из них, пока он еще будет находиться в кэше винды, можно быстренько его обработать precomp'ом, с минимальным обращением к винчестеру. Но на практике у меня получалось иначе, по крайней мере на XP (возможно на Win7 такой способ и выиграет стандартный 7z(без сжатия)+precomp+freearc).
В скрипте для параметра ExtractPCF применены константы notPCFonFLY и PCFonFLY - это на самом деле просто соответственно false и true. Применение таких констант позволит избежать путаницы с другим подобным параметром в функции распаковки arc-архивов - удалением входного архива (DeleteInFile).

Например:
if not ISArcExtract (0, 100, ExpandConstant('{src}\*.arc'), ExpandConstant('{app}\data'), '', false, 'Password', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), notPCFonFLY) then break;
распаковывает все архивы с расширением .arc из папки {src} (сканировать подкаталоги или нет задается в функции инициализации поиска FileSearchInit) в папку {app}\data\ без удаления исходного файла, с ручным распределением процентов (без тестового прогона, распределение происходит по размерам исходных архивов), паролем «Password», файлом конфигурации {tmp}\arc.ini и рабочей папкой в {app}, без извлечения .pcf файлов "на лету".

saneksanek, это как файлы скрыть. Установка атрибута.

Отправлено: 22:10, 27-05-2014 | #815


Аватара для habib2302

Ветеран


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

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


sergey3695, а скрипт?

-------
Помог? От "Полезное сообщение" не откажусь!!!


Последний раз редактировалось habib2302, 27-05-2014 в 22:34.


Отправлено: 22:19, 27-05-2014 | #816


Аватара для Dodakaedr

Ветеран


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

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


Цитата sergey3695:
По сути дела: msimg32.dll - системная библиотека, не удалять! IsTaskU.dll - как у тебя, удалять! »
Мне надо оба файла удалить, чтобы не оставались следы программы. msimg32.dll - это для патча, IsTaskU.dll - вы сами знаете для чего. Если я правильно понял то надо так:
Код: Выделить весь код
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep = usUninstall then
    begin
    if FileExists(ExpandConstant('{pf}\My Prog\msimg32.dll')) then DeleteFile(ExpandConstant('{pf}\My Prog\msimg32.dll'));
    if FileExists(ExpandConstant('{pf}\My Prog\IsTaskU.dll')) then DeleteFile(ExpandConstant('{pf}\My Prog\IsTaskU.dll'));
    end;
end;
Или как? Дайте пример. Желательно чтобы через константу {app}, чтобы пользователь смог сам указывать куда устанавливать программу.

-------
Inno Setup 5 Ultra Unicode


Последний раз редактировалось Dodakaedr, 27-05-2014 в 22:39.


Отправлено: 22:33, 27-05-2014 | #817


Новый участник


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

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


Dodakaedr, Вы пробовали что я дал? добавьте флаг и секция унистал не нужна будет

Отправлено: 22:52, 27-05-2014 | #818


Аватара для Dodakaedr

Ветеран


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

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


saneksanek, Это не то. Мне нужно их удалить, а вы предлагаете их сделать скрытыми и системными...

-------
Inno Setup 5 Ultra Unicode


Отправлено: 23:00, 27-05-2014 | #819


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


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

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


habib2302, мда, например это не пример.
Password - пароль для распаковки архива(ов);
function ISArcExtract (CurComponent: Cardinal; PctOfTotal: double; InputFile, OutputPath, ExtractedPath: string; DeleteInFile: boolean; Password, CfgFile, WorkPath: string; ExtractPCF:boolean):boolean;
Например:
Код: Выделить весь код
if not ISArcExtract (0, 100, ExpandConstant('{src}\*.arc'), ExpandConstant('{app}\data'), '', false, 'Password', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), notPCFonFLY) then break;
если так с выделением непонятно. я не знаю тогда.
Dodakaedr, хочешь сказать что так не удалит
Код: Выделить весь код
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep = usUninstall then // Или usPostUninstall без разницы тут
    begin
    if FileExists(ExpandConstant('{app}\msimg32.dll')) then DeleteFile(ExpandConstant('{app}\msimg32.dll'));
    if FileExists(ExpandConstant('{app}\IsTaskU.dll')) then DeleteFile(ExpandConstant('{app}\IsTaskU.dll'));
    end;
end;
если {app} путь включая папку установки и там лежат файлы. твой же скрипт. поверял то хоть?
также можно флаг
Код: Выделить весь код
Flags: uninsremovereadonly
uninsremovereadonly При удалении файла убираются все атрибуты "только для чтения" перед попыткой удаления
Это из справки.
ignoreversion Не сверять версии; перемещать существующие файлы не обращая внимание на номера версий.
Этот флаг применим только к файлам вашего приложения, но не к общедоступным файлам.
Вы проверяете код или так спрашиваете?

Последний раз редактировалось sergey3695, 27-05-2014 в 23:20.


Отправлено: 23:13, 27-05-2014 | #820



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 7]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 6] El Sanchez Автоматическая установка приложений 2494 10-03-2014 11:51
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34




 
Переход