【发布时间】:2018-03-21 14:32:45
【问题描述】:
我将捆绑 JavaFX 应用程序的首选项文件存储在用户目录下,我在运行时使用该目录创建该文件
System.getProperty("user.home")
我想命令 InnoSetup 在卸载时删除该文件,但我找不到合适的 Inno 常量。 请指教。
【问题讨论】:
标签: java javafx inno-setup
我将捆绑 JavaFX 应用程序的首选项文件存储在用户目录下,我在运行时使用该目录创建该文件
System.getProperty("user.home")
我想命令 InnoSetup 在卸载时删除该文件,但我找不到合适的 Inno 常量。 请指教。
【问题讨论】:
标签: java javafx inno-setup
在 Windows 上,user.home 映射到 %USERPROFILE% 环境变量,通常是 C:\Users\username。
在 Inno Setup 中没有等效的常量。可能是因为您不应该在那里存储任何文件。您应该将文件存储到C:\Users\username\AppData\Roaming\app(或...\Local\app)。在 Inno Setup 中是 {userappdata}\app(或 {localappdata}\app)。它是Java,你可以使用System.getenv("APPDATA")(或System.getenv("LOCALAPPDATA"))。
无论如何,要回答您的问题,您可以使用{%USERPROFILE}。
另见Inno Setup User Home Path。
此外,一般来说,尝试在 Inno Setup (un)installer 中访问用户配置文件是个坏主意,因为 (un)installer 可以使用不同于您的本地帐户(通常是管理员)来执行有兴趣。
【讨论】:
System.getenv("LOCALAPPDATA") - 但任何特定于帐户的文件夹,包括 ..\Local\app 都存在与 Installing application for currently logged in user from Inno Setup installer running as Administrator 中所述相同的问题 - 但这是一个不同的主题。