2017-08-10 26 views
0

在升级过程中是否有恒定/安装程序变量/函数可用于查找目的地位置? 我检查了How do you find the user-selected install path in Inno Setup?,但WizardDirValue()以及ExpandConstant('{app}')在升级过程中使用时都会引发异常。据我所知,可以读取卸载注册表项下的Inno Setup: App Path密钥以在升级期间查找位置。想要了解是否有其他选择?试图使用WizardForm.DirEdit.Text也引发异常如何在升级过程中查找目的地位置

+0

在升级过程中'WizardDirValue'或'app'常数不会引发异常。他们可能会在特定情况下抛出异常。你必须告诉我们你是如何使用它们的。 –

回答

1

在事件功能UpdateReadyMemo常量应用程序是可访问的。

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会在准备好安装对话框之前自动调用。其返回值将显示在此对话框中。

+0

啊....我在尝试问题之前尝试了'ExpandConstant('{app}')',但没有意识到我在代码升级期间也从wpSelectDir页面访问了另一个控件,并且它在升级案例跳过页面。 – Anand

+0

如果跳过wpSelectDir,使用'{app}'没有任何问题,但只有在显示'wpSelectDir'或其NextButtonClick(即使跳过时仍然会被调用)之后,您仍然可以严格执行此操作。 。 – Miral

相关问题