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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: Vadikan
Дата: 22-05-2012
Описание: Закрыто
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;


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


Продолжение обсуждения
Скрипты Inno Setup. Помощь и советы [часть 5]

Отправлено: 18:01, 29-08-2011

 
Vrn Vrn вне форума

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


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

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


Не в той теме задал вопрос, если есть возможность подскажите пожалуйста.

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

Отправлено: 23:10, 26-10-2011 | #11



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

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


Аватара для valyok666

Старожил


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

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


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;

-------
Салтыков-Щедрин: "А надо учиться, учиться, учиться"

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

Отправлено: 23:26, 26-10-2011 | #12

Vrn Vrn вне форума

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


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

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


valyok666, спасибо огромнейшее. С картинкой проблем не было, а вот с деревом ошибки начали вылетать. В общем я отписал в скайп.

Отправлено: 00:11, 27-10-2011 | #13


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


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

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


Доброго времени суток!

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

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

Последний раз редактировалось Gugle, 27-10-2011 в 11:51.


Отправлено: 10:17, 27-10-2011 | #14


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

Ветеран


Contributor


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

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


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

Цитата Gugle:
возвращает позицию последнего вхождения соответствия в строку »
читать дальше »

Код: Выделить весь код
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;
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:38, 27-10-2011 | #15


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


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

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


El Sanchez, спасибо!

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

Последний раз редактировалось Gugle, 27-10-2011 в 16:08.


Отправлено: 15:45, 27-10-2011 | #16


Аватара для valyok666

Старожил


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

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


Gugle, замени на PansiChar

-------
Салтыков-Щедрин: "А надо учиться, учиться, учиться"

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

Отправлено: 16:04, 27-10-2011 | #17


Аватара для Sotonisto

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


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

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


Есть вот такой скрипт (отписывался в предыдущей теме). Я хочу добавить 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;

Если его добавить в скрипт инстала получится это:

Возникли 2 вопроса:
1. Как сделать прозрачным черную полосу (например через Transparent и тд.)?
2. Как:
а) заменить кнопки на изображения (я думаю, вы уже поняли, что "_" и "Х" - это нижнее подчеркивание и икс)?
б) или наложить текстуры?

-------
Большой шаг вперед, как правило, следствие хорошего пинка под зад.


Отправлено: 09:57, 28-10-2011 | #18


Аватара для Edison007

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


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

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


Цитата Sotonisto:
1. Как сделать прозрачным черную полосу (например через Transparent и тд.)? »
Удали её и укажи кнопкам родителя не CaptionPanel, а WizardForm

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

Отправлено: 12:20, 28-10-2011 | #19


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

Ветеран


Contributor


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

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


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

Отправлено: 17:02, 28-10-2011 | #20



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Test ferget Тест-форум 0 24-08-2011 01:25
test ! ! Aaa ! ! Тест-форум 0 23-04-2011 11:29
test Santa aka Snt Тест-форум 0 16-04-2011 22:35
test xolod. Программное обеспечение Linux и FreeBSD 0 19-04-2009 21:03
Test memory KEugeNik Хочу все знать 11 23-11-2003 23:11




 
Переход