2017-08-10 2 views
0

Gibt es eine konstante/installierende Variable/Funktion, um den Zielspeicherort während des Upgrades zu finden? Ich überprüfte How do you find the user-selected install path in Inno Setup? aber beide WizardDirValue() sowie ExpandConstant('{app}') werfen eine Ausnahme, wenn während der Aktualisierung verwendet. Ich verstehe, dass der Schlüssel Inno Setup: App Path unter dem Registrierungsschlüssel zur Deinstallation gelesen werden kann, um den Speicherort während des Upgrades zu finden. Wollte wissen, ob es Alternativen gibt? Der Versuch, WizardForm.DirEdit.Text zu verwenden, löst auch die Ausnahme ausSo finden Sie den Zielspeicherort während des Upgrades

+0

Es ist nicht wahr, dass 'WizardDirValue' oder' app' Konstante eine Ausnahme während des Upgrades werfen. Sie können in bestimmten Situationen eine Ausnahme auslösen. Sie müssen uns zeigen, wie genau Sie sie verwenden. –

Antwort

1

In der Ereignisfunktion UpdateReadyMemo Konstante App ist zugänglich.

function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String; 
var 
    s: String; 
begin 
    s := ExpandConstant('{app}'); 
    MsgBox(s, mbInformation, MB_OK); 
    Result := MemoComponentsInfo 
end; 

UpdateReadyMemo wird automatisch kurz vor dem Installationsdialog aufgerufen. Sein Rückgabewert wird in diesem Dialog angezeigt.

+0

Aah .... Ich habe 'ExpandConstant ('{app}')' vor psotting der Frage versucht, aber nicht bemerkt, dass ich während der Aktualisierung im Code auch auf ein anderes Steuerelement von der wpSelectDir Seite zugreife und dass es auch problematisch war Seite wurde für den Upgrade-Fall übersprungen. – Anand

+0

Es gibt kein Problem mit '{app}' wenn 'wpSelectDir' übersprungen wird, aber Sie können dies immer noch nur tun, nachdem' wpSelectDir' angezeigt wurde oder in seinem 'NextButtonClick' (das auch noch aufgerufen wird, wenn es übersprungen wird) . – Miral

Verwandte Themen