使用 NSIS 创建自定义页面

Rob*_*ick 2 installation nsis

我想使用 nsis 创建一个自定义页面。只是不同高度的文本,可能还有一些图像。类似于oracle的做法:

\n\n

在此输入图像描述

\n\n

“自定义页面”的文档中,这是创建自定义页面的方式:

\n\n
;--------------------------------\n;Pages\n\nFunction CustomPageFunction\n  !insertmacro MUI_HEADER_TEXT "TITLE" "SUBTITLE"\nFunctionEnd\n\n  !insertmacro MUI_PAGE_WELCOME\n  Page custom CustomPageFunction \n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在寻找有关如何创建非常基本的自定义安装程序页面的其他指南,因为不幸的是,在 MUI_PAGE_WELCOME 之后不会显示带有“TITLE”和“SUBTITLE”的新页面,就好像需要添加额外的说明一样。我缺少什么?\xc5\xbe

\n\n

设置图像的更新:

\n\n
var Image\nvar ImageHandle\n\nFunction CustomPageFunction\n; !insertmacro MUI_HEADER_TEXT "TITLE" "SUBTITLE"\n\nnsDialogs::Create 1044\nPop $0\n\n${NSD_CreateBitmap} 0 0 100% 100% ""\nPop $Image\n${NSD_SetImage} $Image "C:\\Users\\User\\Desktop\\TrickyWays\\test.png" $ImageHandle\n\n${NSD_CreateLabel} 0 0 100% 40% "Hello, welcome to nsDialogs!"\nPop $0\n\n\nnsDialogs::Show\n${NSD_FreeImage} $ImageHandle\nFunctionEnd\n
Run Code Online (Sandbox Code Playgroud)\n

And*_*ers 5

您链接到的文档仅讨论与 MUI 标题文本相关的自定义页面。函数中有一个...,您应该在其中放置实际的自定义页面代码。我将尝试修复文档的该部分。

自定义页面需要插件,最流行的插件可能是nsDialogs。不调用插件的自定义页面会自动跳过。

!include nsDialogs.nsh
!include mui2.nsh

Function myPageCreate
!insertmacro MUI_HEADER_TEXT "TITLE" "SUBTITLE"

nsDialogs::Create 1018
Pop $0
${If} $0 == error
    Abort
${EndIf}

${NSD_CreateLabel} 0 0 100% 12u "Hello, welcome to nsDialogs!"
Pop $0

${NSD_CreateText} 0 13u 100% -13u "Type something here..."
Pop $0

nsDialogs::Show
FunctionEnd

!insertmacro MUI_PAGE_WELCOME
Page custom myPageCreate 
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE English
Run Code Online (Sandbox Code Playgroud)