Uniqueness of the Name and Description...

by Michael S. Kaplan, published on 2008/08/27 03:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2008/08/27/8896193.aspx


Jason Timms, in response to Not the coolest, in a comment, asked:

I do have a question.

How can I reuse a name / description of a keyboard layout that I have already built?  It seems that the name is copied in several places in the registry and won't allow me to reuse it.

Can I safely delete one of these entries and rebuild it?

Thanks again.

Just so we all know what we are talking about, we'll look at the dialog that shows up when you select Project|Properties... off the main window and see this dialog pop up:

The Name is actually the filename for the DLL, it will be used to create the file that MSKLC builds.

The Description is the string that will be used as the layout name in the MSKLC-created setup and in the Text Services and Input Languages dialog in Windows.

Now the check that is done here is looking to see if either the filename exists on the machine or the keyboard layout name exists in the user interface as a selectable or selected layout.

Which points to the answer for how to build a setup that is based on a name and/or description that MSKLC complains already exists, of course.

Uninstall the layout! :-)

I remember why it was designed this way -- to avoid the confusion of trying to install the layout that was just built and being unable to, and especially avoiding the problem of multiple versions of a lsyout lying aroun and no clear easy sense of which is which. These problems came out as various bugs were reported over the time that the first version of MSKLC was being tested.

Thinking about it now, there is I think a flaw or two to this particular bit of design, flaws that might be worth some thought in a future version:

Just thinking aloud here, but it seems like MSKLC could do better here, maybe?


This post is sponsored by every freaking character in Unicode 5.1


no comments

go to newer or older post, or back to index or month or day