wpf 虚拟键盘在安装过程中不起作用

Posted

技术标签:

【中文标题】wpf 虚拟键盘在安装过程中不起作用【英文标题】:wpf virtual keyboard not work during setup 【发布时间】:2016-02-27 19:04:50 【问题描述】:

我是 WPF 应用程序的新手。 我在 WPF 上做了一些小工作。在这里,我有一个文本框。当用户单击或点击虚拟键盘时。源代码一切正常。但是当我创建设置并尝试安装 ".msi" 文件时。在设置过程中,我的应用程序有页面,我们必须在文本框中输入密码。当我点击文本框时,虚拟键盘没有出现。但是如果我安装应用程序并进入该页面并单击文本框虚拟键盘出现。

我不明白,是否有关于创建设置或一些额外代码的配置?

【问题讨论】:

是否有可能...当时正在运行安装程序时未安装 DLL 或虚拟键盘的引用? 【参考方案1】:

您并没有说太多关于您实际在做什么,所以这里有一些猜测是基于您的“......在设置我的应用程序......”。

听起来您在 MSI 设置期间将应用程序(可能基于安装程序类)作为自定义操作运行。如果这就是你正在做的事情,那是非常不可靠的。安装程序类通常可以正常工作,但如果它们显示 UI,则不能。安装执行序列不用于显示 UI - 所有数据都应在安装开始时的正常 UI 序列中输入。带有消息处理程序的 UI 仅在 STA 上下文中工作,并且 MSI 安装的执行顺序不是 STA,因此消息会丢失。

在大多数情况下,人们将这类事情推迟到应用程序实际运行时,即在交互式用户上下文中。为每个人安装的 Visual Studio 安装项目中的自定义操作将作为本地系统帐户运行,这会导致一些奇怪的错误(例如尝试连接到没有 SYSTEM 作为允许用户的数据库,或者访问网络)。

所以这主要是猜测,因为您没有提供太多细节,但您的问题符合使用安装程序类从 Visual Studio 设置显示表单的通常行为。

【讨论】:

以上是关于wpf 虚拟键盘在安装过程中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

更新存储过程在 SQL Server 中不起作用

使用存储过程登录在 html5 中不起作用

部分更新在过程中不起作用

for循环后的最后一个过程语句在pl sql中不起作用

命令绑定在带有棱镜的 WPF 中不起作用

拖放在 DataGrid (WPF) 中不起作用