如何让NSIS安装程序仅为当前安装用户创建Windows开机自启快捷方式
解决NSIS安装程序仅让当前安装用户开机自启的问题
你现在用的$SMSTARTUP是Windows的公共启动文件夹,所有登录这台机器的用户都会读取这个目录里的快捷方式,所以才会出现所有用户开机都启动的情况。要实现仅让安装程序的当前用户自启,只需要把这个变量换成当前用户专属的启动文件夹变量$USERSTARTUP就可以了。
修改后的代码如下:
;Create Auto Startup Shortcut (仅当前安装用户生效) CreateShortCut "$USERSTARTUP\my_app.lnk" "$INSTDIR\Bin\my_app.exe"
补充说明:
$SMSTARTUP:对应系统级的公共启动目录(通常是C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup),所有用户都会加载这里的快捷方式。$USERSTARTUP:对应当前登录用户的个人启动目录(通常是C:\Users\[用户名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup),只有这个用户登录时才会加载。
这样修改后,你的应用就只会在安装它的那个用户开机时自动启动,其他用户登录不会受影响啦。
内容的提问来源于stack exchange,提问作者DanC225
相关产品推荐
相关产品推荐

