删除包含句点的java首选项存储中的节点

时间:2015-09-14 14:15:24

标签: java install4j

我试图清除用户'卸载时我的java应用程序的java.util.prefs.Preferences节点。为此,我使用"删除Java偏好存储中的节点或密钥"在我的卸载程序步骤中删除我保存首选项的包。

这适用于(在Windows上)包含没有句点的包名称(" test")。该包将在注册表中删除。

但是,如果包中包含句点(" test.test"),我就无法使用它。

我在installation.log中收到的错误消息:

[INFO] com.install4j.runtime.beans.actions.registry.DeletePreferenceItemAction [ID 1006]: Execute action
       Property key: 
       Property onlyIfEmpty: false
       Property preferenceDeleteType: User specific
       Property packageName: test.test
       Property rollbackSupported: true
[ERROR] com.install4j.runtime.beans.actions.registry.DeletePreferenceItemAction [ID 1006]: Package test.test does not exist
        Execute action not successful after 2 ms

这是"删除Java偏好存储中的节点或密钥的配置"动作:

Package name: test.test
Key: i left this empty (i want to delete the entire package)
Preference root: User specific

其他值是默认值。

我还尝试了以下软件包名称值:

test\.test
"test.test"

但无济于事。我们已经有很多用户使用了注册表项,因此我们最好不要重命名包名。有没有办法做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:0)

install4j将输入的包名称转换为路径名称,因此"。"替换为" /"。我已经添加了转发到6.0.5,所以进入" test.test"将从该版本开始工作。要获得预发布版本,请联系support@ej-technologies.com。