1

我创建了一个exewithNSIS来安装我的应用程序,但如果应用程序已经在运行,它会在启动时更新。

似乎实现这一点的最简单方法是在下面添加一个注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

我的条目如下所示:

Value name: InstallRUS
Value data: cmd /C "C:\Location\of\my\program.exe /S"

此可执行文件只是将文件复制到目录并运行脚本以将应用程序注册为 Windows 服务。

如果我重新启动Windows,它会运行两次,第一次是在静默模式下,第二次它似乎忽略了静默标志。

如果我注销并重新登录,它会在静默模式下正确运行一次。

这导致该任务在 Windows 启动和登录时运行的结论,但文档指出:

Run 和 RunOnce 注册表项会导致程序在每次用户登录时运行...默认情况下,RunOnce 项的值会在命令行运行之前被删除。

Windows 启动算作“用户登录”吗?

为什么第一次运行后条目没有被删除?

我怎样才能解决这个问题?

为什么窗户对我说谎?

笔记:

  1. 我正在使用 Windows 7 Professional x32
  2. 似乎与此有关:Windows Registry RunOnce Loop但我没有写入注册表
4

0 回答 0