繁体   English   中英

NSIS 为卸载程序使用选定的语言

[英]NSIS Use selected language for uninstaller

我正在开发 NSIS 安装程序,我刚刚在安装程序中添加了多语言。 我希望每次用户单击安装程序时安装程序都显示语言对话框,所以我从我的 nsi 文件中删除了这两行

!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"

这也强制卸载程序在用户每次单击时显示语言对话框。

我想禁用安装程序中的语言对话框,或者使其使用用户在安装程序时选择的语言<<这种方式更好。

感谢帮助者。

您可以在安装过程中将 $language 变量保存在注册表中,并在 un.onInit 中将其读入 $language。 如果您不想显示语言对话框,请不要在 .onInit 中调用它

用这个:

Function un.onInit

  !insertmacro MUI_UNGETLANGUAGE
  
FunctionEnd

您还需要像这样设置 MUI_LANGDLL_REGISTRY_*:

!define MUI_LANGDLL_REGISTRY_ROOT "HKCU" 
!define MUI_LANGDLL_REGISTRY_KEY "Software\YourAppName" 
!define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM