【问题标题】:NSIS installer defaults to previous startup preferencesNSIS 安装程序默认为以前的启动首选项
【发布时间】:2020-01-21 18:52:06
【问题描述】:

我可以使用 NSIS 安装程序安装应用程序,后来我将 TaskManager->Startup 首选项更新为禁用。卸载并重新安装应用程序后,启动首选项默认为以前的用户首选项“禁用”。我希望安装程序在新安装后始终强制启用,以便应用程序在重新启动时启动。如何使用 NSIS 编码来实现这一点。

谢谢

【问题讨论】:

    标签: windows installation startup nsis preferences


    【解决方案1】:

    我相信微软希望这是一个纯粹由用户控制的设置,但无论如何任务管理器使用的方法是在 HKEY_CURRENT_USER 或 HKEY_LOCAL_MACHINE 中的以下注册表位置中修改适当的 REG_BINARY 值,视情况而定:

    SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run
    SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\Run32
    SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartupApproved\StartupFolder
    

    启用的项目包含数据:

    02 00 00 00 00 00 00 00 00 00 00 00

    06 00 00 00 00 00 00 00 00 00 00 00

    禁用项包含以 03000000... 或 07000000... 开头的数据,后跟一些十六进制值 [也许是时间戳?],例如:

    03 00 00 00 F4 0B 28 C9 9D 79 D1 01

    我不清楚以 02 和 06 开头的有什么区别,但似乎 02s 变为 03s 而 06s 在禁用时变为 07s。

    为确保您的启动项已启用,请使用 WriteRegBin 将其设置回 020000000000000000000000 或 060000000000000000000000,或者仅使用 DeleteRegValue 并完全删除该值。

    【讨论】:

      猜你喜欢
      • 2016-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多