2013-09-16 3 views
1

Я хотел бы установить и зарегистрировать определенный файл только в том случае, если настройка не запущена как VERYSILENT.Inno Setup: установите только в том случае, если не VERYSILENT

Я не знаю, как я мог это достичь.

Моя текущая строка

Source: "M:\sqlite36_engine.dll"; DestDir: {sys}; Flags: uninsneveruninstall ignoreversion 

Может кто-нибудь сказать мне, как это можно сделать?

Спасибо!

+0

Вы заботитесь о SILENT vs. VERYSILENT, или вы не хотите устанавливать его через любой тип молчания? Потому что, если это последний, вы можете просто использовать флаги: skipifsilent'. – Miral

ответ

2

Поскольку функция или переменная времени еще не существует, чтобы определить, работает ли установка в очень бесшумном режиме, вам нужно сделать свою собственную функцию, чтобы проверить это, итерируя параметры командной строки. Для условной установки определенного файла мы используем параметр Check, который может принимать такую ​​функцию для получения условия по его возвращенному значению. Следующий сценарий должен делать то, что вы хотите:

[Files] 
Source: "M:\sqlite36_engine.dll"; DestDir: {sys}; Flags: uninsneveruninstall ignoreversion; Check: not IsVerySilent 

[Code] 
function IsVerySilent: Boolean; 
var 
    I: Integer; 
begin 
    Result := False; 
    for I := 1 to ParamCount do 
    if CompareText(ParamStr(I), '/verysilent') = 0 then 
    begin 
     Result := True; 
     Exit; 
    end; 
end; 
+0

Большое спасибо! – tmighty

+0

Добро пожаловать! – TLama

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