在Win8下安装msi格式的安装程序时,有时会有如下的错误提示:
“There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor.”
报错的原因是: 安装的过程中,没有取得管理员的权限。
================================================================
There is a problem with this Windows Installer package. A DLLrequired for this install to complete could not be run. Contactyour support personnel or package vendor.
查系统Log得知是拿不到C:\Users\x\AppData\Local\Temp权限。实际上是everyone用户拿不到temp权限。尝试改C:\Users\x\AppData\Local\Temp的everyone用户权限,提示“无法枚举容器内对象,访问被拒绝。”
解决方法1:赋予everyone用户权限(以下内容为参考)
在待操作的文件夹(C:\Users\x\AppData\Local\Temp),右键,属性,安全标签,高级。
弹出窗口显示当前文件夹的所有者,选择修改,弹出选择用户或用户组窗口。
在文本框中输入当前用户名(当前用户应该是管理器才行)
在所有者下面出现了一个复选框,替换子容器和对象的所有者,应用
在最下面的使用可从此对象继承的权限项目替换所有子对象的权限项目,应用。(不能直接勾两个复选框,应用,得分两步)
确保everyone出现在权限入口里面,没有就编辑添加一个,赋予他权限,应用即可。
解决方法2: 让console具有管理员权限
msi格式的文件,点右键后,也没有“以管理员身份运行”的菜单项,那怎么办呢?你可以点“开始”菜单,点“所有程序”,点开“附件”,在“命令提示符”上点右键,选择“以管理员身份运行”。在console下运行msi程序进行安装。
解决方法3:也是让console具有管理员权限
如果找不到“命令提示符”的话,可以新建一个cmd.bat的批处理文件,内容为cmd。
然后右键cmd.bat就可以看到“以管理员身份运行“,接着就在console下可以运行msi程序安装。
前两种方法有时候不太灵光,实际上还是第三种方法最简单方便。