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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 06-06-2020
Внимание! Данная тема предназначена только для обсуждения написания скриптов!
Остальные вопросы, а также последние версии компилятора в теме
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.3.0 [17.01.2015] - Скачать;



Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Скрипты Inno Setup. Помощь и советы [часть 6] | Скрипты Inno Setup. Помощь и советы [часть 6].7z
Скрипты Inno Setup. Помощь и советы [часть 7] | Скрипты Inno Setup. Помощь и советы [часть 7].7z
Скрипты Inno Setup. Помощь и советы [часть 8] | Скрипты Inno Setup. Помощь и советы [часть 8].7z
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:09, 04-04-2018

 

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

Ветеран


Contributor


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

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


Цитата nik1967:
Тоже через костыли, но вроде работает. »
nik1967, на 32-разрядной системе не будет, не проверяете разрядность при обращении к HKLM64, привет исключению. Та даже если проверку сделаете, на 32-разрядной всё равно ничего не найдёте, обращаетесь к несуществующему разделу реестра.
nik1967, Vanadiy777, вы оба используете раздел WOW6432Node явно, это нельзя делать. Это сейчас вы его читаете, а потом писать туда начнёте и вот уже на 32-разрядных системах появляется раздел WOW6432Node, где быть его не должно. Браузеры ищите сначала в HKCU, потом в HKLM64 (с IsWin64), потом в HKLM32. Подраздел для всех базовых разделов одинаков - SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, не надо тут никакой отсебятины с WOW6432Node.

Отправлено: 20:48, 31-10-2022 | #861



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

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


Аватара для nik1967

Старожил


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

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


El Sanchez, мне то что, мне это не надо. Попросил человек, я помог, чем мог. Давно не занимался скриптами, старый стал. А тут немного размялся. Взял бы да и сам написал скрипт. По всем правилам. Всё, хватит. Отписал своё. Больше не буду вводить пользователей в заблуждение.

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".

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

Отправлено: 22:26, 31-10-2022 | #862


Аватара для Vanadiy777

Ветеран


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

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


nik1967, зря Вы так... Ни кого Вы в заблуждение не вводили...
Только благодаря Вам я решил свою проблему, над которой ломал голову не одну неделю.
И, хотя маэстро El Sanchez говорит, что написано не правильно, тем не менее, теперь все чётко отрабатывает
и на 32-разрядной и на 64-разрядной системе, а также на 64-разрядной, если установлена Mozilla x86.

За что Вам еще раз огромное сердечное спасибо!!!

-------
Подписываюсь крестиком... Но кнопочку "Полезное сообщение" все равно нажмите...


Отправлено: 23:15, 31-10-2022 | #863


Аватара для Garasahedov

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


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

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


Приветствую, не одну неделю ищу такой скрипт: http://www.forum.oszone.ru/post-1242285-250.html
Но инсталятор почему-то мигает. Дайте пожалуйста если имеется такой скрипт с botva и/или InnoCallback!

Последний раз редактировалось Garasahedov, 10-11-2022 в 21:18.


Отправлено: 20:44, 10-11-2022 | #864


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


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

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


Здравствуйте! Подскажите пожалуйста!
Тут вопрос упирается в WizardSmallImage.bmp.
В справках копался, на глаза так и не попалось решения, может плохо искал.

Есть какая то возможность чтобы эта картинка отображалась не из WizardSmallImage.bmp,
а из экзешника программы Program.exe, допустим отображала иконку 48x48.

И есть ли возможность, чтобы там отображалась картинка в PNG.

Может скрипт такой есть.

Последний раз редактировалось DA-Bro, 12-11-2022 в 06:14.


Отправлено: 17:37, 11-11-2022 | #865


Аватара для Vanadiy777

Ветеран


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

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


Цитата DA-Bro:
Есть какая то возможность чтобы эта картинка отображалась не из WizardSmallImage.bmp,
а из экзешника программы Program.exe, допустим отображала иконку 48x48. »
DA-Bro,
можно из экзешника программы выдернуть иконку и сделать из нее свой WizardSmallImage.bmp нужного размера.
На счет PNG не знаю, но вроде просто так не поддерживается... Попробуйте на форуме примеры поискать.

-------
Подписываюсь крестиком... Но кнопочку "Полезное сообщение" все равно нажмите...


Отправлено: 10:31, 12-11-2022 | #866


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


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

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


Vanadiy777, да я пробовал в некоторых программках и онлайн сервисах. Непрозрачные получаются. У меня фон тёмный. Приходится на этот по размеру фон накладывать значок в PNG. Потом в BMP. Так вроде нормально смотрится. Других подходящих решений пока не нашел.

Отправлено: 15:33, 12-11-2022 | #867


Аватара для ZVSRus

Старожил


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

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


Картинка в .png лежит на панельке

#include "botva2.iss"

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
OutputDir=.

[Files]
Source: "b2p.dll"; DestDir: "{tmp}"; Flags: dontcopy
Source: "botva2.dll"; DestDir: "{tmp}"; Flags: dontcopy
Source: "Icon.png"; DestDir: "{tmp}"; Flags: dontcopy

[code]
var
Panel1: TPanel;

