【发布时间】:2017-01-11 04:56:03
【问题描述】:
我创建了一个自解压 7-Zip 文件。其中包含一个 CMD 文件,7-Zip 在提取时运行该文件。此 cmd 读取注册表并执行一些进一步的活动(对这个特定问题不重要)。
在 Windows Server 2003 32 位中,此行为正常工作。但是,在 Windows Server 2008 机器上的测试表明,由 7-Zip 启动的 cmd 没有读取注册表的权限。更具体地说,它可以读取某些区域(Windows 当前版本),但不能读取其他区域(其他软件密钥)。
如果我获取该 cmd 文件并自己运行它(从 7-Zip 将其提取到的临时文件夹中运行它),一切运行正常。
使用 UAC“以管理员身份运行”会产生同样的问题,禁用 UAC 似乎没有帮助。
我不知道配置文件中有任何 7-Zip 选项告诉它提升权限或类似的东西。我在这里缺少什么吗?在 Windows Server 2008 或 64 位版本的操作系统中,注册表访问是否已被锁定?如何确保我的 EXE 文件可以将正确的权限传递给它启动的命令?
【问题讨论】:
-
您是否在安装 XML 文件中使用了
<run-privileged/>元素? http://izpack.org/documentation/installation-files.htm