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

SBalykov

Старожил
Просьба протестировать исправленную версию установщика.
1. Удалена страница системных требований;
2. Закрытие страниц при вызове информационного окна, поиска места установки и отмены установки;
2. Музыкальное сопровождение только на странице установки.
Интересует:
1. Отмена до и во время установки;
2. Запуск удаления при повторном запуске установки, с ярлыка удаления и с файла удаления.
Спасибо.
VirusTotal
 

Вложения

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

Timick

Старожил
Для верности перекачал файл ещё 2 раза.
А запуск файла сразу после установки, или с небольшим перерывом?
Не совсем понял о чем речь.

Скачиваю, запускаю Setup.exe. Устанавливаю (всё проходит успешно). Затем удаляю (аналогично, всё успешно). Опять запускаю, нажимаю кнопку "Отмена", нажимаю "Да", инсталл закрывается и появляется сообщение о прекращении работы.
 

SBalykov

Старожил
Для верности перекачал файл ещё 2 раза.

Не совсем понял о чем речь.

Скачиваю, запускаю Setup.exe. Устанавливаю (всё проходит успешно). Затем удаляю (аналогично, всё успешно). Опять запускаю, нажимаю кнопку "Отмена", нажимаю "Да", инсталл закрывается и появляется сообщение о прекращении работы.
Странное дело, на данном этапе, вообще никаких проблем не заметил.
А у Вас не 10-ка случайно? Если - да, вполне возможно надо добавить режим совместимости.
Это я для себя. Будем копать ...
 

Timick

Старожил
Windows 10)
Попробовал запустить в режиме совместимости - результат тот-же)
 

SBalykov

Старожил
Windows 10)
Попробовал запустить в режиме совместимости - результат тот-же)
Спасибо.
Надо на время забросить проект ...
P.S. Нашел ошибку
Код:
if not UninstallSilent then begin
 Exec(ExpandConstant('{#UNINSTALL}\Cleanup.exe'),' /SILENT','',1,ewNoWait,ResultCode) Exit;
 
Последнее редактирование:

SBalykov

Старожил
Поправил.
Всем спасибо!
 
Последнее редактирование:

SBalykov

Старожил
А что так? То, что я кинул, не понравилось?
Да нет, дело в некорректном отображении версии системы на 10-ке, в следствии чего нет возможности проверить соответствие системы той или иной программе.
Короче, для системы версия 5.0 выше, чем 10.0 ...
 

nik1967

Old Men
Проверенный
Да нет, дело в некорректном отображении версии системы на 10-ке
Вроде корректно отображается.
Я правда немного переделал скрипт, чтобы на 10-ке работало.
Код:
;-------------------------------------------------------------------------------------
#ifndef IS_ENHANCED
  #error Enhanced edition of Inno Setup (restools) is required to compile this script
#endif
;-------------------------------------------------------------------------------------

#define advansed_vc  /* более точное определение видаокарти (на мой взгляд) - если средствами Isab, то закомментировать */

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
OutputDir=.

[files]
Source: Isab.dll; DestDir: {tmp}; Flags: dontcopy

[code]
type
   TSysInfo = record
     ProcessorName: PAnsiChar;
     MaxClockSpeed,CurrentClockSpeed: integer;
     Manufacturer: PAnsiChar;
     NumberofPhysicalCores,NumberOfLogicalProcessors: integer;
     VgaAdapterName: PAnsiChar;
     VgaAdapterRam: integer;
     VideoModeDescription, AudioDeviceName: PAnsiChar;
     TotalVisibleMemorySize,FreePhysicalMemory: integer;
     OSName: PAnsiChar;
     OSVersionMajor,OSVersionMinor,OSBuildNumbers: Cardinal;
     ServicePackMajorVersion,ServicePackMinorVersion: Word;
     OSArchitecture: Byte;
   end;

var
   SysInfo: TSysInfo;
   Sp,bit,OSName,S,VCName: String;
   i: Integer;

procedure GetSysInfo(var SysInfo: TSysInfo);external 'GetSysInfo@files:Isab.dll stdcall delayload';

#ifdef advansed_vc
function VCard: Boolean;
begin
   for i:= 0 to 5 do RegQueryStringValue(HKLM,'SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\000'+inttostr(i),'DriverDesc',VCName);
     Result:= Pos('Radeon',VCName)<>Pos('GeForce',VCName) or Pos('Intel(R)',VCName);
