This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Let's analyse the ISM project file
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 16, 2009
04:23 AM
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
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
(7) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 16, 2009
10:27 AM
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
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 16, 2009
10:48 AM
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
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
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 16, 2009
04:05 PM
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.
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.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 17, 2009
07:23 AM
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.
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
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.
CustomSetup | ChangeFolder | 1036 | 3 | 301 | 208 | 66 | 17 | ||
CustomSetup | DlgText | 1036 | 3 | 13 | 51 | 360 | 20 | ||
CustomSetup | FeatureGroup | 1036 | 1 | 235 | 72 | 131 | 120 | ||
CustomSetup | InstallLabel | 1036 | 3 | 13 | 195 | 360 | 10 | ||
CustomSetup | ItemDescription | 1036 | 3 | 241 | 85 | 120 | 50 | ||
CustomSetup | Location | 1036 | 3 | 13 | 208 | 271 | 20 |
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
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 17, 2009
11:30 AM
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.
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.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 17, 2009
12:28 PM
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
|
CustomSetup ChangeFolder 1036 3 301 208 66 17
|
CustomSetup DlgText 1036 3 13 51 360 20
|
CustomSetup FeatureGroup 1036 1 235 72 131 120
|
CustomSetup InstallLabel 1036 3 13 195 360 10
|
CustomSetup ItemDescription 1036 3 241 85 120 50
|
CustomSetup Location 1036 3 13 208 271 20
...bla
...bla
...bla
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?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 18, 2009
02:26 AM
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
![](/skins/images/8CE4FAD0DE6F3A6F9D0567434D2D2DAE/responsive_peak/images/icon_anonymous_message.png)