I am encountering an issue when pushing updated form template to users. Users who previously used the form are not updating the template as suggested (this was automated pre-2010). The issue is that form naming convention relies on the user to use the most recent version since the form is updated annually to accommodate the new fiscal year. The template has multiple views but the default view is always displayed for new entries which is when the naming convention rules are triggered.
Is there a way to check if the users form version matches the version published to the library? I have the form version number captured using the expression [substring-before( substring-after( /processing-instruction()[local-name(.) = "mso-infoPathSolution"], 'solutionVersion="'), '"')] but don't know how to capture that of the library.
It seems I should be able to perform a simple If Then on the Load event or the button clicks on the default view that checks the library version and the users version and prohibits the user from moving forward in the form without updating.
Dim UserFormVersion as ??
Dim LibraryFormVersion as ??
If UserFormVersion <> LibraryFormVersion Then
"You must update the form to continue."
Else: Endif
Environment: Windows 7 Enterprise, InfoPath 2010 Designer, InfoPath Form Filler 2010 (because of code-behind), Published to SharePoint 2010 Form Library
FYI, The solution of having the user clear their cache which causes the new version update won't work since I cannot clear the cache for all users in the enterprise just for this form.
Thanks