NSIS将所选语言用于卸载程序

时间:2011-02-27 01:40:41

标签: dialog nsis uninstaller

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

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

这个也强制卸载程序每次用户点击它时都会显示语言对话框。

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

感谢帮助者。

2 个答案:

答案 0 :(得分:3)

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

中调用它

答案 1 :(得分:0)

使用此:

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"