2015-10-09 5 views
0

Я пытаюсь установить путь в форме «выбрать установочный каталог», используя установку INNO. Вот мой кодWizardForm.DirEdit.Text не обновляется должным образом. Inno setup

procedure CurPageChanged(pageID: Integer);             
var 
    sInstallDir: String; 
begin                 

    // Default install dir is the IIS install path 
    if (pageID = wpSelectDir) then begin 
    sInstallDir := GetIISInstallPath + '\MyFolder'; 
    Log('GetIISInstallPath: '+ GetIISInstallPath); 
    Log('sInstallDir: ' + sInstallDir); 
    WizardForm.DirEdit.Text := sInstallDir;  
    end; 
end; 

Проблема, которую я имею что «GetIISInstallPath» возвращает меня «C: \ Inetpub \ Wwwroot и это то, что я вижу в WizardForm. Кажется, что он не добавляет бит MyFolder. Я распечатал вовлеченные переменные, и все они имеют правильное значение.

sInstallDir отображается как 'C: \ inetpub \ wwwroot \ MyFolder', но он не отображается в текстовом поле. Он показывает (как упоминалось) только «C: \ inetpub \ wwwroot».

Просьба сообщить.

Спасибо

+0

Ваш код правильно, как работает для меня так, как должно. Покажите нам журнал установки. –

ответ

1

Ваш код работает отлично для меня, но, я могу предложить вам использовать

[Setup] 
... 
DefaultDirName={code:GetDefaultDirName} 


[code] 
... 
function GetDefaultDirName(): String; 
begin 
Result := GetIISInstallPath + '\MyFolder'; 
end; 

Делая это «GetIISInstallPath + \ MyFolder» будет ваш каталог по умолчанию

+0

Все еще не работает. Некоторая справочная информация, которую я должен был добавить ранее. GetIISInstallPath считывает реестр и получает значение% SYSTEMDRIVE \ inetpub \ wwwroot, которое я расширяю, используя код, приведенный здесь http://stackoverflow.com/a/32024923/269185. На каждом этапе, когда я регистрирую переменные, все они распечатываются с правильным значением. Текстовое поле не обновляется должным образом. Я попытался использовать метод {code ..}, но не повезло, – ababeel

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