我正在研究NSIS安装程序,我刚刚为安装程序添加了多语言。 我希望每次用户点击安装程序时,安装程序都会显示语言对话框,所以我从我的nsi文件中删除了这两行
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
这个也强制卸载程序每次用户点击它时都会显示语言对话框。
我想在安装程序中禁用语言对话框,或者使用安装程序时用户选择的语言<<这种方式更好。
感谢帮助者。
答案 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"