码迷,mamicode.com
首页 > 其他好文 > 详细

NSIS小记:管理员权限和开机自动启动

时间:2020-07-23 22:44:30      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:window   use   命令行参数   section   管理员   main   iter   val   efi   

解决问题:

         程序安装后,通过桌面快捷方式运行程序时不需要再右键选择管理员身份运行。

注意:程序安装时需要使用管理员权限进行安装,才能往注册写入信息

;针对当前用户有效WriteRegStr HKCU "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" "$INSTDIR\${MAIN_PROGRAM_NAME}M.exe" "RUNASADMIN" 

;针对所有用户有效WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" "$INSTDIR\${MAIN_PROGRAM_NAME}M.exe" "RUNASADMIN"

解释:${MAIN_PROGRAM_NAME}M.exe 是要执行的主程序的名称

 

启动项:

WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "TestAddKey" "$INSTDIR\Test.exe"
#该命令放在安装区域(Section "MainSection" SEC01), 或者注册区域(Section -Post)都可以

root_key:  注册表根键值: HKCU (HKEY_CURRENT_USER)
subkey: 子键值: Run键(解释见前言)
key_name: 新增键值名称: TestAddKey
value: 启动命令: “Test.exe绝对路径”, 如有命令行参数可以在路径后添加

删除启动项:

DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "TestAddKey"
#该命令放在卸载命令区域(Section Uninstall)

 

 

 获取安装包的名称:

section main

    ${GetExeName} $R0
    ${GetFileName} "$R0" $R1

    MessageBox MB_OK "My installer‘s exe is $R1"
sectionend

${GetFileName} $EXEFILE $R2

;MessageBox MB_OK  $EXEFILE

${GetBaseName} $R2 $R1

;MessageBox MB_OK  $R1

StrCpy $Channel $R1

NSIS小记:管理员权限和开机自动启动

标签:window   use   命令行参数   section   管理员   main   iter   val   efi   

原文地址:https://www.cnblogs.com/gq0324/p/13367438.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!