1 2 Previous Next 15 Replies Latest reply on Feb 3, 2014 6:12 PM by crazytim

    Version 10.0v3 breaks ActiveX support



      Version 10.0v3 breaks ActiveX support

      Description of the issue

      I had some VB.NET code that uses the FMP ActiveX interface, that was working fine under 10.0.  But then I installed version 10.0v3 update and it removed all of the registry entries for the ActiveX components so now it cannot use FileMaker Pro through ActiveX anymore.  Any chance of this getting fixed, or a workaround? FileMaker Product(s) involved:FileMaker Pro 10.0v1FileMaker Pro 10.0v3Operating System(s) involved:Microsoft Windows 7, Windows XPDetailed description of the issue:I have a VB.NET application that uses ActiveX to run scripts in FileMaker Pro.  Following the instructions outlined in this web page:  http://www.filemaker.com/help/html/create_script.12.12.htmlThis works fine when FileMaker Pro version 10.0v1 is installed on my PC.  But when my client upgraded to version 10.0v3, it stopped working, and they get an error saying “Cannot Create ActiveX Component”.  I can reproduce the problem consistently, from a freshly installed PC, by following these steps...Exact steps to reproduce the issue:1.  Install FileMaker Pro 10.0v12.  Create an external application that uses the ActiveX interface to FileMaker Pro.3.  Verify that it works with FileMaker Pro 10.0v1.4.  Upgrade to FileMaker Pro 10.0v35.  Run the external application again, and it will fail on the CreateObject("FMPRO.application") line.Expected Result:The functionality should be the same as in version 10.0v1 Actual Result:An error occurs.Exact text of any error message(s) that appeared:Cannot Create ActiveX Component Any additional configuration information/troubleshooting that is relevant to the issue:I looked in the registry after 10.0v1 was installed, and observed the registry entries for the FileMaker Pro ActiveX components.  After upgrading to 10.0v3, those entries were no longer there.  For example, the HKEY_CLASSES_ROOT\FMPro.Application registry key was there after installing FileMaker Pro from the CD, but was removed after upgrading to version 10.0v3. Any workarounds that you have found:I have advised my client to re-install FileMaker Pro from the original CD, and NOT to apply the 10.0v3 update for now.

        • 1. Re: Version 10.0v3 breaks ActiveX support

          I realize that probably not many people are using ActiveX with FileMaker Pro, but has anyone else encountered this problem?


          And is anyone from FileMaker on here?

          • 2. Re: Version 10.0v3 breaks ActiveX support

            "And is anyone from FileMaker on here?"

            I have learned that TSGal is out on vacation for a few days. Until she returns, we are likely on our own in the forum.

            • 3. Re: Version 10.0v3 breaks ActiveX support
                 Thanks, Phil.  I figured with the holidays people might be out this week.
              • 4. Re: Version 10.0v3 breaks ActiveX support
                   Can anyone confirm this?
                • 5. Re: Version 10.0v3 breaks ActiveX support

                  As far as I know, this is still an issue.  Can anyone from FileMaker investigate this?  Here is how to reproduce/illustrate the problem:


                  STEP 1:  On a Windows PC, copy the following VBScript code and save it as FMPTest.vbs or something like that (as long as it has a vbs extension).


                  Dim o
                  Set o = CreateObject("FMPRO.application")
                  Set o = Nothing
                  MsgBox "Successful"



                  STEP 2:  To verify that this script works as expected, with FMP10v1 installed, double-click on the vbs file you just created.  You should get a message box saying "Successful".


                  STEP 3:  Upgrade to FMP10v3 using the upgrade package downloaded from www.filemaker.com.  Now double-click on the vbs file again, and you will get an error saying "ActiveX component can't create object: 'FMPRO.application'" Code 800A01AD.


                  By following these steps, the problem can be reproduced every time, even on multiple different PCs.  


                  I am guessing that not many people use ActiveX with FileMaker Pro, but for me this has been a major issue, since my application needs to be able to interface with FMP to run a couple of scripts.


                  Again, this works fine in FMP10v1, but not in FMP10v3.



                  • 6. Re: Version 10.0v3 breaks ActiveX support

                    Will someone from FileMaker please reply?




                    • 7. Re: Version 10.0v3 breaks ActiveX support



                      Thank you for your detailed posts, and I apologize for the late response.


                      I have forwarded the information to our Development and Software Quality Assurance (Testing) departments for review and confirmation.  When more information becomes available, I will let you know.



                      FileMaker, Inc. 

                      • 8. Re: Version 10.0v3 breaks ActiveX support

                        Thanks, TSGal!


                        • 9. Re: Version 10.0v3 breaks ActiveX support
                             Are there any fixes or workarrounds available for this yet (other than reverting to 10.02) ?
                          • 10. Re: Version 10.0v3 breaks ActiveX support

                            Only workaround I have thought of is to learn C and write my own plug-in or buy someone else's.

                            With so few ways to integrate filemaker with other programs, it would be a shame if they have removed ActiveX Capability (even with it's limits and it's bugs)

                            • 11. Re: Version 10.0v3 breaks ActiveX support

                              My workaround is not ideal, but the only way I have been able to integrate with FileMaker is by using VB.NET's SendKeys command to remotely control the user interface through keyboard shortcuts and run the FileMaker scripts I need to run.  This is not ideal since any unexpected messagebox that pops up (the update is available messagebox for example) will trip this sequence up.  Or if the user changes around the order of the scripts, it will error out or even worse, run the wrong script!


                              In my VB.NET code I try ActiveX first, and only if I get the error do I launch into this workaround.  I can't really endorse using SendKeys, but in this case I think it is my only option.


                              TSGal, have you heard anything about the status of this?  Has the FileMaker team been able to reproduce it?



                              • 12. Re: Version 10.0v3 breaks ActiveX support

                                I uninstalled 10.0v3 and then re installed from an FM install disk that is 10.0v3, so no updates were required. The ActiveX control works properly with the fresh install. This makes me think that the problem is with the updater process rather than version 10.0v3 itself.  I have only tried this on one PC, but the initial results are very favorable :)

                                • 13. Re: Version 10.0v3 breaks ActiveX support



                                  Sorry for the late reply.


                                  Yes, it does seem to be a problem with the updater.  The problem doesn't occur if the User Account Control setting (UAC) is turned off prior to the update.


                                  Also, one of the testers suggested:


                                  Run the following command from the command line and get their ActiveX registry entries back:  c:\"<path to FileMaker>\filemaker pro.exe" /regserver




                                  FileMaker, Inc.

                                  • 14. Re: Version 10.0v3 breaks ActiveX support

                                    In the interest of helping out other people who may be experiencing this same problem, here is a VB.NET function I came up with to fix the FileMaker Pro registration.


                                    The key is to use the "runas" verb in ProcessStartInfo to cause the registration to run with elevated privileges. Windows 7 will prompt the user whether they want to allow the program to make changes to their computer, and if they click OK, then it will have the necessary permissions required to re-register FileMaker Pro.


                                        Private Function ReRegisterFileMakerPro() As Boolean
                                                Dim fmpPath As String = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), _
                                                                                 "FileMaker\FileMaker Pro 10\FileMaker Pro.exe")             If Not File.Exists(fmpPath) Then                 Return False             End If             Dim psi As New ProcessStartInfo             psi.Verb = "runas"             psi.UseShellExecute = True             psi.FileName = fmpPath             psi.Arguments = "/regserver"             Using p As Process = Process.Start(psi)                 p.WaitForExit()             End Using             Return True         Catch             Return False         End Try     End Function


                                    So in your code you would do something like this to detect the problem and re-register FileMaker Pro automatically...



                                        fmpApp = CreateObject("FMPRO.Application")
                                        If ReRegisterFileMakerPro() Then
                                            'Try it again, now that FMP has been re-registered...
                                            fmpApp = CreateObject("FMPRO.Application") 
                                        End If
                                    End Try
                                    1 2 Previous Next