zoukankan      html  css  js  c++  java
  • NSIS小记:管理员权限和开机自动启动

    解决问题:

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

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

    ;针对当前用户有效WriteRegStr HKCU "SOFTWAREMicrosoftWindows NTCurrentVersionAppCompatFlagsLayers" "$INSTDIR${MAIN_PROGRAM_NAME}M.exe" "RUNASADMIN" 

    ;针对所有用户有效WriteRegStr HKEY_LOCAL_MACHINE "SOFTWAREMicrosoftWindows NTCurrentVersionAppCompatFlagsLayers" "$INSTDIR${MAIN_PROGRAM_NAME}M.exe" "RUNASADMIN"

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

    启动项:

    WriteRegStr HKCU "SoftwareMicrosoftWindowsCurrentVersionRun" "TestAddKey" "$INSTDIRTest.exe"
    #该命令放在安装区域(Section "MainSection" SEC01), 或者注册区域(Section -Post)都可以

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

    删除启动项:

    DeleteRegValue HKCU "SoftwareMicrosoftWindowsCurrentVersionRun" "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

  • 相关阅读:
    关于动态库 DLL同名或者重名的问题总结
    UMDH使用步骤
    点是否在多边形内
    TOMCAT 显示 Context [/zhgsServer] startup failed due to previous errors
    删除 windows 服务中某条记录
    SQL SERVER 分页查询
    SQL Server中 ldf 文件过大的解决方法
    远程关机和远程重启
    把HBITMAP 保存图片文件.
    哲学与算法——高斯混合模型算法
  • 原文地址:https://www.cnblogs.com/gq0324/p/13367438.html
Copyright © 2011-2022 走看看