1

У меня есть этот маленький кусочек кода, который происходит в пост-установки шага:Проверьте, не установлена ​​ли программа установки Uninstallable = True?

procedure CurStepChanged(CurStep: TSetupStep); 
begin 

    if CurStep = ssPostInstall then begin 
    CreateSymbolicLink(ExpandConstant('{app}\Uninstall.vsf'), ExpandConstant('{cf}\Inno Setup\Carbon.vsf'), 0) 
    CreateSymbolicLink(ExpandConstant('{app}\Uninstall.dll'), ExpandConstant('{cf}\Inno Setup\VclStylesinno.dll'), 0) 
    end; 

end; 

Я хотел бы разместить его, чтобы создать символические ссылки только если установщик имеет Uninstallable=True, как я мог Chek, что от паскаль сценарий ?.

Обратите внимание, что я также притворяюсь, что определяю его в таких сценариях как: Uninstallable=not IsTaskSelected('task name').

ответ

2

Используйте #define, чтобы сохранить стоимость. Вы можете проверить его значение в разделе кода, используя ExpandConstant.

Пример:

#define MyAppName "My Program" 
#define MyAppVersion "1.5" 
#define Uninstallable "no" 

[Setup] 
AppName={#MyAppName} 
AppVersion={#MyAppVersion} 
Uninstallable={#Uninstallable} 

[Code] 
procedure CurStepChanged(CurStep: TSetupStep); 
begin  
    if CurStep = ssPostInstall then begin 
    if LowerCase(ExpandConstant('{#Uninstallable}')) = 'yes' then 
    begin 
     CreateSymbolicLink(ExpandConstant('{app}\Uninstall.vsf'), ExpandConstant('{cf}\Inno Setup\Carbon.vsf'), 0); 
     CreateSymbolicLink(ExpandConstant('{app}\Uninstall.dll'), ExpandConstant('{cf}\Inno Setup\VclStylesinno.dll'), 0); 
    end; 
    end;  
end;  
+0

Thankyou, но что произойдет, если у меня есть 'Uninstallable = не IsTaskSelected ('имя задачи')'? в этом случае, я думаю, не может сохранить значение в константе в верхней части скрипта. – ElektroStudios

+0

Как вы устанавливаете 'Uninstallable' во время выполнения? Если он настроен на 'yes', во время компиляции будет создан деинсталлятор. Поэтому мне нет смысла пытаться установить значение программно. Может быть, я просто ошибаюсь. – Wosi

+0

Посмотрите, что я имею в виду: http://www.jrsoftware.org/ishelp/topic_setup_uninstallable.htm, деинсталлятор включен, но его можно выборочно развернуть на диск или нет, в зависимости от задачи, которую пользователь переключает. – ElektroStudios

 Смежные вопросы

  • Нет связанных вопросов^_^