Inno Setup Прошу протестировать инсталлятор и авторан (Попытка №2)

ATTACUE

Новичок
Просьба - протестируйте исправленную версию инсталлятора и авторана (Попытка №2) (Попытка №3)(Попытка №4).
Данная тема является продолжением этой

Интересует следующая информация о работоспособности:
  • Общая работоспособность инсталлятора на всех этапах установки, в том числе ISDone-распаковка и отмена установки (глобальный тест), и работоспособность авторана со всех сторон, в том числе до и после установки (глобальный тест);
  • Запуск авторана и инсталлятора, а так же работоспособность установки на Windows XP - Windows 8.1 на реальной машине (виртуалка не в счет);
  • Обратить особое внимание на модули, которые явно отсутствуют в стандартной установке, например: "Системные требования", "Свободное/необходимое место для установки", "Проверка MD5 hash", "Миниатюра в таскбаре (актуально для Vist'ы и новее)", "Приоритет (процесс setup.tmp)", "Максимизация в угол" и так далее.
  • Разрядность ОС, а так же особенность Windows: сборка или оригинальный дистр (в случае возникновения ошибки);
  • Отображение и работоспособность оконного меню инсталлятора на всех этапах установки;
  • Возможные ошибки или неточности;
  • Правильность английской локализации инсталлятора и авторана, в том числе и правильность перевода всплывающих подсказок (хинты) на кнопках авторана, и частично хинты на кнопках (кнопки "Показать", "По умолч.", а так же радиобаттоны приоритета установки) с русского языка - оригинал, на английский язык - перевод, батники с ключами для запуска русской и английской версии инсталлятора и авторана прилагаются;
  • Другое, если что-то упустил из виду или забыл здесь указать.
Скриншоты и конфиг машины при любой ошибке или неточности приветствуются.

Внимание:
Некоторые пункты на странице системных требований могут не отображаться и/или показывать неверные данные - в этом случае скриншоты и конфиг машины так же приветствуются.

Для теста необходимо положить arc-архив рядом с инсталлятором:
в идеале на ~2ГБ с сжатием "Со скоростью HDD" и с именем - "data-2a"


Тема обновлена 20.05.2014 (upd2): Заменил модуль для отображения системных требований, файл вложений заменен, устранена ошибка cm.


Ранее была замечены проблемы в работе модулей get_hw_caps (версия 1.0.0.3), isUtils (версия 1.0) и SysInfo (версия 1.1.0) для отображения системных требований.
Данные модули были заменены на Isab поэтому сейчас не знаю - корректно ли работает отображение системных требований на других компах и/или операционных системах?

На Win8.1 после успешной установки вылетает:
Инсталлятор вылетает при завершении установки http://s018.radikal.ru/i515/1405/8e/abb20539a2ea.png Как сгенерировать ошибку: во время установки нажать паузу, затем свернуть (в угол) и развернуть обратно. После завершения установки и нажатии на "Завершить" вылетает.
Проблема мною не решена(



UninstallDisplayIcon={app}\Uninstall\unins000.exe
Сделано)
Если уже установлено, то при повторном запуске на инсталляторе есть кнопка удалить. Однако больше никакой информации. Может стоит в welcomelabel немного поменять текст?
Сделано)
Отрицательная видеопамять
Заменен модуль для отображения системных требований.
Ошибка устранена)

Остальное оставил почти так, как есть)

P.S.:
Батников понаделал по сути дела ненужных, выбор языка нельзя было оставить в установщике что-ли?
Это для тестирования правильности русской и английской локали в авторане и инсталляторах. Не более)

С уважением,
ATTACUE (lain)
 

Вложения

Последнее редактирование:

YURSHAT

Тех. админ
Администратор
ATTACUE, а в чем выражается "некорректность" get_hw_caps?
 

ATTACUE

