InnoSetup安装的Eclipse RCP应用程序忽略-data参数

时间:2012-09-26 15:20:23

标签: configuration eclipse-rcp inno-setup

我构建了一个Eclipse RCP应用程序并使用InnoSetup将其打包。当我将打包的应用程序安装到默认目标(C:\ Program Files \ XXX)时,INI文件中的-data参数将被忽略(它设置为安装目录:-data C:\ Program Files \ XXX) 。而是将配置数据保存在用户的应用程序数据文件夹中。如果我将它安装到C:\ XXX,则-data参数与广告一样工作,配置数据保存在安装文件夹中。

如果我将我的应用程序的非打包版本复制到C:\ Program Files下的文件夹中,有趣的是,与打包安装不同,-data参数也被正确认为。

InnoSetup脚本文件没有为配置数据设置目录的直接指令,因此我认为这是Eclipse RCP的一个问题。此外,所有用户都可以获得所有文件夹的写入权限。

我很高兴指向哪里查看,以便强制Eclipse RCP将我的配置数据保存到我想要的位置。

1 个答案:

答案 0 :(得分:1)

默认情况下,不允许未使用的用户将文件写入Program Files或其任何子文件夹。虽然可以更改文件夹权限以允许此操作,但强烈建议不要这样做,因为(a)这不允许按用户记录设置,这通常是一项要求,即使您最初认为它不是,(b)允许对包含可执行文件的文件夹进行全局写访问是一种等待发生的安全漏洞。如果您在仅包含数据文件的子文件夹上执行此操作,则不太重要。但这仍然存在隐私和数据安全漏洞,因为现在系统(或网络用户)的任何用户都可以查看和修改主用户的数据。

如果应用程序未标记包含所需权限的Vista兼容性清单(几乎无例外,Vista和Win7)将自动将对只读Program Files子文件夹的访问重定向到用户AppData区域中的VirtualStore文件夹。 asInvoker“)。