Имя пользователя:
Пароль:
 | Правила  

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

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

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

Ветеран


Contributor


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


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

Профиль | Отправить 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

 

Аватара для habib2302

Ветеран


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

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


StongCool,
Цитата StongCool:
Ссылка битая на скриншот. »


http://krinkels.org/threads/iswin7.1946/
Код: Выделить весь код
[Setup]
DisableWelcomePage=true
InfoBeforeFile=файл с описанием.rtf

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

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

Отправлено: 13:18, 18-01-2015 | #2331



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

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


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


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

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


Здраствуйте. Я не так давно завадал вопрос но на него так не кто не ответил , а сам не мог розобраться. Как мне затекстурировать кнопку info через батву, и как сдлеать что при нажатии на кнопку открівалось не окно а картинка ?
http://forum.oszone.net/attachment.p...1&d=1421577903

Последний раз редактировалось ShadeUa, 28-01-2015 в 16:20.


Отправлено: 13:45, 18-01-2015 | #2332


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

Старожил


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

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


Цитата ShadeUa:
Как мне затекстурировать кнопку info через батву »
Так же, как и текстурировали остальные.

Цитата ShadeUa:
и как сдлеать что при нажатии на кнопку открівалось не окно а картинка ? »
Создать функцию\процедуру, рисующую эту картинку и вызывать её через свойство OnClick вашей кнопки.

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


Отправлено: 15:22, 18-01-2015 | #2333


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


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

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


Еще один вопрос , а что ето за ошибка?
http://forum.oszone.net/attachment.p...1&d=1421585491

Последний раз редактировалось ShadeUa, 28-01-2015 в 16:20.


Отправлено: 15:54, 18-01-2015 | #2334


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

Старожил


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

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


Цитата ShadeUa:
Еще один вопрос , а что ето за ошибка? »
У вас два раза подряд создаётся InfBtn, это во-первых.
Во-вторых, InfBtn должен быть объявлен как HWND.
В-третьих, последний заданный параметр функции BtnCreate - это:
Код: Выделить весь код
//IsCheckBtn - если True, то будет создана кнопка (аналог CheckBox) имеющая включенное и выключенное состояние
//             если False, то создастся обычная кнопка
По логике (если кнопка просто должна открывать изображение) должен быть выставлен False, а у вас True.

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


Отправлено: 16:36, 18-01-2015 | #2335


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


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

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


Цитата kotyarko@fb:
У вас два раза подряд создаётся InfBtn, это во-первых.
Во-вторых, InfBtn должен быть объявлен как HWND.
В-третьих, последний заданный параметр функции BtnCreate - это:
Код: Выделить весь код
//IsCheckBtn - если True, то будет создана кнопка (аналог CheckBox) имеющая включенное и выключенное состояние
// если False, то создастся обычная кнопка
По логике (если кнопка просто должна открывать изображение) должен быть выставлен False, а у вас True. »
Я все исправил , но тоже самое , я то не програмист просто любитель , вот каникулы начались решил опять етим позаниматься но нечего не полуаеться
Я сделал все как вы говорили , и обьявил его
([code]
var
hCancelBtn, hNextBtn, hBackBtn, hDirBrowseBtn, hGroupBrowseBtn, InfBtn (*, TButtonOnClick *):HWND;
ButtonFont: TFont ; ) но нечего не изменилось

Последний раз редактировалось ShadeUa, 18-01-2015 в 18:20.


Отправлено: 16:51, 18-01-2015 | #2336


Аватара для Dodakaedr

Ветеран


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

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


Цитата ShadeUa:
и как сдлеать что при нажатии на кнопку открівалось не окно а картинка ? »
Такой пример не пойдет?
Скрытый текст
Код: Выделить весь код
[Setup]
AppName=My Programm
AppVersion=1.1
DefaultDirName={pf}\My Programm
OutputDir=.

[Files]
DestName: "WizardForm.BitmapImage1.bmp"; Source: "compiler:WizModernSmallImage-IS.bmp"; Flags: dontcopy solidbreak

[Code]
const
  GCL_STYLE = -26;
  CS_NOCLOSE = $200;

var
  BitmapImage1: TBitmapImage;
  NewButton1, NewButton2: TButton;
  Form: TSetupForm;

function GetClassLong(Wnd: HWnd; Index: Integer): Longint; external 'GetClassLongA@user32.dll stdcall';
function SetClassLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint; external 'SetClassLongA@user32.dll stdcall';