Новичок
а в чем выражается "некорректность" get_hw_caps?
В целом модуль get_hw_caps неплохой, даже очень не плохой, но начиная с Windows 8 работает некорректно, то есть что-то вообще может не отображать, либо не отображает в принципе (не предусмотрен), к тому же видеопамять рассчитывается некорректно в данном модуле всегда. Конечно можно было обойтись в случае видеопамяти связкой if-than-else или case-of, но это геммор. Да и просто с этим модулем (sysinfo) оказалось удобнее работать, чем с get_hw_caps, проще в использовании, все наглядно, и на своем тестируемом железе, пожалуй, единственный модуль, который работал как надо)
Сорри за оффтоп, конечно)
Вот стандартный пример и сам модуль sysinfo v1.1.0 (во вложении) который расскажет больше моих слов)
Автор указан в стандартном примере к модулю.
 

Вложения

YURSHAT

Тех. админ
Администратор
Вот стандартный пример и сам модуль sysinfo v1.1.0 (во вложении) который расскажет больше моих слов)
Автор указан в стандартном примере к модулю.
http://krinkels.org/resources/issysinfo.144/
Ресурс я публиковал и соответственно компилил и смотрел. Из-за обилия багов даже пришлось просить делать скрины товарища @Shegorat ибо у меня половина устройств не определилась, а половина функций вызвала Exception'ы. Да и ряд устройств определяет неверно. Так что насчет того, что она самая стабильная из всех готов поспорить :)
 

ATTACUE

Новичок
Так что насчет того, что она самая стабильная из всех готов поспорить
Хорошо, какой модуль можешь посоветовать?)
Или использовать связку из get_hw_caps + sysinfo (чего бы не хотелось)?
И вопрос по теме - отображаются ли у тебя системные требования в моем инсталле или инсталл вылетает?)
Буду признателен, если увижу скриншот)

Пролазил весь код, в особенности в том месте, где бы могла возникнуть данная проблема и решение проблемы я не нашел(
Меня терзают смутные сомнения насчет winapi в данном скрипте, но с другой стороны сомневаюсь, что в моем случае что-либо менялось начиная с win98...
 

YURSHAT

Тех. админ
Администратор
Хорошо, какой модуль можешь посоветовать?)
Ну я работал только с get_hw_caps.dll. Знаю, что она не определяет восьмерку по понятным причинам. Больше жалоб на эту либу я не припомню. Хотелось бы увидеть, какое конкретно устройство она не определила, скрипт или кусочек скрипта, на какой ОС и прочие детали. Я не цепляюсь, не подумайте :), просто реально интересно как для себя так и для комьюнити.

Скрипт с либой Экспедитора компилил, смотрел. Вроде все было нормально. Ну а о проблемах IsSysInfo я изложил в теме автора, повторятся не буду.

О том, что лучше использовать? Ну я бы выбрал ту, в которой минимум багов. Плюс ту в которой проблемные функции проще всего реализовать средствами Inno.

Да, по поводу get_hw_caps, там могут быть банально неправильно переданы параметры или мы ее не совсем правильно юзаем. Ибо параметры к ней я подбирал методом тыка :) Тут правильно было бы еще запустить инсталл Зова Припяти на проблемной машине и посмотреть результат.

И вопрос по теме - отображаются ли у тебя системные требования в моем инсталле или инсталл вылетает?)
Нет, не вылетает. Вроде все корректно отображается (Вынь XP SP3)
test_xp.png
 

ATTACUE

