我正在[Dirs]部分创建自定义目录。定义如下:
[Dirs]
Name: {code:WrkGetWorkingDir}; Flags: uninsalwaysuninstall
[Code]
function WrkGetWorkingDir( Param: String ): String;
begin
Result := WrkOptionsPage3.Values[0];
end;
在卸载程序中,我想以某种方式确定dir路径,并在删除之前使用它来访问其中的某个文件。 WrkGetWorkingDir调用在卸载程序中失败。是否可以将该路径存储在一些神奇的InnoSetup变量(或部分)中,或者我应该将它存储在Registry或我的自定义文件中?
答案 0 :(得分:3)
是。阅读RegisterPreviousData
,SetPreviousData
和GetPreviousData
。
您可能还想查看CodeDlg.iss示例脚本和some examples on the wiki。
另一种方法是让卸载程序从安装时编写的某些文件或注册表设置中读取它,供应用程序使用。
但是,最后:你应该非常小心设置用户输入路径的删除(或者确实完全删除任何路径的dir +文件) - 有些用户可能会意外地设置这个到意想不到的地方,他们实际上并不想删除。