NSIS即使在我删除了部分之后也会安装它们
我构建了一个安装程序,它由5个部分/组件组成。我在components页面之前创建了一个pre函数,用于检查安装了哪些组件,只有当前未安装的组件才会显示在components页面上NSIS即使在我删除了部分之后也会安装它们,nsis,Nsis,我构建了一个安装程序,它由5个部分/组件组成。我在components页面之前创建了一个pre函数,用于检查安装了哪些组件,只有当前未安装的组件才会显示在components页面上 !define MUI_PAGE_CUSTOMFUNCTION_PRE selectSections !insertmacro MUI_PAGE_COMPONENTS ... Function selectSections ; remove sections which are alread
!define MUI_PAGE_CUSTOMFUNCTION_PRE selectSections
!insertmacro MUI_PAGE_COMPONENTS
...
Function selectSections
; remove sections which are already installed
ReadRegStr $0 HKLM "${REG_INSTALL}" "SEC_EXTRACTOR"
IfErrors +2
!insertmacro RemoveSection ${SEC_EXTRACTOR}
!insertmacro SelectSection ${SEC_EXTRACTOR}
; so on for all components
FunctionEnd
因此,我首先安装所有组件,然后再次运行安装程序。这次我在components页面上没有看到任何组件。但当我在那个页面上按install时,所有的部分仍然被执行。有人能帮忙吗
我在一个没有列出任何组件的组件页面上按下了安装按钮。但我看到这些部分安装在详细信息窗格中。不要使用相对跳转跳过宏,因为宏可以是多条指令。使用LogicLib.nsh中的IfErrors标签或${If}${Errors}