Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для ErikPshat

Пользователь


Сообщения: 54
Благодарности: 11

Профиль | Отправить PM | Цитировать


Эмм, попробую перефразировать по другому...
Я делаю установку программы, которая требует 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".
Что интересно, при условии = (равенства), никакой ошибки при компиляции не происходит.
Пожалуйста профи, не игнорируйте, помогите...

Отправлено: 00:40, 22-01-2019 | #213