Windows 7 无法安装到Windows 7上的c:\Program文件中

Windows 7 无法安装到Windows 7上的c:\Program文件中,windows-7,permissions,Windows 7,Permissions,我有一个使用Izpack用Java编写的安装程序。它在Windows XP上正常工作,但在Windows 7上无法写入c:\Program文件。奇怪的是,作为运行此安装程序的用户,我可以在c:\program files下创建文件夹,但不能从安装程序本身创建文件夹 我缺少什么?为了写入此路径,安装程序需要请求并被授予以管理员权限运行 对于Java: 以admin的身份运行CMD提示符或以admin的身份运行powershell,并导航到JAVA的Bin dir…,然后运行JAVA.exe-jar

我有一个使用Izpack用Java编写的安装程序。它在Windows XP上正常工作,但在Windows 7上无法写入c:\Program文件。奇怪的是,作为运行此安装程序的用户,我可以在c:\program files下创建文件夹,但不能从安装程序本身创建文件夹


我缺少什么?

为了写入此路径,安装程序需要请求并被授予以管理员权限运行

对于Java:
以admin的身份运行CMD提示符或以admin的身份运行powershell,并导航到JAVA的Bin dir…,然后运行JAVA.exe-jar#jar文件的完整路径#,这将获得权限

您需要以admin的身份运行安装程序。只有管理员才能写入程序文件目录。通常,当用户试图进行更改时,UAC会询问您是否确定。对于一个程序来说,这不一定是正确的。

您是否尝试过使用Run As。。。管理员选项?

添加

<run-privileged/>
  • 使用管理权限运行cmd
  • java-jar***.jar

  • 您所说的“作为运行此安装程序的用户”与“不是来自安装程序本身”是什么意思。安装程序是如何调用自己的?我的意思是手动,即使用资源管理器,我可以在c:\program files下创建文件和目录,但通过编程,即通过此Java安装程序,我无法最终解决问题,让安装程序按照下面的建议请求适当的权限升级。我以管理员身份运行它,请参阅上文了解更多详细信息在Windows Vista和7中以管理员身份运行并不意味着在Windows XP中以管理员身份运行。您仍然可以为UAC授予软件特权。而且,这些特权是不可传递的。如果您的主机程序已被授予UAC访问权限,则默认情况下,该子程序不会。我正在以管理员身份运行应用程序。正如我已经提到的,我可以作为运行安装程序的用户在c:\program files下创建文件和目录,但是安装程序不能!作为管理员用户和以“管理员”身份运行应用程序之间有很大区别。右键单击安装程序,您将看到一个sheild图标,旁边显示“以管理员身份运行”。选择该选项。以admin或powershell的身份运行CMD提示符,并导航到JAVA的Bin dir…,然后运行JAVA.exe-jar#jar文件的完整路径#这将获得它的权限。由于安装程序是一个.jar文件,我不能使用“Run as”,但是,这不是问题所在-我以管理员身份运行它如果您以管理员身份登录,这并不意味着您运行的应用程序将获得管理员权限。更具体地说,您不是以管理员身份运行。您以特权用户身份运行,可以通过UI确认提升为管理员。例如,每当您在资源管理器中创建文件夹时,您都会收到UAC确认提示,询问是否可以这样做。没有办法解决这个问题(除了禁用UAC),也没有神奇地将它强加在所有应用程序上。你的应用程序必须知道这个问题,并在你需要“真正的管理员”访问权限时请求系统提升(弹出UAC对话框并询问用户是否同意)。请突出显示与古老的、被普遍接受的答案相比的额外见解。除此之外,只有代码的答案缺乏被认为是好答案的解释。
    <info>
        <appname>IzPack</appname>
        <appversion>4.2.0</appversion>
        <authors>
            <author email="" name="Julien Ponge (project founder)"/>
            <author email="" name="The fantastic IzPack developers and contributors"/>
        </authors>
        <url>http://izpack.org/</url>
        <javaversion>1.5</javaversion>
        <requiresjdk>no</requiresjdk>
        <run-privileged condition="izpack.windowsinstall.vista|izpack.macinstall"/>
        <summarylogfilepath>$INSTALL_PATH/installinfo/Summary.htm</summarylogfilepath>
    </info>