cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Reureu
Level 10

Language independent dialog layouts

Hi,

I am working on a multilingual installer with Installshield 2008.
This is a basic MSI project which supports English (default), German and French.

The English and German dialog layouts are ok: they are the same.
If I change the position of a control on the English dialog, the position of the corresponding dialog on the German one is also changed.
But the French dialog layout is independent from what I do on the English or German ones.
Any control change on the English or German dialog does not change anything to the French dialog.

Am I doing anything wrong?
Is there any way to tell Installshield that the dialog layouts are language independent?

Any help would be greatly appreciated.

Regards
Labels (1)
0 Kudos
(7) Replies
Gvarma
Level 7

Reureu wrote:
Hi,

I am working on a multilingual installer with Installshield 2008.
This is a basic MSI project which supports English (default), German and French.

The English and German dialog layouts are ok: they are the same.
If I change the position of a control on the English dialog, the position of the corresponding dialog on the German one is also changed.
But the French dialog layout is independent from what I do on the English or German ones.
Any control change on the English or German dialog does not change anything to the French dialog.

Am I doing anything wrong?
Is there any way to tell Installshield that the dialog layouts are language independent?

Any help would be greatly appreciated.

Regards

obviously its a screw up on installshields part but it sounds like the controls that are being used (Labels etc) are shared between English and German dialog boxes, that might be a starting point for you.

Worst comes to worst you could seperate the contols, or perhaps try MSI/Installshield project.
I have done this in MSI/Installshield project for 12 languages (including French(France), English (UK) and German(Germany)) and I didnt have any issues there.

HTH
0 Kudos
Reureu
Level 10

Hi,

What puzzles me a bit is that this is covered in the User's Manual, but the behaviour I see is not what is described.

The user's manual says:
---
The rule to remember is that all controls have the same properties, string table entries, and behavior for each language. When you add a control to the English (United States) copy of a dialog, you are adding the same control to the German (Standard) version. Setting the Sunken property of a bitmap to True makes that property True for each language-specific version.

Resizing Elements
The exceptions to the above rule are the Height and Width properties of a control. These properties are specific to each language’s version. Because string lengths can vary widely from one language to another, when you resize a control, you are not affecting the control’s size for any other language.
For example, you may need to enlarge a push button to accommodate a longer string after it is translated into German. The push button remains the same size for every version of the dialog since it was created. When you resize the control in the German layout, it is resized only for that language.
---

In my case, changing the position of a control on the French dialog only seems to affect the French one. The English and the German dialogs are not affected.

It is pretty annoying, as if I change anything in the layout of a dialog, then I need to manually apply the changes to several languages.

Regards
0 Kudos
Gvarma
Level 7

I can certainly feel your pain having gone through similar situation.

You might get lucky by opening up your MSI database using application like Orca MSI Editor from microsoft and looking at Dialog table, I think you have better chances of making this work by modifying HCenterng VCentering, Height etc values in Orca then in Installshield IDE. but before you did that make sure you have backed up your work.

I hope someone from installshield see's this thread and correct the issue in MSI projects.

Good Luck.
0 Kudos
Reureu
Level 10

Hi again,

I had a look at the corresponding Installshield ISM project file, and I found out that there is actually a section corresponding to local dialog components.



Dialog_
Control_
ISLanguage_
Attributes
X
Y
Width
Height
Binary_
ISBuildSourcePath






...bla
...bla
...bla
CustomSetupChangeFolder103633012086617
CustomSetupDlgText10363135136020
CustomSetupFeatureGroup1036123572131120
CustomSetupInstallLabel103631319536010
CustomSetupItemDescription103632418512050
CustomSetupLocation103631320827120



And I realized that there is the corresponding table (ISLocalControl) in the Direct Editor.

So, it seems that Installshield allows to have language dependent dialog layouts.

The question is: how can we simply enable/disable it for specific languages?
I don't think there is such option in the dialog view. So maybe the developers of Acresso expect us to use the Direct Editor?

Regards
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

The general approach we take is this: when you modify the controls on the active default language, we update the Control table; when you modify the controls on a non-default language, we add records to and/or update them in the ISLocalControl table, thus further edits to this same control on the default language will no longer affect this control for this non-default language.

I don't think there's any dialog-editing related UI that lets you control this, but as you found you can tweak things in the direct editor, for instance by deleting the ISLocalControl records for controls you didn't want to use language-specific positions. And by editing only on the active default language (changing it if necessary), you can avoid generating these language-specific overrides.
0 Kudos
Gvarma
Level 7

Reureu wrote:
Hi again,

I had a look at the corresponding Installshield ISM project file, and I found out that there is actually a section corresponding to local dialog components.



Dialog_
Control_
ISLanguage_
Attributes
X
Y
Width
Height
Binary_
ISBuildSourcePath






...bla
...bla
...bla
CustomSetupChangeFolder103633012086617
CustomSetupDlgText10363135136020
CustomSetupFeatureGroup1036123572131120
CustomSetupInstallLabel103631319536010
CustomSetupItemDescription103632418512050
CustomSetupLocation103631320827120



And I realized that there is the corresponding table (ISLocalControl) in the Direct Editor.

So, it seems that Installshield allows to have language dependent dialog layouts.

The question is: how can we simply enable/disable it for specific languages?
I don't think there is such option in the dialog view. So maybe the developers of Acresso expect us to use the Direct Editor?

Regards


hi,
could you attach your project to this thread?
0 Kudos
Reureu
Level 10

MichaelU wrote:
The general approach we take is this: when you modify the controls on the active default language, we update the Control table; when you modify the controls on a non-default language, we add records to and/or update them in the ISLocalControl table, thus further edits to this same control on the default language will no longer affect this control for this non-default language.

I don't think there's any dialog-editing related UI that lets you control this, but as you found you can tweak things in the direct editor, for instance by deleting the ISLocalControl records for controls you didn't want to use language-specific positions. And by editing only on the active default language (changing it if necessary), you can avoid generating these language-specific overrides.


Hi,

Thank you Michael, that's exactly what I needed to know.
You might want to ask the Acresso product team to either add an option to control this local / global dialog behaviour, or at least ask the technical writers to add the above information to the User's Manual.

As for posting my project file, I am afraid I can't do it as it contains some confidential content.

Regards
0 Kudos