【发布时间】:2016-09-20 12:39:30
【问题描述】:
我尝试在安装完成后执行一个批处理文件。
Filename: "{cmd}"; Parameters: "/C ""{app}\Start.bat"""; \
Description: {cm:LaunchAfterInstallQuest_lbl}; \
Flags: nowait postinstall skipifsilent shellexec;
批处理文件start.bat 正在请求管理权限并启动两个服务。
@if (1==1) @if(1==0) @ELSE
@echo off&SETLOCAL ENABLEEXTENSIONS
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"||(
cscript //E:JScript //nologo "%~f0"
@goto :EOF
)
REM --> start services
set error=0
set date=%date%_%time:~0,2%-%time:~3,2%-%time:~6,2%
net start "SMC Integrationsserver" 2>>"%~dp0logfile_start_%date%.txt"
IF ERRORLEVEL 1 ( set error=1 )
net start "Wildfly" 2>>"%~dp0logfile_start_%date%.txt"
IF ERRORLEVEL 1 ( set error=1 )
if %error%==1 (
echo Ein Fehler trat auf, bitte pruefen Sie die Logdatei "%~dp0logfile_start_%date%.txt"
pause
@goto :EOF
)
if %error%==0 (
del /s /q "%~dp0logfile_*.txt"
)
@goto :EOF
@end @ELSE
ShA=new ActiveXObject("Shell.Application")
ShA.ShellExecute("cmd.exe","/c \""+WScript.ScriptFullName+"\"","","runas",1);
@end
当我在安装程序中单击完成时,start.bat 文件正在无限循环中执行。
有什么想法吗?
【问题讨论】:
-
这太过分了。你为什么使用如此丑陋的黑客在批处理文件中请求管理员权限?为什么不从安装程序的提升环境启动服务?
标签: batch-file inno-setup