end;

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

function MbOrTb(Float: Extended): String;
begin
   if Float < 1024 then Result:= FormatFloat('0', Float)+' мб' else
     if Float/1024 < 1024 then Result:= format('%.1n', [Float/1024])+' гб' else
       Result:= format('%.1n', [Float/(1024*1024)])+' тб';
  StringChange(Result, ',', '.');
end;

function InitializeSetup: Boolean;
begin
  GetSysInfo(SysInfo);
   S:= SysInfo.OSName;
   OSName:= Copy(S,Pos(' ',S)+1,Length(S));
   Delete(OSName,4,4);
   if SysInfo.ServicePackMajorVersion > 0 then Sp:= 'SP'+inttostr(SysInfo.ServicePackMajorVersion) else Sp:= '';
   if SysInfo.OSArchitecture > 0 then bit:= ' x'+inttostr(SysInfo.OSArchitecture) else bit:= '';
#ifdef advansed_vc
   VCard;
#endif
   MsgBox('Процессор: '+SysInfo.ProcessorName+#13#10+
          'Физические ядра процессора: '+inttostr(SysInfo.NumberofPhysicalCores)+#13#10+
          'Логические ядра процессора: '+inttostr(SysInfo.NumberOfLogicalProcessors)+#13#10+
#ifdef advansed_vc
          'Видеоадаптер: '+VCName+#13#10+
          'Видеопамять: '+MbOrTb(MVCard)+#13#10+
#else
          'Видеокарта: '+SysInfo.VgaAdapterName+#13#10+
          'Видеопамять: '+MbOrTb(SysInfo.VgaAdapterRam)+#13#10+
#endif
          'Разрешение монитора: '+IntToStr(Screen.Width)+' x '+IntToStr(Screen.Height)+' пикселей'+#13#10+
          'Звук: '+SysInfo.AudioDeviceName+#13#10+
          'Оперативная память: '+MbOrTb(SysInfo.TotalVisibleMemorySize)+';'+' Свободно: '+MbOrTb(SysInfo.FreePhysicalMemory)+#13#10+
          'Система: '+OSName+Sp+bit+' сборка '+inttostr(SysInfo.OSBuildNumbers),
   mbInformation, mb_Ok);
  Result:= false;
end;
 
Последнее редактирование:

SBalykov

Старожил
Вроде корректно отображается.
Я имел ввиду проверку API.
Если минимальные требования программы к версии системы 5.0 (winXP), а она устанавливается на 10.0 (win10),
то установщик сообщит, что данная версия системы не соответствует минимальным требованиям к программе.
Вот, что я имел ввиду.
Для API 5 > 10 ...
 

nik1967

Old Men
Проверенный
SBalykov, в inno 5.5.9:
5.0.2195 Windows 2000
5.1.2600 Windows XP
or Windows XP 64-Bit Edition Version 2002 (Itanium)
5.2.3790 Windows Server 2003
or Windows XP x64 Edition (AMD64/EM64T)
or Windows XP 64-Bit Edition Version 2003 (Itanium)
6.0.6000 Windows Vista
6.0.6001 Windows Vista with Service Pack 1
or Windows Server 2008
6.1.7600 Windows 7
or Windows Server 2008 R2
6.1.7601 Windows 7 with Service Pack 1
or Windows Server 2008 R2 with Service Pack 1
6.2.9200 Windows 8
or Windows Server 2012
6.3.9200 Windows 8.1
or Windows Server 2012 R2
6.3.9600 Windows 8.1 with Update 1
10.0.10240 Windows 10
а в 5.5.1 ee2:
5.0.2195 Windows 2000
5.1.2600 Windows XP
or Windows XP 64-Bit Edition Version 2002 (Itanium)
5.2.3790 Windows Server 2003
or Windows XP x64 Edition (AMD64/EM64T)
or Windows XP 64-Bit Edition Version 2003 (Itanium)
6.0.6000 Windows Vista
6.0.6001 Windows Vista with Service Pack 1
or Windows Server 2008
6.1.7600 Windows 7
or Windows Server 2008 R2
6.1.7601 Windows 7 with Service Pack 1
or Windows Server 2008 R2 with Service Pack 1
6.2.8400 Windows 8 Release Preview
может из-за этого? Inno просто не знает об 10?
 
Сверху