cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not applicable

Upgrading an application using a different language

I am working on an application that initially supported English (default) and Japanese only. We have added Chinese support for a new release, but during testing, we have found that an upgrade from the previous version on a Chinese OS will still come up in English (a typical clean install comes up correctly in Chinese). Does anyone know if this is by design? Are there any known workarounds? Any help or information would be greatly appreciated.
Labels (1)
0 Kudos
(4) Replies
Not applicable

The old version of the software we are upgrading from was built with InstallShield X. I performed a test to try upgrading from a version built with InstallShield 2008 and Chinese was displayed without any problem. So it seems the version of InstallShield used for the build is also part of the problem, if not the sole cause.

Does anyone know if this is a known issue or if there is a way to work around it?
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

If this is an MSI based installation, localization is achieved through the use of language transforms (one for each supported language in the installation). Due to how Windows Installer implements support for transforms, transforms cannot be added, removed, or replaced during maintenance installations (which include small/minor upgrades and small/minor upgrade patches).

The best solution to this issue would be to provide a major upgrade. Since a major upgrade is essentially a new installation, the transforms could then be changed.
0 Kudos
Not applicable

Thanks for the reply! Unfortunately we are using an InstallScript installation so I'm assuming the above wouldn't apply. Please correct me if I'm mistaken though, which as always would be quite possible 😮
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

If I recall correctly, InstallScript does not have an equivalent to MSI major upgrades (at least not in the automatic sense).

However, you could emulate major upgrade type behavior by changing the product code for your project, and then during an event such as OnFirstUIBefore, look for the old product on the machine (such as from its uninstall key) and launch the old product uninstall. The UninstallApplication function can simplify the process of uninstalling the older product.
0 Kudos