function InitializeSetup(): Boolean;
begin
if not FileExists(ExpandConstant('{tmp}\b2p.dll')) then ExtractTemporaryFile('b2p.dll');
if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
if not FileExists(ExpandConstant('{tmp}\Icon.png')) then ExtractTemporaryFile('Icon.png');
Result := True;
end;

procedure InitializeWizard();
begin
with WizardForm.WizardSmallBitmapImage do
begin
SetBounds(ScaleX(370), ScaleY(0), ScaleX(58), ScaleY(58));
end;

with WizardForm.PageDescriptionLabel do
begin
Width := ScaleX(289);
end;

with WizardForm.PageNameLabel do
begin
Width := ScaleX(305);
end;

Panel1 := TPanel.Create(WizardForm);
with Panel1 do
begin
Parent := WizardForm.MainPanel;
SetBounds(ScaleX(436), ScaleY(0), ScaleX(58), ScaleY(58));
BevelOuter := bvNone;
end;
ImgLoad(Panel1.Handle, ExpandConstant('{tmp}\Icon.png'), ScaleX(0), ScaleY(0), ScaleX(58), ScaleY(58), True, False); // Картинка PNG
ImgApplyChanges(Panel1.Handle);
end;

procedure DeinitializeSetup();
begin
gdipShutdown;
end;

Картинка в .png лежит на MainPanel

#include "botva2.iss"

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
OutputDir=.

[Files]
Source: "b2p.dll"; DestDir: "{tmp}"; Flags: dontcopy
Source: "botva2.dll"; DestDir: "{tmp}"; Flags: dontcopy
Source: "Icon.png"; DestDir: "{tmp}"; Flags: dontcopy

[code]
function InitializeSetup(): Boolean;
begin
if not FileExists(ExpandConstant('{tmp}\b2p.dll')) then ExtractTemporaryFile('b2p.dll');
if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
if not FileExists(ExpandConstant('{tmp}\Icon.png')) then ExtractTemporaryFile('Icon.png');
Result := True;
end;

procedure InitializeWizard();
begin
with WizardForm do
begin
WizardForm.WizardSmallBitmapImage.SetBounds(ScaleX(370), ScaleY(0), ScaleX(58), ScaleY(58));
WizardForm.PageDescriptionLabel.Width := ScaleX(289);
WizardForm.PageNameLabel.Width := ScaleX(305);
end;

ImgLoad(WizardForm.MainPanel.Handle, ExpandConstant('{tmp}\Icon.png'), ScaleX(436), ScaleY(0), ScaleX(58), ScaleY(58), True, False); // Картинка PNG
ImgApplyChanges(WizardForm.MainPanel.Handle);
end;

procedure DeinitializeSetup();
begin
gdipShutdown;
end;

-------
Inno Setup 5.5.1.ee2 Ultra ANSI Unicode

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

Отправлено: 16:48, 12-11-2022 | #868


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


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

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


ZVSRus, Спасибо!

Последний раз редактировалось DA-Bro, 25-11-2022 в 01:45.


Отправлено: 01:32, 13-11-2022 | #869


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


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

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


Может ещё кто поможет как кнопки прикручивать.

Я вот видел как у кого-то из репакоделов на фоне картинки WizardImage.bmp есть дополнительные две кнопки.
Расположены одна ниже другой.
Одна - веб ссылка на сайт программы или форума.
Вторая - открывает файл Info.RTF в культурном окошке для просмотра.

Я тут нашел кусок кода с кнопкой для ссылки, но она на всех окнах инсталлятора видна.
Не то.
Code

Код: Выделить весь код
{ Переменные }
var
  PupMnu: TPopupMenu;
  btn: TButton;

{ Процедура обработки нажатия на кнопку }
procedure BtnOnClick(Sender: TObject);
var ErrorCode: Integer;
  p: TPoint;
begin
  p.x := btn.Left;
  p.y := btn.Top + btn.Height;
  p := Wizardform.ClientToScreen(p);
  PupMnu.Popup(p.x, p.y);
  ShellExec('open', 'http://forum.oszone.net/forum-62.html', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
  
{ Функция инициализации GUI программы установки }
procedure InitializeWizard();
var
  Mnu: TMenuItem;
begin
  PupMnu := TPopupMenu.Create(WizardForm);
  // Кнопка
  btn := TButton.Create(WizardForm);
  btn.Caption := 'OSZone';
  btn.Anchors := [akLeft, akTop, akBottom];
  btn.Left := ScaleX(165);
  btn.Top := ScaleX(336);
  btn.Width := ScaleX(62);
  btn.Height := ScaleX(22);
  btn.Parent := WizardForm;
  btn.OnClick := @BtnOnClick;
  btn.PopupMenu := PupMnu;
end;

Попробовал её рядом с кнопкой "Назад" расположить. Вроде нормально, но всё равно не то. Во всех окнах она.
На десятке вроде ровно. А на семёрке на пару пикселей вниз съезжает.
Нормально это или нет, сравнить не с чем. Не знаю.

А хотелось бы как выше описано, две кнопки с вышеописанными функциями на фоне картинки WizardImage.

Отправлено: 05:59, 13-11-2022 | #870



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты 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




 
Переход