Inno Setup Прошу Протестировать v.2

SBalykov

Старожил
Скоро вся проверка сведется, примерно к этому :
WinVer.png
С этим для расширенной попробуй.
Спасибо, конечно ...
Но, перелопачивать юникодовский скрипт под анси, слишком ...
 
Последнее редактирование:

SBalykov

Старожил
Вы хоть смотрели что в архиве? там и Ansi и Unicode. батник переименовывает файлы. Просто El Sanchez правил. Должно работать.
Да, смотрел и опробовал.
То, что оно "должно работать", но не работает, в этом убедился ...
Как я уже писал выше, главное не определить тупо версию системы, а чтобы программа
смогла сказать, что да, эта версия выше (или ниже) требуемой.
Я не знаю, как обойти API и заставить 1(0) быть больше 5.
В этом и заключается проблема ...
 
Последнее редактирование:

Ученик_77

Участник
SBalykov, 8.1х64.
И удалилось тоже без проблем.)
 
Последнее редактирование:

SBalykov

Старожил
Приветствую всех!
Появилась необходимость проверить системные требования, возвращаюсь на круги своя.
Если у кого есть свободное время и желание, просьба посмотреть страницу системных требований, на предмет адекватного ее отображения.
Заранее спасибо ...
 

Вложения

Timick

Старожил
SBalykov, Больная тема))) Ну у меня видеопамять не правильно определяет, впрочем, как и всегда))
(Единственная либа, которая правильно ее определяет - ISab.dll)
P.S.: Откуда берешь данные? Просто показывает ~1986МБ (в реале 3072МБ)
 

Timick

Старожил
Кстати, ещё одну ошибочку нашел.
Не забывай выгружать WizardForm ))

Код:
Procedure DeinitializeSetup();
begin
//.......
  WizardForm.Free;
//.......
end;
 

Вложения

nik1967

Old Men
Проверенный
SBalykov, неа, не всё так просто. Графика Intel+AMD
test.png test1.png
И графика в инсталле долго прогружается на странице приветствия.
 

SBalykov

Старожил
SBalykov, Больная тема))) Ну у меня видеопамять не правильно определяет, впрочем, как и всегда))
(Единственная либа, которая правильно ее определяет - ISab.dll)
P.S.: Откуда берешь данные? Просто показывает ~1986МБ (в реале 3072МБ)
Вообще-то, данные по видеокарте, - отдельный вопрос. В данном случае, из системы, из Winsat.
Информация по свободной памяти видео ...
 

SBalykov

Старожил
SBalykov, неа, не всё так просто. Графика Intel+AMD
Посмотреть вложение 3378 Посмотреть вложение 3379
И графика в инсталле долго прогружается на странице приветствия.
Николай, обрати внимание на оба скрина.
На первом - интегрированная ...
Есть задумка отображать обе ...
На странице приветствия не графика тормозит, там задержка запуска ...
 
Последнее редактирование:

nik1967

Old Men
Проверенный
Николай, обрати внимание на оба скрина.
На первом - интегрированная ...
Есть задумка отображать обе ...
Сергей, ну не надо со мной как с маленьким и неразумным. Естественно, что на первом интегрированная, а на втором дискретная. Но всё дело в том, что в большинстве случаев требуется проверка именно дискретной. А у тебя отображается интегрированная.
На странице приветствия не графика тормозит, там задержка запуска ...
Имеется ввиду это?
Если да, то почему не сразу? Имхо, не очень.
И да, попробуй такой вариант на счёт видеокарты и её памяти:
Код:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
OutputDir=.

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[CustomMessages]
rus.VCInfo=Видеокарта: %1%nОбъем видеоОЗУ: %2 мб
rus.VCInfo1=Информация
rus.NoVC=Не удалось определить видеокарту

[code]
var
   VCName: String;
   i,n: Integer;

function VCard: Boolean;
begin
   for n:= 0 to 9 do
     for i:= 0 to 9 do RegQueryStringValue(HKLM,'SYSTEM\ControlSet00'+inttostr(n)+'\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\000'+inttostr(i),'AdapterDesc',VCName);
       Result:= Pos('Radeon',VCName)<>Pos('GeForce',VCName);
end;

function MVCard: String;
var
   VCM: Cardinal;
begin
   for n:= 0 to 9 do
     for i:= 0 to 9 do RegQueryDWordValue(HKLM,'SYSTEM\ControlSet00'+inttostr(n)+'\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\000'+inttostr(i),'HardwareInformation.MemorySize',VCM);
#ifdef UNICODE
       Result:= IntToStr(VCM/1048576);
#else
       Result:= IntToStr(-VCM/1048576);
#endif
end;

function InitializeSetup: Boolean;
begin
   if VCard then
#ifndef IS_ENHANCED
     MsgBox(FmtMessage(ExpandConstant('{cm:VCInfo}'),[VCName,MVCard]),mbInformation,mb_Ok)
