我有一个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启动”中,或者另一种完全不同的方式来执行此任务。
谢谢大家
答案 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