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

Скоро вся проверка сведется, примерно к этому :
WinVer.png
С этим для расширенной попробуй.
Спасибо, конечно ...
Но, перелопачивать юникодовский скрипт под анси, слишком ...
 
Последнее редактирование:
Вы хоть смотрели что в архиве? там и Ansi и Unicode. батник переименовывает файлы. Просто El Sanchez правил. Должно работать.
Да, смотрел и опробовал.
То, что оно "должно работать", но не работает, в этом убедился ...
Как я уже писал выше, главное не определить тупо версию системы, а чтобы программа
смогла сказать, что да, эта версия выше (или ниже) требуемой.
Я не знаю, как обойти API и заставить 1(0) быть больше 5.
В этом и заключается проблема ...
 
Последнее редактирование:
SBalykov, 8.1х64.
ba521509a469caaed03e2701c44d3079.png
И удалилось тоже без проблем.)
 
Последнее редактирование:
Приветствую всех!
Появилась необходимость проверить системные требования, возвращаюсь на круги своя.
Если у кого есть свободное время и желание, просьба посмотреть страницу системных требований, на предмет адекватного ее отображения.
Заранее спасибо ...
 

Вложения

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

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

Вложения

  • Без имени-1.png
    Без имени-1.png
    9.5 KB · Просмотры: 27
SBalykov, неа, не всё так просто. Графика Intel+AMD
test.png test1.png
И графика в инсталле долго прогружается на странице приветствия.
 
SBalykov, Больная тема))) Ну у меня видеопамять не правильно определяет, впрочем, как и всегда))
(Единственная либа, которая правильно ее определяет - ISab.dll)
P.S.: Откуда берешь данные? Просто показывает ~1986МБ (в реале 3072МБ)
Вообще-то, данные по видеокарте, - отдельный вопрос. В данном случае, из системы, из Winsat.
Информация по свободной памяти видео ...
 
SBalykov, неа, не всё так просто. Графика Intel+AMD
Посмотреть вложение 3378 Посмотреть вложение 3379
И графика в инсталле долго прогружается на странице приветствия.
Николай, обрати внимание на оба скрина.
На первом - интегрированная ...
Есть задумка отображать обе ...
На странице приветствия не графика тормозит, там задержка запуска ...
 
Последнее редактирование:
Николай, обрати внимание на оба скрина.
На первом - интегрированная ...
Есть задумка отображать обе ...
Сергей, ну не надо со мной как с маленьким и неразумным. Естественно, что на первом интегрированная, а на втором дискретная. Но всё дело в том, что в большинстве случаев требуется проверка именно дискретной. А у тебя отображается интегрированная.
На странице приветствия не графика тормозит, там задержка запуска ...
Имеется ввиду это?
Если да, то почему не сразу? Имхо, не очень.
И да, попробуй такой вариант на счёт видеокарты и её памяти:
Код:
[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, соответственно, в нем у тебя первоначальная проверка системы была на интегрированной ...
Имеется ввиду это?
Если да, то почему не сразу? Имхо, не очень.
Действительно, не камильфо ...
И да, попробуй такой вариант на счёт видеокарты и её памяти:
Код:
[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:
 

Вложения

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

Вложения

  • game.7z
    game.7z
    5.5 MB · Просмотры: 10
SBalykov, у меня на видео карте не правильно определяется о бьем памяти на gtx 750 ti


SystemInfo ISab

 

Вложения

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

Вложения

  • game1.7z
    game1.7z
    5.5 MB · Просмотры: 12
Последнее редактирование:
Назад
Сверху