We've overlooked these two dialogs: "Warning: This Windows version is not supported" "A previous version of the ThinLinc Client is already installed. Do you want to remove it?"
Fixed now. Fortunately the warning for the wrong Windows version was already translated, so it should be easy to test. Just start the installer on an old Windows machine with one of our translated languages set.
Urgh. The customizer also had similar strings.
Works well. Tested by changing language and starting the setup in Windows XP compatibility mode.
Problems where we have string definitions out of sync for the installer & customizer should never happen again if r32682 passes inspection. Please test.
Verified using the update translation routine in make release for ThinLinc. translations.nsh contains the newly translated strings. Works as expected.
When I tried to build on my workstation I got: cat clientfiles.nsh.in | awk '{ print $0"\r" }' > clientfiles.nsh cat thinlinc-client.nsi.in | awk -v VERSION=`cat ../../VERSION` '{gsub("%VERSION%", VERSION); print $0"\r"}' > thinlinc-client.nsi ../tlclient/configdefs2reg ../tlclient/tlclient_config_defs.h | awk '{ print $0"\r" }' > settings.reg cat ../ssh_known_hosts | sed 's@\(.*\) \(.*\) \(.*\)@"\1,\2"="\3"\r@' >> settings.reg rm -rf motmp mkdir -p motmp for fn in ../tlclient/po/tmp.po ../tlclient/po/nl.po ../tlclient/po/pt_BR.po ../tlclient/po/it.po ../tlclient/po/fr.po ../tlclient/po/sv.po ../tlclient/po/es.po ../tlclient/po/de.po ../tlclient/po/tr.po ../tlclient/po/ru.po; do \ msgfmt $fn -o motmp/`basename $fn`.mo; \ done ../../buildtools/bin/mo2nsh \ -s "Run ThinLinc Client" -s "Warning: This Windows version is not supported." -s "A previous version of the ThinLinc Client is already installed. Do you want to remove it?" -s "A previous version of the ThinLinc Client Customizer is already installed. Do you want to remove it?" \ motmp/*.mo > intl/translations.nsh Traceback (most recent call last): File "../../buildtools/bin/mo2nsh", line 84, in <module> main() File "../../buildtools/bin/mo2nsh", line 80, in main lang_name = LANG_NAMES[lang] KeyError: '' make[2]: *** [intl/translations.nsh] Fel 1 make[2]: Lämnar katalogen "/home/astrand/ctc/client/installer" make[1]: *** [installer/setup.exe] Fel 2 make[1]: Lämnar katalogen "/home/astrand/ctc/client" make: *** [client/tl-4.8.0post-client-windows.exe] Fel 2 Then, I re-ran the same command "make client-zip", and everything worked as expected. I checked client/installer/Makefile and found: ../../buildtools/bin/mo2nsh \ $(shell grep gettext ../tlclient/tlclient_extra_install_translations.h | awk -v FS='"' '{ print " -s \"" $$2 "\""}') \ motmp/*.mo > $@ When manually running the grep command I get: $ grep gettext client/tlclient/tlclient_extra_install_translations.h | cbrun i386 awk -v FS='"' '{ print " -s \"" $$2 "\""}' -s " gettext_noop("Run ThinLinc Client")," -s " gettext_noop("Warning: This Windows version is not supported.")," -s " gettext_noop("A previous version of the ThinLinc Client is already installed. Do you want to remove it?")," -s " gettext_noop("A previous version of the ThinLinc Client Customizer is already installed. Do you want to remove it?")," This does not look right...? I also looked at the rest of the commit and it seems like tlclient_extra_windows_translations.h is never used?
Tested with nightly build from 2018-01-23. Windows language set to Swedish. Set compatibility mode to XP and added the registry string value "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Cendio ThinLinc client_is1\UninstallString" and "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Cendio ThinLinc client customizer_is1\UninstallString" to non-empty strings in the 32-bit registry to simulate existing install of very old ThinLinc. Both strings are now translated in client and customizer installers.