2014-02-11 30 views
1

我目前正在在几个反病毒软件的安装程序包为客户和我正在与作为它的记录为MUI2做不工作的描述文本的问题。NSIS“MUI_DESCRIPTION_TEXT”不工作的记录

!insertmacro MUI_LANGUAGE "English" 

LangString DESC_avg ${LANG_ENGLISH} "Install AVG Anti-Virus: Because Norton doesn't work." 
LangString DESC_cc ${LANG_ENGLISH} "Install CCleaner PC Optimizer: Clearing your junk files since 2005." 
LangString DESC_mb ${LANG_ENGLISH} "Install MalwareBytes Anti-Virus: Because no anti-virus is perfect." 
LangString DESC_ff ${LANG_ENGLISH} "Install Firefox Internet Browser: Friends don't let friends use Internet Explorer" 
LangString DESC_sb ${LANG_ENGLISH} "Install Spybot Virus Removal: Only for getting rid of those particularly pesky virus$\'" 

!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN 
    !insertmacro MUI_DESCRIPTION_TEXT ${SectionAVG} ${DESC_avg} 
    !insertmacro MUI_DESCRIPTION_TEXT ${SectionCC} ${DESC_cc} 
    !insertmacro MUI_DESCRIPTION_TEXT ${SectionMB} ${DESC_mb} 
    !insertmacro MUI_DESCRIPTION_TEXT ${SectionFF} ${DESC_ff} 
    !insertmacro MUI_DESCRIPTION_TEXT ${SectionSB} ${DESC_sb} 
!insertmacro MUI_FUNCTION_DESCRIPTION_END 

它正确地安装的一切,我只是使它看起来专业的整理阶段。我以正确的格式(每个部分)都领导着我(我相信)。

Section "AVG Anti-Virus" SectionAVG 

;Install everything here 

SectionEnd 

;other sections... 

问题是它编译,但没有显示任何描述的信息。有没有一些脚本错误我正在运行,这不是在文档中?也许还有其他一些没有被首先覆盖的步骤?

感谢您提前给予任何帮助。我只开始学习如何使用NSIS,但是一旦你知道你在做什么,它似乎是一个非常强大的工具。

回答

3

它按照记录工作,但您没有按照文档!

的MUI_FUNCTION_DESCRIPTION_BEGIN/END块都进来.nsi的部分(以下简称“组件页描述”部分中的MUI帮助文件这个文件)之后。原因是${SectionAVG}不会在声明该部分后定义util。当使用LangString字符串时,您还需要使用正确的语法:$(lang_string_id)

!include MUI2.nsh 
!insertmacro MUI_PAGE_COMPONENTS 
!insertmacro MUI_PAGE_INSTFILES 
!insertmacro MUI_LANGUAGE English 

LangString DESC_avg ${LANG_ENGLISH} "foo foo foo foo foo foo foo foo foo" 
LangString DESC_cc ${LANG_ENGLISH} "bar BAR bar" 

Section "AVG Anti-Virus" SectionAVG 
SectionEnd 
Section "CCleaner" SectionCC 
SectionEnd 

!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN 
!insertmacro MUI_DESCRIPTION_TEXT ${SectionAVG} $(DESC_avg) 
!insertmacro MUI_DESCRIPTION_TEXT ${SectionCC} $(DESC_cc) 
!insertmacro MUI_FUNCTION_DESCRIPTION_END 
+0

啊,好的,非常感谢你!并不是真的习惯于像这样的脚本语言,所以有时我会忽略声明的顺序,这在文档中我没有注意到。这是我们有时会犯的那些令人尴尬的新手错误之一,我想。 总的来说,非常感谢! – Kats