Windows 7 没有运行特权的izpack无法写入C:\MyDirName

Windows 7 没有运行特权的izpack无法写入C:\MyDirName,windows-7,permissions,izpack,Windows 7,Permissions,Izpack,我有一个自定义Java应用程序和IzPack安装程序。多年来,在我的izpack构建文件中,我有以下内容: <run-privileged condition="izpack.windowsinstall.vista|izpack.windowsinstall.7"/> 问题是,一些用户在其PC上没有管理员权限,但他们仍然希望能够安装该软件包。如果我删除上述内容,他们可以运行安装程序,但当他们尝试在默认位置(C:\OPENDCS)安装时,它会抱怨“此目录无法写入!” 但是,同一

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

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

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

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


是否有一种方法允许izpack安装程序直接在C:\下创建目录,而不以管理员身份运行?

您可以将目录创建操作打包到
创建dirs.bat
批处理文件中,然后标记
并执行
stage=“postinstall”
。通过这种方式,目录创建将使用给定用户的权限执行,这(根据您的帖子)应该可以正常工作

2016年2月29日编辑:您将此文件放入第一个“虚拟”
,将其标记为
,并如上所述执行
stage=“postinstall”
,在安装第一个虚拟包后执行。在安装下一个软件包(即第一个有用的软件包)时,您已经创建了文件夹


请注意,
postinstall
不会在安装后运行批处理文件,而是在
安装后运行。

您可以将目录创建操作打包到
创建dirs.bat
批处理文件中,然后标记
并执行
stage=“postinstall”
。通过这种方式,目录创建将使用给定用户的权限执行,这(根据您的帖子)应该可以正常工作

2016年2月29日编辑:您将此文件放入第一个“虚拟”
,将其标记为
,并如上所述执行
stage=“postinstall”
,在安装第一个虚拟包后执行。在安装下一个软件包(即第一个有用的软件包)时,您已经创建了文件夹


请注意,
postinstall
不会在安装后运行批处理文件,而是在
安装后运行。

请使用izpack v5.0.7检查行为。您提到的问题应该通过此问题得到解决:

请检查izpackv5.0.7的行为。您提到的问题应该通过此问题得到解决:

好建议,如果这是应用程序所需的一些辅助目录,您的解决方案将起作用。但是我需要创建的目录是$INSTALL_路径,因此postinstall不起作用。好建议,如果这是应用程序所需的一些辅助目录,那么您的解决方案将起作用。但是我需要创建的目录是$INSTALL_路径,因此postinstall无法工作。