Эмм, попробую перефразировать по другому...
Я делаю установку программы, которая требует
PowerShell последней версии 5.1 для Windows 7/8.0/8.1 (на 10-ке она стоит из коробки).
Так вот, я хочу в инсталляторе отобразить детализацию скачивания файла обновления и убрать там кнопку "Скрыть/Показать".
Но если я добавляю этот код, тогда программа вылетает с ошибкой "
could not call proc".
Поэтому я прошу помощи - что я делаю не так?
Выше наверное никому не понятен мой сокращённый код.
Выкладываю готовый код, тоже сокращённый (выкинул все лишние файлы и строки программы), но код компилируемый и рабочий:
В строке
№76 выставлено условие сравнения
< (меньше)
Код:
if ExpandConstant(Copy(PSVersion,1,3)) < ExpandConstant('5.1') then
Если у вас PowerShell устаревшая меньшей версии, тогда будет скачивание и установка.
А если у вас PowerShell уже обновлена, тогда вам нужно будет поменять на
= (равно), иначе ничего происходить не будет.
Далее, нужно раскомментировать код отображения детализированных данных между строками 105 - 120:
Код:
procedure CurPageChanged(CurPageID: Integer);
begin
if not IsWindows10OrNewer then
begin
if CurPageID = IDPForm.Page.ID then
begin
// Показать детали загрузки
idpShowDetails(True);
// Скрываем кнопку Подробно/Скрыть
IDPForm.DetailsButton.Visible := False;
end;
end;
end;
И при условии
< попробовать скомпилировать и найти ошибку, почему в этом случае выскакивает "
could not call proc".
Что интересно, при условии
= (равенства), никакой ошибки при компиляции не происходит.
Пожалуйста профи, не игнорируйте, помогите...