installation - 使用 NSIS 创建自定义页面

标签 installation nsis

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

enter image description here

来自docs at "Custom Pages"这是创建自定义页面的方式:

;--------------------------------
;Pages

Function CustomPageFunction
  !insertmacro MUI_HEADER_TEXT "TITLE" "SUBTITLE"
FunctionEnd

  !insertmacro MUI_PAGE_WELCOME
  Page custom CustomPageFunction 

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

设置图像的更新:

var Image
var ImageHandle

Function CustomPageFunction
; !insertmacro MUI_HEADER_TEXT "TITLE" "SUBTITLE"

nsDialogs::Create 1044
Pop $0

${NSD_CreateBitmap} 0 0 100% 100% ""
Pop $Image
${NSD_SetImage} $Image "C:\Users\User\Desktop\TrickyWays\test.png" $ImageHandle

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


nsDialogs::Show
${NSD_FreeImage} $ImageHandle
FunctionEnd

最佳答案

您链接到的文档仅讨论与 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

关于installation - 使用 NSIS 创建自定义页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61386839/

相关文章:

javascript - Electron 安装程序完整性检查失败

c# - 如何为 ASP.Net Web 应用程序创建完整的安装程序

c# - 为什么我的 Uninstall 方法没有从 msi 调用?

nsis - 我可以在 NSIS 卸载程序中有可选部分吗?

nsis - 如何在 nsDialogs 页面后获得完成按钮

string - 按索引排列的 NSIS 子字符串

android - Gingerbeard(2.3.7) 上的 INSTALL_FAILED_DEXOPT

gcc - 在 ubuntu 中安装 gcc 更新版本 4.6

r - ggraph 安装的问题

installation - 向 cpack 添加额外命令 - NSIS 打包程序/安装程序