Andreo Fadio
Ветеран
Это скомпилированный пример для демонстрации, а не GUI редакторНе подскажете где именно вот такая вот GUIшная возможность настройки страниц.
Это скомпилированный пример для демонстрации, а не GUI редакторНе подскажете где именно вот такая вот GUIшная возможность настройки страниц.
Если не трудно, распишите каждый пункт подробно: зачем, что делает, примеры (лучше готовые сценарии для наглядности).Хотелось бы видеть еще несколько фичей.
CenterInsideControl
WizardForm.CancelButton.Click
SelectLanguageForm
Да. Но у меня вылетает ошибка.По SelectLanguageForm: я так понимаю - это диалог выбора языка установки?
Используется в скрипте для предварительной деинсталляции старой версии программWizardForm.CancelButton.Click
#include "UninstallMyApp.iss"
[Code]
function UninstallMyApp(): Boolean;
var
Buff: String;
i, id : Integer;
begin
Result := not RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1', 'UninstallString', Buff );
if not Result then Result := not FileExists(RemoveQuotes(Buff));
if not Result then id := MsgBox('Перед установкой необходимо удалить предыдущую версию {#Name}. Продолжить?', mbError, MB_YESNO);
case id of
IDYES: try
Exec(RemoveQuotes(Buff), '', ExtractFilePath(RemoveQuotes(Buff)), SW_SHOW, ewWaitUntilTerminated, i);
finally
Result := not RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1', 'UninstallString', Buff );
if not Result then MsgBox('Удаление завершилось неудачей!', mbError, MB_OK);
end;
IDNO: WizardForm.CancelButton.Click;
end;
end;
У меня используется в коде для смены пути в строке DirEdit если в инсталляторе есть портативная версия программы. И так же помогает если пользователь случайно выбрал установку, а не распаковку, чтобы при возвращении к странице компонентов в странице SelectDirPage поменялся путь на {src}CenterInsideControl
А-а, так вы хотите получить доступ к свойствам этого окошка.--
SelectLanguageForm
--
Да. Но у меня вылетает ошибка.
А здесь вы имитируете нажатие кнопки на форме, в данном случае CancelButton.Используется в скрипте для предварительной деинсталляции старой версии программ
--
IDNO: WizardForm.CancelButton.Click;
--
Если не ошибаюсь, то теперь вместо CenterInsideControl используется новая процедура FlipSizeAndCenterIfNeeded (загляните в справку, глава Pascal Scripting: Support Classes Reference).--
CenterInsideControl
--
У меня используется в коде для смены пути в строке DirEdit...
procedure FlipSizeAndCenterIfNeeded(const ACenterInsideControl: Boolean; const CenterInsideControlCtl: TWinControl; const CenterInsideControlInsideClientArea: Boolean);
В случае отказа от деинсталляции старой версии проги, завершил работу инсталляторА в чем смысл этого действия? Я не совсем понимаю...
Хотелось бы... Но для осуществления этой задачи у меня недостаточно знаний и опыта. Поэтому, увы, пока нет.А будет ли GUI редактор в редакторе InnoSetup?
Будем надеется, что кто нибудь поможетПоэтому, увы, пока нет.
Включил поддержку метода Click для кнопок. Он уже был в коде, только закомментирован (отключен), поэтому сложностей никаких не возникло (это и другие изменения будут доступны в версии 6.1.0).WizardForm.CancelButton.Click
Я уже писал, что вместо неё используется новая процедура FlipSizeAndCenterIfNeeded (она включает в себя функцию CenterInsideControl).CenterInsideControl
Возможно вы правы. Просто я не знаю как правильно это сделать (уже есть тема Enhanced Inno ISCmplr Setup и VCL Styles for Inno Setup – а моя модификация это всё вместе). Плюс у меня ещё нет связной информации по всей модификации, к тому же она постоянно обновляется. Из-за нехватки времени я перестал вести историю изменений, поэтому не готов сделать окончательную публикацию.может стоит оформить информацию по расширенной инно в отдельную тему или ресурс?
По сути да. Я соглашусь с вами.Имхо, модификация данного диалога это излишняя мера.
Спасибо.Включил поддержку метода Click для кнопок. Он уже был в коде
Жду новую версию.это и другие изменения будут доступны в версии 6.1.0
Можно пока не делать финальную публикацию, просто вынести информацию в тему к примеру ISE (Inno Setup Extended), чтобы её можно было быстрее найтиВозможно вы правы. Просто я не знаю как правильно это сделать (уже есть тема Enhanced Inno ISCmplr Setup и VCL Styles for Inno Setup – а моя модификация это всё вместе). Плюс у меня ещё нет связной информации по всей модификации, к тому же она постоянно обновляется. Из-за нехватки времени я перестал вести историю изменений, поэтому не готов сделать окончательную публикацию.
На NSIS тоже детект хороший идет, но это не влияет на выпуск новых версий. На вашем месте я бы продолжал, Вы делаете доброе дело.Всем привет. Сожалею, но вынужден приостановить (возможно навсегда) свою разработку из-за положительного детекта антивирусного ПО (в частности Microsoft Defender и Kaspersky) на стаб-файл Setup.e32 и создаваемый на его основе файл деинсталляции. Служба поддержки этих антивирусов сообщила, что сам файл является чистым, а детект ложным. Но при создании любого инсталлятора, файл деинсталляции начинает представлять угрозу и соответственно блокируется. Это касается версии 6.0.5 и последующих, более ранние свои версии не проверял. Что служит спусковым крючком положительного детекта - не знаю, почему вдруг файл начинает представлять собой угрозу - компании не сообщают. Таким образом, воздержитесь от использования моей версии. Приношу свои извинения за предоставленные неудобства и обещания.
из-за положительного детекта антивирусного ПО (в частности Microsoft Defender и Kaspersky). Это касается версии 6.0.5
поставил 6.05. заменил на vclmod_mini (или full) (если отдельно заменить Compil32.exe, то проблемы нет)Поведение элементов ничем на форме не отличается от ранних версий Inno – они будут размещены на форме корректно
Спасибо. Исправил.стоит увеличение шрифта в системе (по умолчанию) (монитор такой). с modern стилем такая же проблема.
версии ниже 6.0.5 будут пересобраны с учетом исправления?Спасибо. Исправил.
Версию 6.0.5 пересобрал