Новичок
@ YURSHAT,
К сожалению куски кода привести не смогу, так как более старых версий своего скрипта я не держу.
А по памяти:
Восьмерка - это раз)
Последняя либа, если по дате 2009 год, кажется ... иными словам данная либа будет корректно работать по win7 включительно и только.
Отсутствует проверка количества ядер процессора, которая мне была необходима, впрочем, можно было и через поиск значений в реестре оформить, но с win8 и winXP проблемы, скрипт раздувался по самое не хочу.
С процессором - куда-то уплывало название, как будто присутствуют лишние пробелы, но это фигня, с этим готов был мириться.
Видеокарта... количество определяемой видеопамяти в get_hw_caps не было кратным 1024 всегда, иными словами - нужно либо было оставлять как есть, либо создавать кучу условий (if than else case of)
И однажды столкнулся с такой проблемой на одном компе у одного знакомого - звук не определялся вообще.
Железо, конечно я уже обновил, да и скрипт тоже, даже проверку на соответствие минимальным системным требованиям убрал, но у меня остались не очень хорошие эмоции после использования get_hw_caps, да и к тому же модуль вряд-ли будет обновляться по понятным причинам(
Так что сомневаюсь в неправильности передаваемых параметрах или в неправильности использования, и я думаю, что методом тыка все было подогнано идеально)
Ну а что касаемо isUtils - возникали проблемы с отображением видеокарты и что больше всего не понравилась - реализация проверки ОС, ограничение по началу - winXP и концу - Win7, и своя нумерация условий проверки (Major ver, Minor ver, SP ver), и, естественно, начиная с win8 возникала проблема в отображении ОС.
 

nik1967

Old Men
Проверенный
test1.png
Видеокарту определил интегрированную - дискретную не определил(видеопамять с дискретной :)). Хотя, это нормально.
test2.png
При установленной галочке на "Не создавать..." думаю, что и кнопка "По умолч." тоже должна быть неактивной. Дальше не тестил - лень архив делать :)
 

Silentman

Новичок
Внесу и я свою лепту в тест данного инсталлятора, если вы не против :). У меня "кривовато" определяются системные требования
При отмене установки и при деинсталляции остаётся пустая папка; на мой взгляд при выбранном чкбоксе "не создавать папку в меню пуск" и кнопка "по умолч." тоже должна быть неактивной (как и писал выше nik1967).
 

ATTACUE

Новичок
У меня "кривовато" определяются системные требования
Если не секрет - какой процессор, ради интереса?)
Далее - после разрешения экрана - количество цветов монитора ~4 млн, точная цифра на скрине, а вот что самое любопытное - это отображение разрядности ОС после имени операционной системы [x0]
nik1967, Silentman, к сожалению что-то башня не варит - ума не приложу - как осуществить так, чтобы кнопка по-умолчанию делалась неактивной, если убрана галка с чекбокса. Использую стандартный чекбокс (через секцию сетап -> AllowNoIcons). Еще натолкнулся на function WizardNoIcons: Boolean и думаю - как ее применить...
 

Mailchik

Старожил
Проверенный
как осуществить так, чтобы кнопка по-умолчанию делалась неактивной, если убрана галка с чекбокса
Код:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
AllowNoIcons=true

[Icons]
Name: {group}\test; FileName: test.exe;

[Code]
var
   OldNIOnClick: TNotifyEvent;

procedure TestClick(Sender: TObject);
begin
   OldNIOnClick(nil);
   case TNewCheckBox(Sender).Checked of
      True: begin
         WizardForm.CancelButton.Enabled := False;
      end;
      False: begin
         WizardForm.CancelButton.Enabled := True;
      end;
   end;
end;

procedure InitializeWizard;
begin
   OldNIOnClick := WizardForm.NoIconsCheck.OnClick;
   WizardForm.NoIconsCheck.OnClick := @TestClick;
end;
 

YURSHAT

Тех. админ
Администратор
Mailchik, можно короче :)
Код:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
AllowNoIcons=true

[Icons]
Name: {group}\test; FileName: test.exe;

[Code]
var
   OldNIOnClick: TNotifyEvent;

procedure TestClick(Sender: TObject);
begin
   OldNIOnClick(Sender);
   WizardForm.CancelButton.Enabled := not WizardForm.NoIconsCheck.Checked;
end;

procedure InitializeWizard;
begin
   OldNIOnClick := WizardForm.NoIconsCheck.OnClick;
   WizardForm.NoIconsCheck.OnClick := @TestClick;
end;
 
Сверху