procedure ButtonOnClick(Sender: TObject);
begin
   Form.Close;
   WizardForm.Enabled:=true;
end;

procedure ButtonOnClick2(Sender: TObject);
begin
   Form.Show;
   WizardForm.Enabled:=false;
end;

procedure RedesignWizardForm;
begin
  Form:= CreateCustomForm;
  Form.ClientWidth := ScaleX(150);
  Form.ClientHeight := ScaleY(100);
  Form.Caption := 'Инфо';
  Form.Center;
  Form.FormStyle := fsStayOnTop;
  SetClassLong(Form.Handle, GCL_STYLE, GetClassLong(Form.Handle, GCL_STYLE) or CS_NOCLOSE);

  NewButton2 := TButton.Create(Form);
  NewButton2.Parent := Form;
  NewButton2.Width := ScaleX(55);
  NewButton2.Height := ScaleY(23);
  NewButton2.Left := Form.ClientWidth - ScaleY(57);
  NewButton2.Top := Form.ClientHeight - ScaleY(25);
  NewButton2.Caption := 'OK';
  NewButton2.OnClick := @ButtonOnClick;

  BitmapImage1 := TBitmapImage.Create(Form);
  with BitmapImage1 do
  begin
    Parent := Form;
    Left := ScaleX(0);
    Top := ScaleY(0);
    Width := ScaleX(50);
    Height := ScaleY(50);
    ExtractTemporaryFile('WizardForm.BitmapImage1.bmp');
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.BitmapImage1.bmp'));
  end;

  NewButton1 := TButton.Create(WizardForm);
  with NewButton1 do
  begin
    Parent := WizardForm;
    Left := ScaleX(48);
    Top := ScaleY(328);
    Width := ScaleX(75);
    Height := ScaleY(25);
    Caption := 'Инфо';
    OnClick := @ButtonOnClick2;
  end;
end;

procedure InitializeWizard();
begin
  RedesignWizardForm;
end;

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


Отправлено: 20:12, 18-01-2015 | #2337


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


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

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


Цитата Dodakaedr:
Такой пример не пойдет? »
к сожилению нет , я вам сейчас покажу что я хочу сделать

Отправлено: 21:18, 18-01-2015 | #2338


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


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

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


Цитата Dodakaedr:
Такой пример не пойдет? »
Вот так хотелося б сделать .Весь скрипт перелапошил и непонял как ето сделать
http://forum.oszone.net/attachment.p...1&d=1421605464
http://forum.oszone.net/attachment.p...1&d=1421605464

Последний раз редактировалось ShadeUa, 28-01-2015 в 16:20.


Отправлено: 21:24, 18-01-2015 | #2339


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


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

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


ShadeUa,
Скрытый текст
Код: Выделить весь код
function InitializeSetup:boolean;
begin
  if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
  if not FileExists(ExpandConstant('{tmp}\1.png')) then ExtractTemporaryFile('1.png');
  Result:=True;
end;

#ifdef UNICODE
    #define A "W"
#else
    #define A "A"
#endif

const
  GWL_WNDPROC = -4;
  WM_NCLBUTTONDOWN = $00A1;
type
  LPARAM = Integer;
  WPARAM = Integer;
  LRESULT = Integer;
  TFNWndProc = Integer;
var
  OldWindowProc: Longint;

function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; external 'SetWindowLong{#A}@user32.dll stdcall';
function CallWindowProc(lpPrevWndFunc: TFNWndProc; hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; external 'CallWindowProc{#A}@user32.dll stdcall';

function WindowProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT;
begin
  case Msg of
    WM_NCLBUTTONDOWN:
    begin
      Msg := 0;
      WizardForm.Close;
    end;
  end;
  Result := CallWindowProc(OldWindowProc, hWnd, Msg, wParam, lParam);
end;

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

procedure InitializeWizard;
begin
  CreateFormFromImage(wizardform.Handle,ExpandConstant('{tmp}\1.png'));
  ImgApplyChanges(WizardForm.Handle);
  OldWindowProc := SetWindowLong(WizardForm.Handle, GWL_WNDPROC, CallbackAddr('WindowProc'));
end;

procedure DeinitializeSetup();
begin
  SetWindowlong(WizardForm.Handle, GWL_WNDPROC, OldWindowProc);
  gdipShutdown;
end;

на кнопку, на форму, картинку. удачи

Отправлено: 21:59, 18-01-2015 | #2340



Компьютерный форум 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




 
Переход