我是靠谱客的博主 平淡板栗,最近开发中收集的这篇文章主要介绍NSIS添加环境变量,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

试运行这样

Section
SetShellVarContext current ; Used for demonstration purposes, it is the default context
DetailPrint $StartMenu
DetailPrint $SMPrograms
DetailPrint $Desktop
DetailPrint ---
SetShellVarContext all
DetailPrint $StartMenu
DetailPrint $SMPrograms
DetailPrint $Desktop
SectionEnd

,你应该得到这样的事情

C:UsersAndersAppDataRoamingMicrosoftWindowsStart Menu
C:UsersAndersAppDataRoamingMicrosoftWindowsStart MenuPrograms
C:UsersAndersDesktop
---
C:ProgramDataMicrosoftWindowsStart Menu
C:ProgramDataMicrosoftWindowsStart MenuPrograms
C:UsersPublicDesktop

 

 

设置环境变量:
!define hklm_all_users
'HKLM "SYSTEMCurrentControlSetControlSession ManagerEnvironment"'
!define hkcu_current_user
'HKCU "Environment"'
${If} $3 == HKLM
ReadRegStr $5 ${hklm_all_users} "Path" ; Get EnvVarName from all users into $5
${ElseIf} $3 == HKCU
ReadRegStr $5 ${hkcu_current_user} "PATH" ; Read EnvVarName from current user into $5
${EndIf}
${If} $3
== HKLM
WriteRegExpandStr ${hklm_all_users} "Path" $0
; Write it in all users section
${ElseIf} $3 == HKCU
WriteRegExpandStr ${hkcu_current_user} "PATH" $0
; Write it to current user section
${EndIf}
; "Export" our change
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000

RequestExecutionLevel user一个卸载程序将只能够在用户(目前的)情况下删除快捷方式,但该如果你的安装者首先在那里写它们,那么这不是问题。

NSIS不会自动删除快捷方式,你必须手动完成:

Section "Installer"
SetOutPath $InstDir
File "MyApp.exe"
WriteUninstaller "$InstDirUninst.exe"
CreateDirectory "$SMProgramsMyApp"
CreateShortcut "$SMProgramsMyAppMyApp.lnk"
CreateShortcut "$SMProgramsMyAppMyApp (No extensions).lnk" "-NoExt"
SectionEnd
Section "Uninstaller"
Delete "$SMProgramsMyAppMyApp.lnk"
Delete "$SMProgramsMyAppMyApp (No extensions).lnk"
RMDir "$SMProgramsMyApp"
Delete "$InstDirMyApp.exe"
Delete "$InstDirUninst.exe"
RMDir "$InstDir"
SectionEnd 

最后

以上就是平淡板栗为你收集整理的NSIS添加环境变量的全部内容,希望文章能够帮你解决NSIS添加环境变量所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部