【发布时间】:2021-09-07 02:19:36
【问题描述】:
我正在尝试在我的 NSIS 脚本中创建一个具有特权的计划任务。
使用这个命令:
schtasks /create /ru "NT AUTHORITY\SYSTEM" /SC ONSTART /RL "HIGHEST" /TR "C:\Program Files (x86)\MyProgram\MyProgram.exe" /tn MyProgram.Kickstart
从 cmd.exe 中我设法做到了,但现在我需要让 NSIS 脚本来做。 阅读文档和互联网我发现了这个命令:
; ........
Section
ExecShell "runas" "myprogram.bat"
SectionEnd
; ........
其中“myprogram.bat”是包含命令的 bat,但我也尝试将 schtasks 放入其中。 目前似乎没有批处理运行,即使我有这个日志:
Processing script file: "C:\Foo\prova.nsis"
OutFile: "C:\Foo\testnsis.exe"
Section: "TestFST"
ExecShell: runas: "C:\Foo\kickstart.bat" ""
SectionEnd
如果我在 bat 中添加 2> kickstart.log 并在 NSIS 之外执行它,我会按预期填充日志,但脚本中没有任何内容。
还要考虑到,为了简单和测试目的,我编写了一个从 powershell 启动的非常基本的脚本:
# Powershell
makensis.exe /O"C:\Foo\prova.log" "C:\Foo\prova.nsis"
; NSIS
OutFile "C:\Foo\testnsis.exe"
Section TestFST
ExecShell "runas" "C:\Foo\kickstart.bat"
SectionEnd
我可能会遗漏一些东西,因为我对此完全陌生。 我错过了什么?
【问题讨论】:
标签: nsis