|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 9] |
|
Скрипты Inno Setup. Помощь и советы [часть 9]
|
Ветеран Сообщения: 1264 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов!
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты 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 |
Ветеран Сообщения: 1264
|
Профиль | Отправить PM | Цитировать Цитата nik1967:
nik1967, Vanadiy777, вы оба используете раздел WOW6432Node явно, это нельзя делать. Это сейчас вы его читаете, а потом писать туда начнёте и вот уже на 32-разрядных системах появляется раздел WOW6432Node, где быть его не должно. Браузеры ищите сначала в HKCU, потом в HKLM64 (с IsWin64), потом в HKLM32. Подраздел для всех базовых разделов одинаков - SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, не надо тут никакой отсебятины с WOW6432Node. |
|
Отправлено: 20:48, 31-10-2022 | #861 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 440
|
Профиль | Сайт | Отправить PM | Цитировать El Sanchez, мне то что, мне это не надо. Попросил человек, я помог, чем мог. Давно не занимался скриптами, старый стал. А тут немного размялся. Взял бы да и сам написал скрипт. По всем правилам. Всё, хватит. Отписал своё. Больше не буду вводить пользователей в заблуждение.
|
------- Отправлено: 22:26, 31-10-2022 | #862 |
Ветеран Сообщения: 2186
|
Профиль | Отправить PM | Цитировать nik1967, зря Вы так... Ни кого Вы в заблуждение не вводили...
Только благодаря Вам я решил свою проблему, над которой ломал голову не одну неделю. И, хотя маэстро El Sanchez говорит, что написано не правильно, тем не менее, теперь все чётко отрабатывает и на 32-разрядной и на 64-разрядной системе, а также на 64-разрядной, если установлена Mozilla x86. За что Вам еще раз огромное сердечное спасибо!!! |
------- Отправлено: 23:15, 31-10-2022 | #863 |
Новый участник Сообщения: 2
|
Профиль | Отправить 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
|
Профиль | Отправить PM | Цитировать Здравствуйте! Подскажите пожалуйста!
Тут вопрос упирается в WizardSmallImage.bmp. В справках копался, на глаза так и не попалось решения, может плохо искал. Есть какая то возможность чтобы эта картинка отображалась не из WizardSmallImage.bmp, а из экзешника программы Program.exe, допустим отображала иконку 48x48. И есть ли возможность, чтобы там отображалась картинка в PNG. Может скрипт такой есть. |
Последний раз редактировалось DA-Bro, 12-11-2022 в 06:14. Отправлено: 17:37, 11-11-2022 | #865 |
Ветеран Сообщения: 2186
|
Профиль | Отправить PM | Цитировать Цитата DA-Bro:
можно из экзешника программы выдернуть иконку и сделать из нее свой WizardSmallImage.bmp нужного размера. На счет PNG не знаю, но вроде просто так не поддерживается... Попробуйте на форуме примеры поискать. |
|
------- Отправлено: 10:31, 12-11-2022 | #866 |
Пользователь Сообщения: 96
|
Профиль | Отправить PM | Цитировать Vanadiy777, да я пробовал в некоторых программках и онлайн сервисах. Непрозрачные получаются. У меня фон тёмный. Приходится на этот по размеру фон накладывать значок в PNG. Потом в BMP. Так вроде нормально смотрится. Других подходящих решений пока не нашел.
|
Отправлено: 15:33, 12-11-2022 | #867 |
Старожил Сообщения: 284
|
Профиль | Отправить 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; |
------- Отправлено: 16:48, 12-11-2022 | #868 |
Пользователь Сообщения: 96
|
Профиль | Отправить PM | Цитировать ZVSRus, Спасибо!
|
Последний раз редактировалось DA-Bro, 25-11-2022 в 01:45. Отправлено: 01:32, 13-11-2022 | #869 |
Пользователь Сообщения: 96
|
Профиль | Отправить 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 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 |
|