0

我在 [Dirs] 部分创建自定义目录。定义如下:

[Dirs]
Name: {code:WrkGetWorkingDir}; Flags: uninsalwaysuninstall

[Code]
function WrkGetWorkingDir( Param: String ): String;
begin
Result := WrkOptionsPage3.Values[0];
end;

在卸载程序中,我想以某种方式确定该目录路径并使用它来访问其中的某些文件,然后再将其删除。WrkGetWorkingDir 调用在卸载程序中失败。是否可以将该路径存储在一些神奇的 InnoSetup 变量(或部分)中,或者我应该将它存储在注册表或我的自定义文件中?

4

1 回答 1

3

是的。阅读RegisterPreviousDataSetPreviousDataGetPreviousData

您可能还想查看 CodeDlg.iss 示例脚本和wiki 上的一些示例

另一种选择是让卸载程序从安装时已写入的某些文件或注册表设置中读取它以供您的应用程序使用。

最后,但是:您应该非常小心地为用户输入的路径设置删除(或者实际上完全删除任何路径的目录+文件)——一些用户可能不小心将其设置为他们实际上并不想要的意外位置已删除。

于 2013-01-19T09:27:18.377 回答