安装功能“”未被引用 - 调零代码

install function "" not referenced - zeroing code

嘿嘿,

我正在尝试从 mui2 切换到 umui,但我的编码仍然很糟糕,所以我希望你们能帮助我。

 !define PRODUCT_NAME "UMUI-Setup"
 !define PRODUCT_VERSION "1.0"
 !define PRODUCT_PUBLISHER "Marvin Schulz"

;Plugin Files 

 !include "nsArray.nsh"
 !include "MUIEx.nsh"
 !include "InstallOptions.nsh"
 !include "NsDialogs.nsh"
 !include "LogicLib.nsh"
 !include "FileAssociationVNC.nsh"
 !include "Registry.nsh"

;UMUI Settings
 !define MUI_ABORTWARNING

;Require Adminrights
 RequestExecutionLevel admin

 !insertmacro UMUI_PAGE_MULTILANGUAGE
    !define UMUI_WELCOMEPAGE_ALTERNATIVETEXT
  !insertmacro MUI_PAGE_WELCOME
    !define ModifyWelcome 
    !define LeaveWelcome
  !insertmacro MUI_PAGE_LICENSE "C:\Program Files (x86)\NSIS\Docs\SkinnedControls\license.txt"
  !insertmacro MUI_PAGE_COMPONENTS
    !define UMUI_ALTERNATIVESTARTMENUPAGE_SETSHELLVARCONTEXT
    !define UMUI_ALTERNATIVESTARTMENUPAGE_USE_TREEVIEW
    !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
    !define MUI_STARTMENUPAGE_DEFAULTFOLDER "NSIS\Contrib"
    !define UMUI_CONFIRMPAGE_TEXTBOX confirm_function
  !insertmacro MUI_PAGE_INSTFILES
    !define MUI_FINISHPAGE_SHOWREADME "C:\installer.ini"
    !define MUI_FINISHPAGE_LINK "SkinnedControls Home Page"
    !define MUI_FINISHPAGE_LINK_LOCATION "http://ultramodernui.sourceforge.net/"
  !insertmacro MUI_PAGE_FINISH
    !define UMUI_ABORTPAGE_LINK "SkinnedControls Home Page"
    !define UMUI_ABORTPAGE_LINK_LOCATION "http://ultramodernui.sourceforge.net/"
  !insertmacro UMUI_PAGE_ABORT
  ChangeUI IDD_INSTFILES "${NSISDIR}\Contrib\UIs\default_sb.exe"


 ;Languages 
  !insertmacro MUI_LANGUAGE "English"
  !insertmacro MUI_LANGUAGE "French"
  !insertmacro MUI_LANGUAGE "Hungarian"
  !insertmacro MUI_LANGUAGE "Czech"
  !insertmacro MUI_LANGUAGE "Japanese"
  !insertmacro MUI_LANGUAGE "Polish"
  !insertmacro MUI_LANGUAGE "PortugueseBR"
  !insertmacro MUI_LANGUAGE "German"

 ;Reserve files
 var checkbox
 var checkboxstate  

 Function ModifyWelcome
 ${NSD_CreateLabel} 120u -50u 100% 22u "HINWEIS: Wenn die UAC noch an ist $\n werden die meisten Pakete nicht funktionieren."
 ${NSD_CreateCheckBox} 120u -20u 50% 22u "Installationssicherung auf C:\Daten auswaehlen"
 Pop $checkbox
 SetCtlColors $checkbox "" ${MUI_BGCOLOR}
 ${NSD_Check} $checkbox
FunctionEnd

Function LeaveWelcome
 ${NSD_GetState} $checkbox $checkbox
 ${if} $checkbox != 0
    MessageBox MB_OK "Installationssicherung auf C:\Daten wurde ausgewaehlt"
    StrCpy $checkboxstate "1"
 ${else}
    MessageBox MB_OK "Installationssicherung auf C:\Daten wurde nicht ausgewaehlt"
    StrCpy $checkboxstate "0"
 ${endif}
Push $checkboxstate
CreateDirectory C:\Daten
FunctionEnd

Function .onInit
UserInfo::GetAccountType
pop [=10=]
${If} [=10=] != "admin" ;Require admin rights on NT4+
    MessageBox mb_iconstop "Administrator Rechte benötigt!"
    SetErrorLevel 740 ;ERROR_ELEVATION_REQUIRED
    Quit
${EndIf}
!insertmacro UMUI_MULTILANG_GET

  !define UMUI_BUTTONIMAGE_BMP "${NSISDIR}\Contrib\SkinnedControls\skins\defaultbtn.bmp"
  !define UMUI_SCROLLBARIMAGE_BMP "${NSISDIR}\Contrib\SkinnedControls\skins\defaultsb.bmp"

FunctionEnd

Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "UMUI-Setup.exe"
InstallDir "$PROGRAMFILES\"

ShowInstDetails show

SectionGroup "Test"

Section /o "Benutzerkontensteuerung deaktivieren"
    ${registry::Write} "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System" "EnableLUA" "0x00000000" "REG_DWORD" $R0
SectionEnd

SectionGroupEnd

这就是我的代码,我得到了函数 modifyWelcome 和 LeaveWelcome,当我尝试编译它时,我得到 "install function "LeaveWelcome“未引用 - 归零代码”,与 ModifyWelcome 相同。所以我知道那是什么意思或我必须做什么所以我希望你能帮助我并为我的英语感到抱歉

"install function not referenced - zeroing code" 表示您的代码包含一个从未被任何其他代码调用的函数。这通常意味着您忘记调用或配置该功能。

在您的情况下,您有一些未使用的页面相关功能。

如果您不want/need该代码,请将其删除。如果您确实希望调用它们,请添加正确的定义:

...
!define UMUI_WELCOMEPAGE_ALTERNATIVETEXT
!define MUI_PAGE_CUSTOMFUNCTION_SHOW ModifyWelcome
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE LeaveWelcome
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "C:\...
...