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

Delete a node in java preference store that contains a period

我试图在卸载时清除我的 java 应用程序的用户 java.util.prefs.Preferences 节点。为此,我在卸载程序步骤中使用 "Delete a node or key in the Java preference store" 操作来删除我保存首选项的包。

这适用于(在 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

这是"Delete a node or key in the Java preference store"动作的配置:

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

其他值为默认值。

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

test\.test
"test.test"

但无济于事。我们已经有很多用户拥有注册表项,因此我们最好不要重命名包名称。有办法吗?

谢谢!

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