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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 22-10-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]
Скрипты Inno Setup. Помощь и советы [часть 7]

Отправлено: 08:52, 02-02-2015

 

Аватара для Sotonisto

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


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

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


Dodakaedr, большое спасибо. Всё прекрасно работает.

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


Отправлено: 13:32, 11-03-2015 | #281



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

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


Аватара для Dodakaedr

Ветеран


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

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


Цитата ekspoint:
Мне еще нужно когда не наводишь на компонент то останется главная картинка »
Скрытый текст
Код: Выделить весь код
[Setup]
AppName=Моя программа
AppVersion=1.5
DefaultDirName={pf}\Моя программа

[Languages]
Name: "RU"; MessagesFile: "compiler:Languages\Russian.isl"

[CustomMessages]
RU.CompName1=Компонент 1
RU.CompName2=Компонент 2
RU.ComponentsInfo=Наведите курсор мыши на компонент, чтобы прочитать его описание.
RU.ComponentsImgInfo=Наведите курсор мыши на компонент, чтобы посмотреть его превью.
RU.CompDesc1=Описание первого компонента
RU.CompDesc2=Описание второго компонента

[Files]
Source: "compiler:WizModernImage.bmp"; DestName: "CompDescImg1.bmp"; Flags: dontcopy
Source: "compiler:WizModernImage-IS.bmp"; DestName: "CompDescImg2.bmp"; Flags: dontcopy
Source: "compiler:WizModernImage-IS.bmp"; DestName: "MainPic.bmp"; Flags: dontcopy

[Types]
Name: full; Description: Full installation; Flags: iscustom

[Components]
Name: comp1; Description: "{cm:CompName1}"; Types: full
Name: comp2; Description: "{cm:CompName2}"; Types: full

[Code]
type
  TComponentDesc = record
    ImageName: String;
    Index: Integer;
  end;

var
  CompDescs: array of TComponentDesc;
  CompDescImgPanel: TPanel;
  CompIndex, LastIndex: Integer;
  CompDescImg: TBitmapImage;

procedure ShowCompDescription(Sender: TObject; X, Y, Index: Integer; Area: TItemArea);
var
  i: Integer;
begin
  if Index = LastIndex then Exit;
  CompIndex := -1;
  for i := 0 to GetArrayLength(CompDescs) -1 do
  begin
    if (CompDescs[i].Index = Index) then
    begin
      CompIndex := i;
      Break;
    end;
  end;
  if (CompIndex >= 0) and (Area = iaItem) then
  begin
    if not FileExists(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName) then
      ExtractTemporaryFile(CompDescs[CompIndex].ImageName);
    CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\') + CompDescs[CompIndex].ImageName);
    end;
  LastIndex := Index;
end;

procedure CompListMouseLeave(Sender: TObject);
begin
  LastIndex := -1;
  ExtractTemporaryFile('MainPic.bmp');
 CompDescImg.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp'));
end;

procedure AddCompDescription(AIndex: Integer; AImageName: String);
var
  i: Integer;
begin
  i := GetArrayLength(CompDescs);
  SetArrayLength(CompDescs, i + 1);
  CompDescs[i].ImageName := AImageName;
  CompDescs[i].Index := AIndex - 1
end;

procedure InitializeWizard();
begin
  WizardForm.SelectComponentsLabel.Hide;
  WizardForm.TypesCombo.Hide;
  WizardForm.ComponentsList.SetBounds(ScaleX(0), ScaleY(0), ScaleX(184), ScaleY(45));
  WizardForm.ComponentsList.OnItemMouseMove:= @ShowCompDescription;
  WizardForm.ComponentsList.OnMouseLeave := @CompListMouseLeave;

  CompDescImgPanel := TPanel.Create(WizardForm);
  with CompDescImgPanel do
  begin
    Parent := WizardForm.SelectComponentsPage;
    SetBounds(ScaleX(192), ScaleY(0), ScaleX(225), ScaleY(120));
    BevelInner := bvLowered;
  end;

  CompDescImg := TBitmapImage.Create(WizardForm);
  with CompDescImg do
  begin
    Parent := CompDescImgPanel;
    SetBounds(ScaleX(5), ScaleY(5), CompDescImgPanel.Width - ScaleX(10), CompDescImgPanel.Height - ScaleY(10));
    Stretch := True;
    ExtractTemporaryFile('MainPic.bmp');
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\MainPic.bmp'));
  end;

  AddCompDescription(1, 'CompDescImg1.bmp');
  AddCompDescription(2, 'CompDescImg2.bmp');
