我有一个使用Izpack用Java编写的安装程序。它在Windows XP上运行正常,但在Windows 7上它无法写入c:\ Program Files。奇怪的是,作为运行此安装程序的用户,我可以在c:\ program files下创建文件夹,但不能从安装程序本身创建文件夹。
我错过了什么?
答案 0 :(得分:6)
为了写入此路径,安装程序需要请求并被授予以adminsitrator privledges运行的权限。
对于Java: 运行CMD提示符作为admin或powershell作为管理员并导航到JAVA的Bin目录....并运行java.exe -jar #full路径的jar文件#将获得它的权限
答案 1 :(得分:2)
添加
<run-privileged/>
到installer.xml的info
部分。
例如::
<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>
答案 2 :(得分:1)
您需要以管理员身份运行安装程序。只有admin才能写入Program Files目录。通常当用户尝试进行更改时,UAC会询问您是否确定。对于一个程序来说,这不一定是正确的。
答案 3 :(得分:1)
您是否尝试使用“运行方式...管理员”选项?
答案 4 :(得分:0)