cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
ChristopheOce
Level 7

string aren't translate during the installs !?

Hi,

i have a basic msi project who installs some dll dotnet some exe and some xml file, all works perfectly!

there is just one thing who don't work and i don't find WHY !
if i install my product and i choice the language english for exemple when i double click on the installer all string language are correct and i receive all string or warning in the correct language => english !

Now, if i choice french language for exemple and that's my service doesn't start during the install i send a warning in the user as this :


//some line for to start the service
//If the service doesn't start i send a message !
MessageBox(@ID_STRING121, INFORMATION);


but i receive this message in english and HOWEVER the string are translate in french !!!!
Same thing for the other language ..and i don't understand why ?!

Any idea for to correct this problem ?!

Thanks for your idea
Christophe
Labels (1)
0 Kudos
(5) Replies
ChristopheOce
Level 7

Hi it's enough me,

i've notice when the build of my project is finished there is some file MST, each file contains some strings for the installs.

If i open the file 1036.MST => french my string (sentence)=> "Le service ***** n'a pas pu démarrer " isn't present in this file !!!! However some other string are present ..

Of course, i've looked in the french table and my string ID_STRING121 exist !

Someone can give me a solution or a way to explore what's happens ?!

Thanks for all
Christophe
0 Kudos
TsungH
Level 12

How about purging the release folder, so that you are sure the release built with F7 will be a clean full build.
0 Kudos
ChristopheOce
Level 7

Hi Tsungh,

i've purge the load but string are not present in the file mst perhpas the string for my custom action are stored in the file MSI !?

But for to resolve my problem who was : after readyToInstall, i 've a custom action who start a service at the end of installation and if this service can't start for a reason i send a message :


MessageBox( @ID_STRING..., INFORMATION );


but all the time this message is send in ENGLISH then i launch my install in italian or french or other language !!!

For resolve this, i have created a set properties for productLanguage and in my script who starts the service i do a

MsiGetProperties(hMSI, "CustomActionData", ...);


for to have the Windows plateform id => 1033 en-us / 1036 french / 1040 italian and i do a switch with the correct number and a send the correct string !

This solution works...
but I WOULD LIKE TO KNOW AND ESPECIALLY UNDERSTAND 🙂 why when in my previous load if i choice french as language install and my service can't start the language who is send is always in english !?

Perhpas ?! because the installer in execute sequence hasn't access to the ProductLanguage but i 'm not sure !

I hope to have some reason and some LIGHT i m a beginner 🙂

Thanks for your comments
Christophe
0 Kudos
hidenori
Level 17

I confirmed that this is a breakage from IS 11.5, and submitted the work order #IOC-000066050 so that it will be fixed in a future release. To get it workaround, you need to create a localizable MSI property in the Property Manager that uses the string ID of ID_STRING..., and pass the value of the MSI property to your InstallScript function through the CustomActionData property.

Thank you for reporting this.
0 Kudos
ChristopheOce
Level 7

Hi hidenori,

Ok for create a localisable string in the property manager but we have 13 languages and some function of the installscript and it's a bit heavy !

But my package works and is localisable thats the most important 🙂 !


Thanks for you information
Christophe
0 Kudos