end;

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


Последний раз редактировалось Dodakaedr, 11-03-2015 в 16:59.


Отправлено: 16:44, 11-03-2015 | #282


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


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

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


Цитата Dodakaedr:
его сделать, помогите пожайлуста »
прочтите еще раз полностью обсуждение вашего вопроса, в основном это помогает вернуть свое понимание)) ну а если все же нет то вот вам пример »
Спасибо ваш пример помог , но у меня возник такой вопрос, я с Messages убрал натпись на кнопке , но она осталась , я подумал что ето может сама картинка с натписью , но нет , неподскажете что ето может быть? https://yadi.sk/i/CK0NoXnDfBH6E

Отправлено: 17:51, 11-03-2015 | #283


Аватара для Dodakaedr

Ветеран


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

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


Цитата ShadeUa:
неподскажете что ето может быть? »
Это кнопка! Если хотите убрать то нужно её скрыть
Код: Выделить весь код
[Setup]
AppName=test
AppVersion=1.0
DefaultDirName={pf}\test

[code]
procedure CurPageChanged(CurPageID: Integer);
begin
  WizardForm.BackButton.Hide;
end;
секция Messages служить для изменения надписей, если она отсутствует то используется текст по умолчанию с языкового файла
Код: Выделить весь код
[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

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


Отправлено: 18:13, 11-03-2015 | #284


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


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

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


Цитата Dodakaedr:
»
спасибо

Отправлено: 19:33, 11-03-2015 | #285


Аватара для Sotonisto

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


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

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


Доброго времени суток.
Подскажите, как реализовать отображение жирного текста одновременно с обычным. Т.е.:
Код: Выделить весь код
Caption:= ExpandConstant('Случайная надпись в скрипте');
отображается как "Случайная надпись в скрипте", мне же необходимо "Случайная надпись в скрипте".

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


Отправлено: 14:44, 14-03-2015 | #286


Аватара для kotyarko@fb

Старожил


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

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


Цитата Sotonisto:
Подскажите, как реализовать отображение жирного текста одновременно с обычным. »
http://krinkels.org/threads/redrawtext.818/

-------
http://forum.worldoftanks.ru/topic/1429925-/
Исходник моего установщика: https://bitbucket.org/Kotyarko_O/kmp


Отправлено: 16:50, 14-03-2015 | #287


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


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

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


Здраствуйте , не подскажите как сделать абзац в строке в Inno

Отправлено: 17:19, 14-03-2015 | #288


Аватара для Dodakaedr

Ветеран


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

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


Цитата ShadeUa:
Здраствуйте , не подскажите как сделать абзац в строке в Inno »
Скрытый текст
Код: Выделить весь код
[Setup]
AppName=test
AppVersion=1.0
DefaultDirName={pf}\test

[Code]
var
  Label1: TLabel;

procedure RedesignWizardForm;
begin
  { Label1 }
  Label1 := TLabel.Create(WizardForm);
  with Label1 do
  begin
    Parent := WizardForm.WelcomePage;
    Caption := 'Label1' + #13#10 +
         '' + #13#10 +
         'абзац....';
    Left := ScaleX(192);
    Top := ScaleY(216);
    Width := ScaleX(45);
    Height := ScaleY(39);
  end;

  with WizardForm.WelcomeLabel2 do
  begin
    Height := ScaleY(103);
  end;
end;

procedure InitializeWizard();
begin
  RedesignWizardForm;
end;

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

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

Отправлено: 17:32, 14-03-2015 | #289


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


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

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


Цитата Dodakaedr:
од: Выделить весь код
[Setup]
AppName=test
AppVersion=1.0
DefaultDirName={pf}\test
[code]
var
Label1: TLabel;
procedure RedesignWizardForm;
begin
{ Label1 }
Label1 := TLabel.Create(WizardForm);
with Label1 do
begin
Parent := WizardForm.WelcomePage;
Caption := 'Label1' + #13#10 +
'' + #13#10 +
'абзац....';
Left := ScaleX(192);
Top := ScaleY(216);
Width := ScaleX(45);
Height := ScaleY(39);
end;
with WizardForm.WelcomeLabel2 do
begin
Height := ScaleY(103);
end;
end;
procedure InitializeWizard();
begin
RedesignWizardForm;
end; »
спибо большое , вы очередной раз меня выручили

Отправлено: 17:45, 14-03-2015 | #290



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 7] El Sanchez Автоматическая установка приложений 2499 02-02-2015 08:59
Скрипты 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




 
Переход