从 NSIS 安装程序窗口标题中删除“正在安装”

Posted

技术标签:

【中文标题】从 NSIS 安装程序窗口标题中删除“正在安装”【英文标题】:Remove "Installing" from NSIS installer window title 【发布时间】:2011-10-26 07:16:31 【问题描述】:

我有一个 NSIS 安装程序脚本,用于部署 py2exe 构建的应用程序(使用 NSIS 2.46)。我无法解决的唯一 UI 细节是安装程序上的窗口标题。

根据文档,Caption 指令应设置此文本。但无论我设置什么,它总是附加文本“:安装”。也就是说,如果我有:

Caption "My Special App"

...然后安装程序上的窗口标题显示“我的特殊应用程序:正在安装”。我该如何解决这个问题?

(我想避免这种情况,因为我实际上是在使用 NSIS 安装程序将应用程序提取到临时目录并运行一次,而不是永久安装它。)

我的整个 NSI 文件是:

!define py2exeOutputDirectory 'C:\Path\To\P2EOutput'
!define exe 'MyApp.exe'

; Comment out the "SetCompress Off" line and uncomment
; the next line to enable compression. Startup times
; will be a little slower but the executable will be
; quite a bit smaller
;SetCompress Off
SetCompressor /SOLID lzma

Caption "My Special App"

Name 'MyApp'
OutFile $exe
Icon 'C:\Path\To\Icon\icon.ico'

;SilentInstall silent
AutoCloseWindow true
ShowInstDetails nevershow

Section
    DetailPrint "Extracting program..."
    SetDetailsPrint none

    InitPluginsDir
    SetOutPath '$PLUGINSDIR'
    File /r '$py2exeOutputDirectory\*'

    GetTempFileName $0
    ;DetailPrint $0
    Delete $0
    StrCpy $0 '$0.bat'
    FileOpen $1 $0 'w'
    FileWrite $1 '@echo off$\r$\n'
    StrCpy $2 $TEMP 2
    FileWrite $1 '$2$\r$\n'
    FileWrite $1 'cd $PLUGINSDIR$\r$\n'
    FileWrite $1 '$exe$\r$\n'
    FileClose $1
    HideWindow
    nsExec::Exec $0
    Delete $0
SectionEnd

【问题讨论】:

【参考方案1】:
SubCaption 3 " "

PageEx InstFiles
        Caption " "
PageExEnd

LangString "^InstallingSubCaption" 0 " "

【讨论】:

以上是关于从 NSIS 安装程序窗口标题中删除“正在安装”的主要内容,如果未能解决你的问题,请参考以下文章

如何在重新安装期间显示带有 CPack NSIS 的卸载程序窗口?

如何使用NSIS脚本将应用程序安装为Windows服务

NSIS 卸载程序不删除目录

NSIS 安装程序应用程序名称未正确显示

(Un)在 WIX Burn 安装程序中安装 NSIS 包

如何硬删除 NSIS 生成的 uninst.exe?