我正在构建一个带有 Windows Installer XML 的双语应用程序安装程序,它使用 Burn 引导程序来集成Windows XP,Windows 7 32位和Windows 7 64位的MSI到一个安装程序。
当我在打开对话框中使用刻录UI时,内部MSI的对话框处理安装目录和快捷方式选项。我有一个稍微定制的WiX InstallDirDlg.wxs版本,用户可以在其中更改安装目录。
在所有三个目标操作系统中,使用英文字符时,更改目录的工作正常。
但是,在Windows 7的两个体系结构版本中,如果在焦点位于该安装目录对话框的文本字段中时切换到日语字符输入,则文本字段将停止接收数据。焦点光标继续闪烁,您可以选择先前指定路径的一部分,但键入不会替换任何内容。其他控件仍然有效,允许您前进或后退,或浏览某个位置,但您也无法在浏览对话框文本字段中键入任何内容。
这将一直持续到您关闭并重新打开安装程序。
这种行为确实让我想起日本IME决定在屏幕的角落而不是在线上显示暂定的字符(即在指定它应该转换为哪个汉字之前的平假名)的时间您正在键入,但如果您在键入后按Enter键,通常字符会出现在正确的位置。 但是,在不响应的文本字段中没有显示任何内容;几次按下后,文本字段失去焦点,下一步按钮处理输入按键。
这是WiX中的错误吗?
或者也许日语IME的Windows 7实现中存在错误?
还有其他人看到过这种行为吗?
更新 在进一步测试时,我发现如果从日语IME切换时安装了另一个键盘区域设置,则输入的文本将显示在文本字段中。在那之前,日本的IME仍然没有反应。大多数日本用户可能不会安装其他语言环境,所以不幸的是,这并不能解决我的问题。
我还在Windows Vista计算机上尝试过安装程序,文本字段可以正常使用日语。我倾向于将此作为IME的一个问题,但我不确定某些WiX编码的安装程序行为是否会引发这样的错误。