我正在用Install4j编写一个项目,它需要卸载程序中的一些特殊代码来允许部分卸载。
我有一个
Delete files and directories
我遇到的问题是传递给delete files and directories操作(${installer:uninstallDirs})的变量。我尝试将此变量设置为字符串数组或未定义的变量类型。使用这两种设置之一,我试图将完整的字符串路径传递给目录、文件对象和相对字符串路径。
在操作执行期间,调试输出将显示以下内容。
[INFO] com.install4j.runtime.beans.screens.UninstallationScreen [ID 27]: Show screen [INFO]
com.install4j.runtime.beans.actions.files.DeleteFileAction [ID 1495]:
Execute action
Property directoryFilter: null
Property fileFilter: null
Property files: [[suppressed]]
Property filesRoot: null
Property backupForRollback: true
Property recursive: true
Property rollbackSupported: true
Property showFileNames: true
Property showProgress: false
The file "C:\InstallDir\[C:\InstallDir\Server, C:\InstallDir\Client, C:\InstallDir\Network]" does not exist
Execute action successful after 14 ms
因此,它似乎失败了,因为它会将安装目录放入数组之前的值中,尽管传递的对象是数组。我已经在上一节中输出了数组的值,可以确认数组是否正确构建。
我怀疑这与“保存项目文件时使所有路径都是相对的”设置有关,但我不想在它起作用之前就开始更改项目设置。
如有任何建议或测试,我将不胜感激。