将条目添加到 GPO 启动脚本的安装程序
我正在使用 NSIS 编写一个安装程序,它将向计算机的 GPO 添加一个条目,以便在系统启动时运行命令。
# From http://nsis.sourceforge.net/LGP_Startup/Shutdown_Script
!include LGPScript.nsh
Section
SetOutPath -
# Install all files from myprog directory into C:\Program Files\myprog
File myprog\*
# Copy mysystweak.bat to System32\GroupPolicy\Machine\Scripts\Startup
SetOutPath $SYSDIR\GroupPolicy\Machine\Scripts\Startup
File myprog\mysystweak.bat
SetOutPath -
# Add GPO entry to execute mysystweak.bat on startup
${LGPScript::Create} 'Startup' 'mysystweak.bat' '' $R1
DetailPrint "Create startup LGP return code:$R1"
# Write uninstaller
Writeuninstaller "${uninstall_name}"
SectionEnd
一切都很顺利,除了…\Startup 中没有任何显示。安装程序认为一切正常:
Output folder: C:\WINDOWS\system32\GroupPolicy\Machine\Scripts\Startup
Extract: mysystweak.bat... 100%
Output folder: C:\Program Files (x86)\myprog
我最初尝试使用 CopyFiles 将批处理文件从 $INSTDIR 复制到 ...\Startup,但得到了相同的结果。
这里出了什么问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果这是一个 x64 系统,您需要禁用 FS 重定向,否则 $SYSDIR 将不会指向真正的 system32 目录:
您可以通过使用 进程监视器
If this is a x64 system you need to disable FS redirection, without it $SYSDIR will not point to the true system32 directory:
You can verify that this is the problem by watching the installer with Process Monitor