我们在我们的 Web 应用程序(不是 Sharepoint)上使用 Infopath 表单。在升级表单时,我们在 Windows 7 机器上遇到了 Infopath 2010 的问题。
如果我们将新版本的表单发布到我们的服务器,然后在 Infopath 中打开表单(Windows 7 上只有 2010),会出现一个黄色信息栏,告诉我们有新版本的表单可用,并询问我们是否想要“保存和更新”。问题是,这调用了Save
表单的函数,但如果出现验证错误,表单将无法保存。如果用户在 Infopath 打开后立即单击此“保存和更新”按钮,Infopath 仍会尝试保存空表单。这会导致出现大量错误消息,从而无法提供非常好的最终用户体验。
但是,在所有错误消失后,重新打开表单后,它现在有了新版本。
我还注意到,对于某些用户来说,这个错误不会发生,Infopath 似乎只是在显示任何内容之前默默地更新表单。在测试机器上使用多个本地帐户(包括机器管理员)进行测试会产生错误,但是当我使用自己的域帐户(具有管理员权限)登录时,我没有收到错误。这让我怀疑这个问题是由于 Windows 7 中的一些安全设置造成的。
我已尝试捕获OnVersionUpgrade
Infopath 提供的事件,但此事件在表单尝试保存之后才会触发,因此在这种情况下它对我没有帮助。我还尝试在“表单选项”->“版本控制”下有新版本可用时自动设置升级,但这似乎对表单的行为没有任何影响。
有什么方法可以强制 Infopath 在有新表单可用时自动升级表单,而无需先尝试保存表单?