【问题标题】:izpack without run-privileged cannot write to C:\MyDirName没有运行特权的 izpack 无法写入 C:\MyDirName
【发布时间】:2016-02-29 18:05:49
【问题描述】:

我有一个自定义 Java 应用程序和一个 IzPack 安装程序。多年来,在我的 izpack 构建文件中,我有以下内容:

<run-privileged condition="izpack.windowsinstall.vista|izpack.windowsinstall.7"/>

问题是一些用户在他们的 PC 上没有管理员权限,但他们仍然希望能够安装该软件包。如果我删除上述内容,他们可以运行安装程序,但当他们尝试安装在默认位置 C:\OPENDCS 时,它会抱怨“无法写入此目录!”。

但同一用户可以从 CMD 或资源管理器窗口创建此目录。

有没有办法让 izpack 安装程序直接在 C:\ 下创建目录而不以管理员身份运行?

【问题讨论】:

    标签: windows-7 permissions izpack


    【解决方案1】:

    请检查 izpack v5.0.7 的行为。您提到的问题应该通过这个问题解决:https://izpack.atlassian.net/browse/IZPACK-1355

    【讨论】:

      【解决方案2】:

      您可以将您的目录创建操作打包到一个create-dirs.bat 批处理文件中,您将标记&lt;executable&gt; 并执行stage="postinstall"。这样,将使用给定用户的权限执行目录创建,这(根据您的帖子)应该可以正常工作。

      EDIT 29/02/2016:您可以将此文件放入第一个“虚拟”&lt;pack&gt;,将其标记为&lt;executable&gt; 并执行stage="postinstall",如上所述,它将执行它在第一个 虚拟 安装包之后。在安装下一个包(即您的第一个有用包)时,您已经创建了文件夹。

      注意postinstall不会在安装后运行批处理文件,而是&lt;pack&gt;安装之后运行。

      【讨论】:

      • 好建议,如果这是应用程序需要的一些辅助目录,您的解决方案将起作用。但是我需要创建的目录是 $INSTALL_PATH,所以 postinstall 不起作用。
      猜你喜欢
      • 2015-01-17
      • 2019-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-08
      • 1970-01-01
      相关资源
      最近更新 更多