PDA

View Full Version : component wizard defaults to lowercase file keyname



lokapujya
08-15-2005, 12:00 PM
If there is a file with a keyname that uses different cases, such as "Readme.txt", and the component wizard is used to add a file with the same name but in a different directory then Installshield will use "readme.txt" which is a duplicate key. However if the first one was in all lower case, then it correctly increments ane appends a suffix to make the name read "readme.txt1" My current workaround is to rename every occurence of the keyname in the direct editor.

Is there anyway to get the wizard to use the right case, rather than using all lowercase? Or a better workaround?

Stefan Krueger
08-15-2005, 01:28 PM
I believe this was a known bug in an earlier version, but it has been fixed long ago. Can you reproduce this with a fresh project created with IS 11 from scratch?

lokapujya
08-15-2005, 02:22 PM
> I believe this was a known bug in an earlier version, but it has been fixed long ago. Can you reproduce this with a fresh project created with IS 11 from scratch?

Thanks for the response. However, the solution (to the previoulsly known bug) seems to be that Installshield forces the keyname to all lowercase. It also puts someone who has upgraded from an earlier installshield (that has used case) at a major inconveniece. And it also causes the user to have to use keynames that are all lowercase. But if it can be confirmed that the solution was to always use all lowercase, then I can atleast plan on not changing the keyname in the future and to convert existing keynames to all lowercase. The inconveniece is that I already have 10's of files that are in 10's of different locations and will have to change them in multiple tables of the direct editor.

It can be reproduced from a fresh project.
1. You must first create a component A with file "ReadMe.txt". Installshield will use a keyname "readme.txt"
2. You then rename the keyname (to the same case as the actual file and the component name) which would be "ReadMe.txt"
3. Then use the component wizard to add a new file "ReadMe.txt" (that is in a different directory, and which is a different file.) Installshield will use a keyname "readme.txt" (but should use "ReadMe.txt1")
4. Build the project. There will be an error for duplicate key names. Installshild will consider "ReadMe.txt" and "readme.txt" as duplicates. I got about 80 of them.

I'm wondering if there is a workaround or if I should rename every keyname to lowercase? Currently, I am adding the files and renaming them to the appropriate case and incrementing the suffix.

Stefan Krueger
08-16-2005, 08:37 AM
I'm not sure but I guess the solution is to use all lower case in MSI key names.

2. You then rename the keyname (to the same case as the actual file and the component name) which would be "ReadMe.txt"
As soon as you start to modify the ley names manually I guess it becomes your responsibility to make sure all names are unique from then on. But why would you change the key name case? Users will never see it, so theoretically you could even use random strings.

lokapujya
08-16-2005, 01:22 PM
I believe that earlier versions of installshield changed the case. So I was already in that position.

lokapujya
08-16-2005, 02:51 PM
Is this something that would get fixed in a new version? In this case, I will continue to modify the names to the proper case. Or should I just convert everything to lowercase? However, it will take a long time. Can I do this with a sql update statement on the tables?

Stefan Krueger
08-16-2005, 04:30 PM
Is this something that would get fixed in a new version? I don't know. You should contact InstallShield/Macrovision to report the problem and ask about their plans.

Can I do this with a sql update statement on the tables?
Yes, I think you could write a VBScript that executes SQL to read the keys, changes then to lower case, and writes them back to your project file. If you change your project file format to XML it might be even easier.

glosey
09-27-2005, 03:28 AM
I have a related problem with IS X Premier 10, SP1. I have files with the same names, but different content, in different directories that all lie just under the application directory. All works fine if I build a single EXE installation file. But if I try for a CDROM installation, IS keeps only one copy of the files with duplicate names in the installation package and then an error is triggered on installation of the product when the file installed does not match the original. No error is generated during the build.
Is there some way to get the files stored in different directories in the CDROM installation files using the Installation Designer?
George Losey

Stefan Krueger
10-06-2005, 03:06 PM
Did you specify CD-ROM folders for these components?