卸载程序的自定义文本



所以我为某个游戏制作了补丁安装程序。它运行良好,尽管NSIS的设计决策很愚蠢。我使用NSIS 3.03和MUI2。

由于补丁的性质(它不是单独的应用程序,只是在现有程序上应用的补丁(,我不得不为安装程序使用几乎所有的自定义文本(如MUI_WELCOMMAGE_TITLE、MUI_WElcoMMAGE_TEXT等(。我母语的语法没有帮助。

但后来我愚蠢地想包括卸载程序。虽然它有效,但似乎几乎没有自定义文本。只有MUI_UNCONFIRMPAGE_TEXT_TOP和MUI_UNCONFIRMPAGE_TEXT_LOCATION有效。由于上述问题,卸载程序的其他默认文本看起来像垃圾(补丁而不是真正的应用程序,语法(。

例如,在卸载程序的欢迎页面上,有类似于"开始卸载之前,请确保[NAME of PATCH to GAME]未运行。"的文本。它应该类似于"启动卸载之前,确保[NAME of GAME,not NAME of PATCH]未运行"。不,没有MUI_UNWELCOMEPAGE_text或类似的内容。

如何在卸载程序中更改其他文本?对于10岁的安装程序创建者来说,这种疏忽是愚蠢的。WTF?

来自文档:

页面设置应用于单个页面,应在插入页面宏之前进行设置相同的设置可用于安装程序和卸载程序页面。如果要将该设置应用于多个页面,则必须重复该设置。

!include MUI2.nsh
!define MUI_WELCOMEPAGE_TEXT "Installer blah blah"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!define MUI_WELCOMEPAGE_TEXT "Uninstaller blah blah"
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
Section
SetOutPath "$InstDir"
WriteUninstaller "$InstDirUn.exe"
ExecShell "" "$InstDirUn.exe"
SectionEnd
Section Uninstall
Delete "$InstDirUn.exe"
RMDir "$InstDir"
SectionEnd

最新更新