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

How to add a file with UNICODE name


2 replies to this topic

dodoSturm

dodoSturm
  • Full Members
  • 14 posts

Posted 15 June 2009 - 14:23

Hi,

I have an InstallShield Basic MSI project. I want to install a file with UNICODE name. Let's say I need to install this file: "Железно.txt".
The problem is that in InstallShield as soon as I add the file in Components->"ComponentNAME"->Files "Add File" command in context menu the file name is converted into ASCII (I see the file in list with ???????.txt). Building the project will result in an error.

In the file table the File key field is set to _________.txt and the FileName field is set to ????????.txt

Any ideas?

Dorel Sturm


Zweitze

Zweitze
  • Full Members
  • 522 posts

Posted 16 June 2009 - 09:56

I wouldn't recommend using file names with non-ASCII characters.

First of all you don't know whether the target file system supports this, after all the user may decide to change the install folder, and use a network drive on a Novell Netware 3 server.
Second, as long as Windows has functions like SetFileApisToAnsi(), stick to Ansi. That particular function is not even about to retire.

m.nouryan

m.nouryan
  • Full Members
  • 23 posts

Posted 09 August 2009 - 21:05

Please note that this is my recollection from a very long time ago, it might not be accurate but it might help: (Let me know if this doesn't work, I might be able to check-out my old notes to see if I have forgotten something.)

As far as I remember,

InstallShield is a MBCS application, not a Unicode but it does support Unicode string tables / file names. Here is the trick:

Please install the language you want to support in your InstallShield development platform (Windows 2000 and above). Open "Regional and Language Options" in Control Panel and set the "Language for non-Unicode programs" to your language.

Run InstallShield and add your files / strings.

It should work fine. Please note that, as the other comment suggested, some file systems do not support Unicode file names so you might get some end-user installation issues.


Regards,
~ Morteza