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

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

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

Ветеран


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


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

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


Изменения
Автор: Serega
Дата: 13-08-2011
Вложения
Тип файла: 7z Inno Setup [все вопросы] часть 1.7z
(1.34 Mb, 908 просмотров)
Тип файла: 7z Inno Setup [все вопросы] часть 2.7z
(3.12 Mb, 806 просмотров)
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

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


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 00:28, 04-11-2010

 

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


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

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


подскажите, не могу правильно прописать распаковку, начинает распаковывать, процентов до 300 идет.

читать дальше »

if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data.bin'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\Data.bin'),ExpandConstant('{app}\Data.bin'), true) then break;
if not IS7ZipExtract ( 0, 0, ExpandConstant('{src}\Data.bin'), ExpandConstant('{app}\Data.bin'), true, '') then break;
// äàëåå íàõîäÿòñÿ çàêîììåíòèðîâàíûå ïðèìåðû ðàçëè÷íûõ ôóíêöèé ðàñïàêîâêè (÷òîáû êàæäûé ðàç íå ëàçèòü â ñïðàâêó çà ïðèìåðàìè)
(*
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\arc.arc'), ExpandConstant('{app}\'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
if not IS7ZipExtract ( 0, 0, ExpandConstant('{src}\Data.7z'), ExpandConstant('{app}\data1'), false, '') then break;
if not ISRarExtract ( 0, 0, ExpandConstant('{src}\data_*.rar'), ExpandConstant('{app}'), false, '') then break;
if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\data1024_1024.srep'),ExpandConstant('{app}\data1024.arc'), true) then break;
if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\data.pcf'), ExpandConstant('{app}\data.7z'), true) then break;
if not ISxDeltaExtract ( 0, 0, 0, 640, ExpandConstant('{app}\in.pcf'), ExpandConstant('{app}\*.diff'), ExpandConstant('{app}\out.dat'), false) then break;
if not ISPackZIP ( 0, 0, ExpandConstant('{app}\1a1\*'), ExpandConstant('{app}\1a1.pak'), 2, false ) then break;
if not ISExec ( 0, 0, 0, ExpandConstant('{tmp}\Arc.exe'), ExpandConstant('x -o+ "{src}\001.arc" "{arr}\"'), ExpandConstant('{tmp}'), '...') then break;
if not ShowChangeDiskWindow ('Ïîæàëóéñòà, âñòàâüòå âòîðîé äèñê è äîæäèòåñü åãî èíèöèàëèçàöèè.', ExpandConstant('{src}'),'CODMW_2.arc') then break;

Последний раз редактировалось ilyhakz001, 11-07-2011 в 23:06.


Отправлено: 22:56, 11-07-2011 | #2311



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

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


Аватара для Edison007

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


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

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


Johny777
Да возможно, вот пару примеров: http://rghost.ru/14227021
ЗЫ если я правильно вас понял
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:38, 11-07-2011 | #2312


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


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

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


Лександер,
Спасибо, работает

Еще вопрос:
Хочу, чтобы файлы были внешними, тоесть вне архива. Посему использую флаг external.

Source: Files\* ; DestDir: {app}; Flags: recursesubdirs createallsubdirs sortfilesbyextension external; AfterInstall: Progress()

Однако получаю:


По-моему, установщик ищет файл вместо всей папки. Как это исправить?

UP: lol, я забыл добавить {src} в начало пути

Последний раз редактировалось leshcat, 12-07-2011 в 00:05. Причина: fixed


Отправлено: 23:46, 11-07-2011 | #2313


Аватара для Johny777

Ветеран


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

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


Edison007
спасибо

но как пришить его к моему скрипту
всё прописал, вылетает ошибка, в секции кода
пробовал оба примера
вот скрипт
http://rghost.net/14232021

Отправлено: 00:17, 12-07-2011 | #2314


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


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

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


Мне предложили сделать свои custom иформацию с помощью этого кода:

читать дальше »
ExtracttemporaryFile('Changelog.rtf')
LoadStringFromFile(ExpandConstant('{tmp}\Changelog.rtf'),S);
{ Creates custom wizard page }
ISCustomPage1 := CreateCustomPage(wpInfoBefore,'Изменения', 'Подробнее');

{ ISCustomPage1 }
with ISCustomPage1.Surface do
begin
Name := 'ISCustomPage1';
end;
{ RichEditViewer1 }
RichEditViewer1 := TRichEditViewer.Create(WizardForm);
with RichEditViewer1 do
begin
Name := 'RichEditViewer1';
Parent := ISCustomPage1.Surface;
Left := ScaleX(0);
Top := ScaleY(0);
Width := ScaleX(417);
Height := ScaleY(233);
RTFText :=S;
end;

//;adv_readme_2
ExtracttemporaryFile('ReleaseNotes.rtf')
LoadStringFromFile(ExpandConstant('{tmp}\ReleaseNotes.rtf'),V);
{ Creates custom wizard page }
ISCustomPage2 := CreateCustomPage(wpInfoBefore,'Oб игре', 'Информация');
{ ISCustomPage2 }
with ISCustomPage2.Surface do
begin
Name := 'ISCustomPage2';
end;
{ RichEditViewer2 }
RichEditViewer2 := TRichEditViewer.Create(WizardForm);
with RichEditViewer2 do
begin
Name := 'RichEditViewer2';
Parent := ISCustomPage2.Surface;
Left := ScaleX(0);
Top := ScaleY(0);
Width := ScaleX(417);
Height := ScaleY(233);
RTFText :=V;
end;


Он работает. Но есть два вопроса:
1. Текст можно менять (двигать\удалять) прямо в инсталляторе, чего естественно не хочется. Как запретить любое изменение, разрешив только просмотр?
2. Есть ли расширенная версия, где можно подключать что-нибудь посовершеннее, типа doc с 2003 офиса/ docx 2007?

Если есть решение ещё лучше, с нетерпением жду совета

Последний раз редактировалось leshcat, 12-07-2011 в 17:11.


Отправлено: 01:02, 12-07-2011 | #2315


Аватара для No4noylis

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


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

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


Народ подскажите, вобщем тут такое дело: Я скрываю FilenameLabel (т.е ставлю FilenameLabel.Hide; ), а потом заново создаю его на InstallingPage, так вот, что нужно написать в параметре Caption:= чтоб отображалось имя распаковываемого файла???

-------
Нет ничего невозможного...


Отправлено: 16:10, 12-07-2011 | #2316


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


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

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


Цитата No4noylis:
Народ подскажите, вобщем тут такое дело: Я скрываю FilenameLabel (т.е ставлю FilenameLabel.Hide; ), а потом заново создаю его на InstallingPage, так вот, что нужно написать в параметре Caption:= чтоб отображалось имя распаковываемого файла??? »
так а зачем заново создавать его ?
можно просто показать
Код: Выделить весь код
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall then begin
WizardForm.FilenameLabel.Show;
end;
end;
//или так
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID=wpInstalling then begin
WizardForm.FilenameLabel.Show;
end;
end;
Если что есть такая функция
Цитата:
Prototype:
function CurrentFileName: String;

Description:
Returns the destination name of the [Files] entry that is currently being processed. The returned name may include constants.

Do not attempt to call this function from outside a Check, BeforeInstall or AfterInstall event function belonging to a [Files] entry.

Последний раз редактировалось murlakatamenka, 12-07-2011 в 17:09.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:52, 12-07-2011 | #2317


Аватара для No4noylis

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


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

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


Цитата murlakatamenka:
так а зачем заново создавать его ? »
Я его создаю чтоб изменить размер шрифта, цвет, стиль, и самое главное указать его прозрачность (Transparent := True; ) Ну так что можно сделать???

-------
Нет ничего невозможного...


Отправлено: 17:12, 12-07-2011 | #2318


Аватара для Gnom_aka_Lexander

Ветеран


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

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


No4noylis, Только через таймер, по другому не получится. Смотри мой пример, там это реализовано.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Отправлено: 21:43, 12-07-2011 | #2319


Аватара для No4noylis

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


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

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


Я вообще не пойму!!!!!!!!!!!!!!!!!!!!!!! Делаю инсталлятор, делаю отображение необходимого и доступного места на винте, так вот: скрипт компилируеться все хорошо, запускаеться инсталлятор, перехожу на SelectDir, там отображаеться только доступное место на винте, я нажимаю кнопочку назад, перехожу на Welcome, потом снова далее и перехожу на SelectDir и теперь отображаеться все как положено и доступное и необходимое место на винте !!!! Кто знает в чем дело???

-------
Нет ничего невозможного...


Отправлено: 22:02, 12-07-2011 | #2320



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход