从管理员设置中以管理员身份运行批处理文件(隐藏)

时间:2018-12-04 10:56:38

标签: batch-file permissions inno-setup admin prompt

我有一个Inno Setup安装程序,安装完成后成功运行了一个批处理文件。该批次要求管理员权限,获取并执行操作。

已被要求完全隐藏提示窗口,因此我在Inno Setup中添加了“ Flags:runhidden”,并@echo off并在批处理中添加了> nul 2> nul。但由于以下原因,该批次仍会闪烁提示窗口:

if not "%1"=="am_admin" (powershell start -verb runas '%0' am_admin & goto 
batch & exit /b)

EXIT /b

:batch
---MyCodeHere---

我还没有亲自编写这段代码,也不是批处理编程专家,但是我很确定这些行会打开一个具有管理员权限的新提示,并且该提示会闪烁。

有人知道是否有解决方案吗?也许有些标志要添加到“ powershell启动”中,或者另一种完全不同的方式来执行此任务。

谢谢大家

1 个答案:

答案 0 :(得分:0)

不要使批处理文件要求管理员权限。

立即使用管理员权限运行批处理文件:
Run process (net.exe or sc.exe) with Administrator privileges at the end of an installation in Inno Setup

[Run]
Filename: "{app}\my.bat"; Description: "Run my batch file"; \
    Flags: postinstall runascurrentuser runhidden