#else
     MsgBoxEx(0,FmtMessage(ExpandConstant('{cm:VCInfo}'),[VCName,MVCard]),ExpandConstant('{cm:VCInfo1}'),MB_OK or MB_ICONINFORMATION,0,0)
#endif
   else
#ifndef IS_ENHANCED
     MsgBox(ExpandConstant('{cm:NoVC}'),mbInformation,mb_Ok);
#else
     MsgBoxEx(0,ExpandConstant('{cm:NoVC}'),ExpandConstant('{cm:VCInfo1}'),MB_OK or MB_ICONINFORMATION,0,0);
#endif
     Result:= false;
end;
 

Timick

Старожил
А у меня, вроде, сразу загружается графика. Только вот эта ошибка...
 

SBalykov

Старожил
Сергей, ну не надо со мной как с маленьким и неразумным. Естественно, что на первом интегрированная, а на втором дискретная. Но всё дело в том, что в большинстве случаев требуется проверка именно дискретной. А у тебя отображается интегрированная.
Я не об этом. В данном случае я сделал проверку через Winsat, соответственно, в нем у тебя первоначальная проверка системы была на интегрированной ...
Имеется ввиду это?
Если да, то почему не сразу? Имхо, не очень.
Действительно, не камильфо ...
И да, попробуй такой вариант на счёт видеокарты и её памяти:
Код:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
OutputDir=.

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[CustomMessages]
rus.VCInfo=Видеокарта: %1%nОбъем видеоОЗУ: %2 мб
rus.VCInfo1=Информация
rus.NoVC=Не удалось определить видеокарту

[code]
var
   VCName: String;
   i,n: Integer;

function VCard: Boolean;
begin
   for n:= 0 to 9 do
     for i:= 0 to 9 do RegQueryStringValue(HKLM,'SYSTEM\ControlSet00'+inttostr(n)+'\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\000'+inttostr(i),'AdapterDesc',VCName);
       Result:= Pos('Radeon',VCName)<>Pos('GeForce',VCName);
end;

function MVCard: String;
var
   VCM: Cardinal;
begin
   for n:= 0 to 9 do
     for i:= 0 to 9 do RegQueryDWordValue(HKLM,'SYSTEM\ControlSet00'+inttostr(n)+'\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\000'+inttostr(i),'HardwareInformation.MemorySize',VCM);
#ifdef UNICODE
       Result:= IntToStr(VCM/1048576);
#else
       Result:= IntToStr(-VCM/1048576);
#endif
end;

function InitializeSetup: Boolean;
begin
   if VCard then
#ifndef IS_ENHANCED
     MsgBox(FmtMessage(ExpandConstant('{cm:VCInfo}'),[VCName,MVCard]),mbInformation,mb_Ok)
#else
     MsgBoxEx(0,FmtMessage(ExpandConstant('{cm:VCInfo}'),[VCName,MVCard]),ExpandConstant('{cm:VCInfo1}'),MB_OK or MB_ICONINFORMATION,0,0)
#endif
   else
#ifndef IS_ENHANCED
     MsgBox(ExpandConstant('{cm:NoVC}'),mbInformation,mb_Ok);
#else
     MsgBoxEx(0,ExpandConstant('{cm:NoVC}'),ExpandConstant('{cm:VCInfo1}'),MB_OK or MB_ICONINFORMATION,0,0);
#endif
     Result:= false;
end;
Не прокатывает на интегрированной ...
Вот, кстати, внизу пример без Winsat ...
А у меня, вроде, сразу загружается графика. Только вот эта ошибка...
Странно, у меня все в норме:scratchhead:
 

Вложения

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

SBalykov

Старожил
Вот, этот пример графику грузит сразу, но всё так же показывает интегрированную видеокарту.
А у тебя, случайно, буфер не подключен к видеопамяти?
:drinks:Всем ОГРОМНОЕ СПАСИБО!
Будем рыть далее ...
 
Последнее редактирование:

Carlos

Участник
Модератор
Системные требования отображает верно, но при выходе из инсталлятора всё та же ошибка!
 

SBalykov

Старожил
Вот, этот пример графику грузит сразу, но всё так же показывает интегрированную видеокарту.
Николай, извини, но нашел ошибку у себя на WizardForm. Две исключающие процедуры ...
Посмотри, пожалуйста. Теперь загружается нормально ...
 

Вложения

  • 5.5 MB Просмотры: 7

vint56

Ветеран
Проверенный
SBalykov, у меня на видео карте не правильно определяется о бьем памяти на gtx 750 ti


SystemInfo ISab

 

Вложения

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

SBalykov

Старожил
SBalykov, у меня на видео карте не правильно определяется о бьем памяти на gtx 750 ti
Вместо 2-х, почти 4!!! Зачет ...
Только вот, если разобраться, то эта цифра, отображает общий размер видеопамяти Вашей машинки ...
М-да, а надо только адаптера ...
Тогда это будет выглядеть примерно так:
 

Вложения

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