WIndows - 安装前检查我的用户帐户是否具有安装权限

时间:2017-05-18 12:04:24

标签: windows batch-file cmd windows-installer

我正在创建一个用户在本地计算机上运行的脚本,以通过运行msiexec来安装应用程序。不幸的是,如果用户不必更正权限,安装将失败。

msiexec会写入日志并告诉我由于权限而失败,但我发现这不是一个非常优雅的解决方案。

如何从Windows命令行本地查找是否可以安装应用程序?

1 个答案:

答案 0 :(得分:1)

我认为有一些策略设置可以允许非管理员用户运行msi,因此您可能需要将其与管理员检查合并,以防它们被设置。

@Echo Off
"%__APPDIR__%net.exe" Session >Nul 2>&1 && GoTo Success
Set "RKey=HKCU HKLM"
Set "SKey=SOFTWARE\Policies\Microsoft\Windows\Installer"
Set "KVal=AlwaysInstallElevated"
Set "KDat=0"
For %%A In (%RKey%) Do For /F "Tokens=3" %%B In (
    '"%__APPDIR__%reg.exe" Query "%%A\%SKey%" /V "%KVal%" 2^>Nul'
) Do Set/A KDat+=%%B
If %KDat% NEq 2 Exit/B

:Success
Echo( You can install!
Timeout -1

只需更改:Success下面的代码即可运行.msi安装程序。

相关问题