Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Embedded locale transforms


4 replies to this topic

Gareth at Serif

Gareth at Serif
  • Full Members
  • 85 posts

Posted 26 September 2007 - 16:08

Has anyone any experience of this kind of thing?

I've got an MSI with ProductLanguage property set to 1033, likewise the Languages field of the Summary Information is set to 1033. I have created a French transform (just for the dialog strings, for testing purposses) and called it 1036.mst and imbedded it into my MSI using msidb.exe. They say, all you need to do is run it and it'll compare the system locale with your embedded transforms and it'll all work - well, it doesn't.

You can call the embedded transform via command line by adding a colon into the sting:
msiexec /i "<msi_path>" transforms=:1036.mst
This DOES work.

I decided that perhaps if I added 1036 to the Languages field of the Summary Information it'd work (now "1033,1036"). This gets me one step closer, as I get an error: "Error applying transforms. Verify that the specified transform paths are valid." and the package fails to get to the Welcome dialog. Running the same command line string with this additional Language in the Summary Information generates the same error message, albeit with curiously different formatting.

So, I can run a package with an embedded transform from commandline, but as soon as I do what I thing is neccessary for the process to automate, it all fails. Clearly there is another step I need to complete before I get the desired behaviour.

Any ideas?

Many thanks,
Gareth

Gareth at Serif

Gareth at Serif
  • Full Members
  • 85 posts

Posted 26 September 2007 - 17:36

Just thought I'd a reply to indicate which topic is the real one - sorry about all those other duplicates :-(

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 28 September 2007 - 16:28

Did you use 1036 as the name of the substorage when you embedded the transform?
I guess you followed the steps at http://www.installsi...dlang/index.htm
Remeber that this is undocumented and unsupported and thus may break, e.g. in msi 4.5

Gareth at Serif

Gareth at Serif
  • Full Members
  • 85 posts

Posted 01 October 2007 - 15:19

I believe I've done everything correctly. The Summary Info has languages of "1033, 1036". The language property changes from "1033" to "1036" as a result of applying the transform. And the transform is called "1036.mst".

It's odd that the transform can be applied via commandline when 1036 is not included in the summary information, as soon as it's added in, the package tries to automatically use the transform, and trying to do so from commandline equally fails.

Regards,
Gareth

Gareth at Serif

Gareth at Serif
  • Full Members
  • 85 posts

Posted 02 October 2007 - 16:45

Okay, I figured it out. you need to ommit the transform's file extension. In my example, just call the file "1036" and embed it into your MSI... it all works as expected.

Cheers,
Gareth