PDA

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 4]


Страниц : [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105

El Sanchez
29-08-2011, 18:01
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы (http://forum.oszone.net/showthread.php?p=1201499#post1201499).



Русская справка (http://rghost.ru/36043218) в формате .chm к версии 5.4.3, авторы перевода BagIra (http://forum.ru-board.com/profile.cgi?action=show&member=BagIra), bugron (http://forum.ru-board.com/profile.cgi?action=show&member=bugron);

Русская справка (http://sabbathblacklab.narod.ru/rus2/is5hlp.rar) в формате .hlp к версии 5.0.4, автор перевода BagIra (http://forum.ru-board.com/profile.cgi?action=show&member=BagIra) | cкачать (http://ifolder.ru/20814819) в .chm формате;

Inno Setup Extensions Knowledge Base (http://www.vincenzo.net/isxkb/index.php?title=Special:AllPages) - онлайн справочник, содержит ответы на многие вопросы | старая chm-версия (http://www.vincenzo.net/isxkb/images/5/57/Isxkbchm.zip);

Inno Setup Scripting 5.1 (http://rapidshare.com/files/35134896/iss_setup.exe.html) - руководство по расширенным возможностям Inno Setup от Kindly (http://forum.ru-board.com/profile.cgi?action=show&member=Kindly);

Коллекция скриптов (http://victor-dobrov.narod.ru/InnoSetupScripts.7z) | Сборник вопросов (http://victor-dobrov.narod.ru/InnoSetupFAQ_ru-board.chm);

Сборник скриптов (http://narod.ru/disk/7844921001/Inno%20Faq%201.4.chm.html) в формате .chm от Krinkels (http://www.forum.oszone.ru/member.php?userid=223950);

Готовые решения (http://innoultra.ru/?page_id=18) с сайта innoultra.ru (http://innoultra.ru);

Cборник скриптов и примеров (http://krinkels.org/showthread.php?t=7) с сайта krinkels.org (http://krinkels.org);




Компоненты основных страниц (http://forum.oszone.net/post-1096943-634.html), (ссылка на сообщение);
Бегущая строка (http://www.forum.oszone.ru/post-1071300-518.html) - бегущая строка на WizardForm, (ссылка на сообщение);
Эффект печатной машинки (http://www.forum.oszone.ru/post-1082174-553.html) - текст на WizardForm появляется по одной букве, (ссылка на сообщение);
Ultimate Test (http://www.forum.oszone.ru/post-1212059-48.html) - проверка системных требований для инсталлятора с чёрным фоном, (ссылка на сообщение);
Проверка системных требований (http://www.forum.oszone.ru/post-1230777-185.html) - пример проверки системных требований без get_hw_caps.dll, (ссылка на сообщение);
Картинка на страницах инсталлятора (http://www.forum.oszone.ru/post-1242285-250.html) - пример скрипта, показывающий как растянуть стандартную картинку на всю страницу, (ссылка на сообщение);
Наложение изображений на стандартные кнопки (http://www.forum.oszone.ru/post-1330983-1068.html) - пример, показывающий как использовать свои изображения на кнопках, (ссылка на сообщение);
Выделение всех компонентов (http://www.forum.oszone.ru/post-1276947-444.html) - пример показывает как выделить или снять отметки со всех компонентов одной кнопкой, (ссылка на сообщение);
Свой шрифт в инсталляторе (http://forum.oszone.net/post-1875376-964.html) - пример скрипта для использования своего шрифта в инсталляторе, (ссылка на сообщение);
Цвет прогресс-бара (http://forum.oszone.net/post-1693828-1893.html) - пример скрипта для замены цвета прогресс-бара на свой, (ссылка на сообщение);
Создание кастомного прогресс-бара (http://www.forum.oszone.ru/post-1281679-544.html) - имитация кастомного прогресс-бара, (ссылка на сообщение);
Создание кастомного чекбокса (http://forum.oszone.net/post-1798150-166.html) - пример скрипта для создания своего чекбокса, всего 12 состояний, (ссылка на сообщение);
Видео на фоновом окне (http://forum.oszone.net/post-1797189-152.html) - пример скрипта для воспроизведения стандартного avi-файла на фоновом окне инсталлятора, (ссылка на сообщение);
Need for Speed™ Undercover.iss v 2.2 (http://www.forum.oszone.ru/post-1409866-1784.html) - пример скрипта для игры Need for Speed+FreeArc, одним словом название говорит само за себя, (ссылка на сообщение);
Запрет установки в корень системного диска (http://www.forum.oszone.ru/post-1210003-46.html), (ссылка на сообщение);
Автовыбор диска установки (http://www.forum.oszone.ru/post-1217528-97.html) - определяет логические диски на компьютере и предлагает установить на первый логический диск не являющийся системным, (ссылка на сообщение);
Распаковка архивов FreeArc (http://www.forum.oszone.ru/post-1300871-729.html) - новая версия скриптов для распаковки архивов FreeArc, (ссылка на сообщение);
Стандартные папки Windows (http://www.forum.oszone.ru/post-1218002-103.html) - пример скрипта, позволяющий получить путь к стандартным папкам Windows, (ссылка на сообщение);
ExecAndWait.iss (http://forum.oszone.net/post-1325616-881.html) - скрипт, который позволяет запускать другие программы с ожиданием их завершения и при этом инсталлятор остаётся "живым", т.е. отвечает на действия пользователя, (ссылка на сообщение);
Проверка наличия .NET Framework (http://forum.oszone.net/post-1574554-263.html) - пример проверки и загрузки в случае отсутствия .NET Framework'a, (ссылка на сообщение);
MsiQueryProductState.iss (http://forum.oszone.net/post-1731731-2725.html) - пример скрипта для проверки установки программы, установленной с помощью Windows Installer, (ссылка на сообщение);
Определение информации о версии файла (http://forum.oszone.net/post-1643761-1146.html) - пример скрипта для определения информации о версии файла, которую можно посмотреть в свойствах файла на вкладке Версия, (ссылка на сообщение);
Поиск файла по маске (http://www.forum.oszone.ru/post-1351758-1312.html), (ссылка на сообщение);
Спрятать окно инсталлятора (http://www.forum.oszone.ru/post-1475670-2201.html) - спрятать окно инсталлятора без использования параметров командной строки /SILENT, /VERYSILENT, (ссылка на сообщение);
Окно инсталлятора поверх всех остальных (http://forum.oszone.net/post-1628287-1031.html) - окно инсталлятора поверх всех остальных, (ссылка на сообщение);
Замена меню "О программе" (http://forum.oszone.net/post-1660375-1363.html) - пример скрипта для замены текста меню "О программе", (ссылка на сообщение);
Отключить сообщение о нехватке места на HDD (http://forum.oszone.net/post-1839804-655.html) - пример скрипта для отключения сообщения о нехватке места на HDD. С небольшими изменениями может использоваться для отключения и других сообщений, вызванных внутренними обработчиками Inno, (ссылка на сообщение);
Отображение размера устанавливаемого файла (http://forum.oszone.net/post-1882481-1175.html) - пример скрипта для приведения размера устанавливаемого файла из байтовой формы в удобочитаемую (вариант №1) и отображения на втором прогрессбаре, (ссылка на сообщение);
Перевод размера файла в удобочитаемую форму (http://forum.oszone.net/post-1882594-1184.html) - пример скрипта для приведения размера файла из байтовой формы в удобочитаемую (вариант №2), (ссылка на сообщение);
ConvertString.iss (http://forum.oszone.net/post-1643707-1144.html) - пример скрипта для конвертирование строк в различные кодировки, (ссылка на сообщение);
Работа с XML (http://forum.oszone.net/post-1798658-175.html) - архив с скриптами для работы с xml-документами, (ссылка на сообщение);
SetRestorePoint.iss (http://forum.oszone.net/post-1648495-1205.html) - пример скрипта для создания контрольной точки перед установкой, (ссылка на сообщение);
Определение локального IP-адреса (WMI) (http://forum.oszone.net/post-1669020-1496.html) - пример скрипта для определения локальных IPv4, IPv6-адресов машины (используется WMI), (ссылка на сообщение);
Определение внешнего IP-адреса (http://forum.oszone.net/post-1648368-1204.html) - пример скрипта для определения внешнего IP-адреса машины, на которой запущен инсталлятор (необходимо соединение с интернетом), (ссылка на сообщение);
IsInternetActive.iss (http://forum.oszone.net/post-1860073-827.html) - пример скрипта для определения подключения машины к Интернет, (ссылка на сообщение);
Запущен ли процесс (WMI) (http://forum.oszone.net/post-1685154-1693.html) - пример скрипта для определения запущен ли определенный процесс в системе, используя WMI, (ссылка на сообщение);
Запущен ли процесс (http://forum.oszone.net/post-1800689-218.html) - пример скрипта для определения запущен ли определенный процесс в системе, (ссылка на сообщение);
Закрепить ярлык на панели задач в Windows 7 (вариант №1) (http://forum.oszone.ru/post-1444931-2009.html) - пример закрепления ярлыка приложения на панели задач в Windows 7, (ссылка на сообщение);
Закрепить ярлык на панели задач в Windows 7 (вариант №2) (http://forum.oszone.net/post-1827806-556.html) - пример закрепления ярлыка приложения на панели задач в Windows 7, (ссылка на сообщение);
Установка гаджета в Windows 7 (http://forum.oszone.net/post-1861100-834.html) - пример установки гаджета в Windows 7 (требуется юникодная версия Inno), (ссылка на сообщение);
Установка драйвера устройства (http://forum.oszone.net/post-1674976-1599.html) - пример скрипта для установки legacy- и WDM- (требуется утилита devcon.exe) драйверов устройств, (ссылка на сообщение);




ISTool (http://sourceforge.net/projects/istool/) - неплохой редактор скриптов Inno Setup.
Последняя версия: 5.3.0.1 [29.09.2009] - Скачать (http://sourceforge.net/projects/istool/files/istool-5.3.0.1.exe/download) | зеркало (http://sourceforge.net/settings/mirror_choices?projectname=istool&filename=istool-5.3.0.1.exe);


Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
Последняя версия: 1.0.3.1 [23.03.2008] - Скачать (http://www.freedownloadsplace.com/Inno-Script-Generator-Download-31392.htm) | зеркало на русифицированную программу (http://ifolder.ru/21111525);
Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.


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


Inno Setup GameScript Generator (http://forum.csmania.ru/viewtopic.php?f=38&t=4688) - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;


ISSkin (http://isskin.codejock.com/) - Программа для создания и добавления в инсталлятор скинов. Инструкция (http://isskin.codejock.com/gettingstarted.asp).
Последняя версия: 3.0.0.0 [19.01.2010] - Скачать (http://isskin.codejock.com/downloads/ISSkinExample.zip);


ISSJoiner (http://issjoiner.codeplex.com/) - Программа для объединения нескольких скриптов InnoSetup в один.
Последняя версия: 3.0 [23.07.2009]


Converter (http://forum.oszone.net/post-1216149-86.html) - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
Последняя версия: 0.1.4 [13.03.2010] - Скачать (http://forum.oszone.net/attachment.php?attachmentid=41380&d=1268419710);


[hr]
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1 (http://forum.oszone.net/thread-60604.html)
Inno Setup [все вопросы] часть 2 (http://forum.oszone.net/thread-148703.html)
Скрипты Inno Setup. Помощь и советы [часть 3] (http://forum.oszone.net/thread-190621.html)
[hr]
Продолжение обсуждения
Скрипты Inno Setup. Помощь и советы [часть 5] (http://forum.oszone.net/thread-235078.html)

antuan
31-08-2011, 11:33
Добрый день! Столкнулся вот с такой проблемой:

Использую установщик на Inno Setup для приложения. Оно содержит исполняемый файл и прочие папки. Для их установки использую стандартный Install - тег Files, атрибуты Source, DestDir. И стандартный UnInstall.

И он не удаляет подпапки в одной из папок. То есть папки с файлами удаляет, а в папках с файлами и вложенными папками удаляет только файлы, располагающиеся непосредственно в этой папке, а подпапки и файлы в них - не удаляет.

Пробовал указать эту папку (которая содержит неудаляющиеся подпапки) в UninstallDelete - эту папку стал удалять, но перестал удалять все остальные - те, что поставил инсталлятор. Указывать вообще все в InstallDelete не могу, так как устанавливаемые файлы ставятся в зависимости от Task-ов, поэтому на момент удаления в лоб не узнать, надо удалять файл или нет - очень подходил способ, когда удалялись те файлы, которые были установлены, но тогда возникает неудаление подпапок.

Может кто-нибудь знает, как можно настроить удаление в моем случае, спасибо.

P.S. Inno Setup 5.1.4 (ISPP 5.1.2.0)

Pinci69
02-09-2011, 20:24
Kizekil

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

Pinci69
03-09-2011, 13:17
Для Kizekil
№Как поменять цвет шрифта?Код можно?"

Дэниэл Вайсс
04-09-2011, 12:28
Приветствую, существует рипаг Duke Nukem Forever (2011) [Action (Shooter) / 3D / 1st Person] Multi 2 / Rus {RePack от R.G.ReCoding​}. В нём есть переработанная страница компонентов. Наведя курсор на любой из компонентов, в правом окне, появляется описание этого компонента. Мне очень нужен такой скрипт установки или код. Заранее благодарен.

Akella2007
08-10-2011, 18:05
Подскажите, а как в Innosetup зарегистрировать в windows своё расширение файла?

Vrn
26-10-2011, 14:05
Подскажите, есть ли возможность убрать картинку WizModernSmallImage.bmp из инсталятора? Только не предлагайте закрасить её через фотошоп в цвет #ffffff, чтобы она была незаметна. И ещё вопрос, при выборе директории установки показывает только жесткие и съёмные диски, как можно туда добавить рабочий стол, отображение всех папок рабочего стола, библиотеки, сеть, папку пользователя. В общем нужно сделать также как и в Smart Install Maker.

volk1234
26-10-2011, 18:12
У темы новый куратор - El Sanchez
Благодарим Serega за его огромный вклад и помощь в области Inno Setup.

valyok666
26-10-2011, 18:14
volk1234, спасибо ему)и вам(и всем админам в том числе) за отличный форум)

volk1234
26-10-2011, 18:19
Поправлюсь, благодарить не в теме пожалуйста :)
Если хотите в РМ.
ЗЫ: На таких людях как Serega держатся все хорошие начинания. Форум держится на пользователях, активных участниках и только в меньшей части на модераторах и администраторах (мы лишь обслуживаем его).

Vrn
26-10-2011, 23:10
Не в той теме задал вопрос, если есть возможность подскажите пожалуйста.

Есть ли возможность убрать картинку WizModernSmallImage.bmp из инсталятора? Только не предлагайте закрасить её через фотошоп в цвет #ffffff, чтобы она была незаметна. И ещё вопрос, при выборе директории установки показывает только жесткие и съёмные диски, как можно туда добавить рабочий стол, отображение всех папок рабочего стола, библиотеки, сеть, папку пользователя. В общем нужно сделать также как и в Smart Install Maker.

valyok666
26-10-2011, 23:26
Vrn,
скрытие WizardSmallImage

procedure InitializeWizard();
begin with WizardForm.WizardSmallBitmapImage do begin Hide;
end;
end;


Дерево дисков и папок

[code]
var
TDV: TFolderTreeView;
TFV: TStartMenuFolderTreeView;

procedure TDVOnChange(Sender: TObject);
begin
WizardForm.DirEdit.Text:= AddBackslash(TDV.Directory)+'MyApp';
end;

procedure TFVOnChange(Sender: TObject);
begin
WizardForm.GroupEdit.Text:= AddBackslash(TFV.Directory)+'MyApp';
end;

procedure InitializeWizard();
begin
TDV:= TFolderTreeView.Create(WizardForm);
TDV.Top:= WizardForm.DirEdit.Top+28;
TDV.Width:= 417;
TDV.Height:= 100;
TDV.OnChange:= @TDVOnChange;
TDV.Parent:= WizardForm.SelectDirPage;


TFV:= TStartMenuFolderTreeView.Create(WizardForm);
TFV.Top:= WizardForm.GroupEdit.Top+28;
TFV.Width:= 417;
TFV.Height:= 100;
TFV.SetPaths(ExpandConstant('{userprograms}'),ExpandConstant('{commonprograms}'),ExpandConstant('{us erstartup}'),ExpandConstant('{commonstartup}'));
TFV.OnChange:= @TFVOnChange;
TFV.Parent:= WizardForm.SelectProgramGroupPage;
end;

Vrn
27-10-2011, 00:11
valyok666, спасибо огромнейшее. С картинкой проблем не было, а вот с деревом ошибки начали вылетать. В общем я отписал в скайп.

Gugle
27-10-2011, 10:17
Доброго времени суток!

Подскажите пожалуйста как сделать обновление программы, если она уже установлена?

Есть функция, что ни буть типа lastPos('by', str);, кторая возвращает позицию последнего вхождения соответствия в строку символа или писать ручками?
P.S.
Где то встречал тему, но никак не могу найти. Буду благодарен за подсказку.

El Sanchez
27-10-2011, 15:38
Подскажите пожалуйста как сделать обновление программы, если она уже установлена? »
Gugle, Upgrades (http://www.vincenzo.net/isxkb/index.php?title=Upgrades)

возвращает позицию последнего вхождения соответствия в строку »


function StrRStrI(pszSource, pszLast, pszSrch: PChar): PChar; external 'StrRStrIA@shlwapi.dll stdcall';

//
function LastPos(SubStr, S: String): Integer;
begin
Result := Length(S) - Length(StrRStrI(S, '', SubStr)) + 1;
if Result = Length(S) + 1 then Result := 0;
end;

procedure InitializeWizard();
var
i: integer;
begin
i := LastPos('hf', 'rttrhf657hf6544');
end;

Gugle
27-10-2011, 15:45
El Sanchez, спасибо!

Решил установить :
Расширенная версия Inno Setup от Restools, собрана на основе версии 5.4.2.

В нем есть графический редактор страниц (wizardForm designer). В него можно добавить новое окно (Menu-->Desiner-->Inser a WizardPage). А как удалить это окно после добавления?

valyok666
27-10-2011, 16:04
Gugle, замени на PansiChar

Sotonisto
28-10-2011, 09:57
Есть вот такой скрипт (http://rghost.ru/26906051) (отписывался в предыдущей теме). Я хочу добавить 2 кнопки (свернуть и закрыть) без использования ботвы.
Вот порылся в примерах и нашел это:
[_Code]
function ReleaseCapture(): Longint; external 'ReleaseCapture@user32.dll stdcall';

const
WM_SYSCOMMAND = $0112;

var
CaptionPanel:Tpanel;
MinimizeBtn,CloseBtn:TButton;

procedure MinimizeBtnClick(Sender:TObject);
begin
SendMessage(WizardForm.Handle,WM_SYSCOMMAND,61472,0);
end;

procedure CloseBtnClick(Sender:TObject);
begin
WizardForm.Close;
end;

procedure LabelOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture
SendMessage(WizardForm.Handle, WM_SYSCOMMAND, $F012, 0)
end;

procedure InitializeWizard;
var
d:integer;
begin
CaptionPanel:=TPanel.Create(WizardForm);
with CaptionPanel do begin
Parent:=WizardForm;
Height:=22;
Width:=WizardForm.Width;
Align:=alTop;
ParentColor:=True;
Color:=$000000;
BevelInner:=bvNone;
BevelOuter:=bvNone;
end;

with TLabel.Create(CaptionPanel) do begin
Parent:=CaptionPanel;
Transparent:=True;
Autosize:=False;
Top:=0;
Left:=0;
Width:=CaptionPanel.Width;
Height:=CaptionPanel.Height;
OnMouseDown:=@LabelOnMouseDown;
end;

CloseBtn:=TButton.Create(CaptionPanel);
with CloseBtn do begin
Parent:=CaptionPanel;
Height:=20;
Width:=20;
Top:=(CaptionPanel.Height-Height) div 2;
Left:=CaptionPanel.Width-Width-d;
Font.Name:='Arial'
Caption:='X';
OnClick:=@CloseBtnClick;
end;

MinimizeBtn:=TButton.Create(CaptionPanel);
with MinimizeBtn do begin
Parent:=CaptionPanel;
Height:=20;
Width:=20;
Top:=(CaptionPanel.Height-Height) div 2;
Left:=CaptionPanel.Width-Width-CloseBtn.Width-d-2;
Font.Name:='Arial'
Caption:='_';
OnClick:=@MinimizeBtnClick;
end;
end;
Если его добавить в скрипт инстала получится это:
http://img845.imageshack.us/img845/7751/49014816.jpg
Возникли 2 вопроса:
1. Как сделать прозрачным черную полосу (например через Transparent и тд.)?
2. Как:
а) заменить кнопки на изображения (я думаю, вы уже поняли, что "_" и "Х" - это нижнее подчеркивание и икс)?
б) или наложить текстуры?

Edison007
28-10-2011, 12:20
1. Как сделать прозрачным черную полосу (например через Transparent и тд.)? »
Удали её и укажи кнопкам родителя не CaptionPanel, а WizardForm

2. Как:
а) заменить кнопки на изображения (я думаю, вы уже поняли, что "_" и "Х" - это нижнее подчеркивание и икс)?
б) или наложить текстуры? »
A) Можно вместо кнопок использовать бмп изображение, и указать на него действие при нажатии.
B) лучше через ботву, но можно написать скрипт текстуирования кнопок через бмп, на примере скрипта от Shegorat

El Sanchez
28-10-2011, 17:02
Я хочу добавить 2 кнопки (свернуть и закрыть) без использования ботвы »
Sotonisto, можно вместо панелей и лабелов использовать компонент TNewSpeedButton, как раз тот случай, и использовать нормальные глифы вместо "_" и "Х". Пример сочинять сейчас некогда, посмотрите на реализацию в Example_TNewSpeedButton_1.iss и Example_TNewSpeedButton_2.iss в примерах от Restools.




© OSzone.net 2001-2012