Switching Printer now and in the future (FM18.0.2+ and Mac Catalina)

Hi folks,

so let's try out this new shiny forum!


Until now we have used myfmButler PrinterSwitch plugin to switch between printers and to automate print processes - more or less successfully.

It seems now that with the new security features of FM18.0.2 and macOS Catalina, that the plugin will no longer be able to work as it has, since FileMaker's memory is now protected and cannot be written by the plugin.

Does anybody have any suggestions, where we might go from here?
What solutions do you use / can you recommend to change printers?

MBS Plugin seems to have some functions ... But the functions (and probably functionality) are different on Mac and Windows (Mac funtions operate on the dialog window, Windows functions operate on the default printer directly) ... Has anybody experience using this?

I know some developers completely avoid the problem by simply not offering the ability to switch printers ... Our customers, however, would dearly like to print delivery notes on A4 paper and accompanying labels on a label printer.

Way to go?

THANKS in advance


1 Like

Please try MBS Plugin functions :slight_smile:

I’m also using MyFMButtler PrinterSwitch though thanks to inform me about the FM18/Catalina issue.
As you remember, ‘Scriptable PrintingControl’ is a Feature Request by PhilModJunk for FileMaker v4.0 in 1996. I’m confident that we’ll get this delivered with upcoming release FMPA 27.0.
Yes, it’s true that you need to build 2 different processes with MBS for Mac AND PC.
That’s why I hesitated to replace PrinterSwitch Plug yet.

I tested and can’t replicate this issue. But my Tech Specs are not standard, since

  • I’m running Catalina via VM ‘Parallels Desktop’ 15.1.1
  • macOS 10.15.2 Beta1 [19C32e]
  • FMPA 18.0.3
  • with Catalina, I was able to initialise a PrinterDriver “HP” which then was recognised by the MyFMButtler PlugIn √
  • Parallels/Catalina can’t find my HP Network printer

Not sure if I performed any hacks to bypass Apple Gatekeeper since current release of my FM solution isn’t Apple CodeSigned OR Apple Notarized.
Using RightMouse click on a App and prompting ‘open’ via the contextual menu still works to bypass the Apple Gatekeeper!

Here is the link to the myfmbutler Wiki post documenting the problem PrinterSwitch doesn't work with FileMaker Pro 18.0.2 (and Catalina) / PrinterSwitch / Knowledge Base - myFMbutler Support

I wonder why it works for me. I’m pretty sure that, - just in case, I first opened FMPA18 via the known work around ( ‘FMPA18.app’ with RightMouse click / ContextualMenu ‘open’ ) in order to bypass the Apple Gatekeeper. Could it be that this also did the trick for the MyFMButtler Plug?
Another explanation could be that I first performed installation of my FM16 Runtime, including all PlugIns, which I later copy/pasted into FMPA18’s Extensions folder. Would mean the copy/pasted Plugs then already passed the Gatekeeper.

myFMbutler PrinterSwitch can only work if you disable gatekeeper in Catalina.
The plug-in read and writes directly in the memory of FileMaker to do his trick.
This is now blocked in Catalina due to stricter security policies.



The problem as I understand it, is that the myfmButler PrinterSwitch Plugin can’t write to FileMaker memory any more, meaning the Plugin can’t do it’s switching thing.

Does the Plugin work for you?

Gatekeeper blocks this. There are 3 ways this can be fixed. But none of them are recommandable:

  • Disable Gatekeeper
  • Code-sign FileMaker Pro Advanced yourself with the correct entitlements
  • Claris allowing a plug-in to write in memory. (but very unlikely this will ever happen).

What worked is an ‘Evaluate available Printers’ process which resulted in 1 Printer (“HP”) which driver I had to install manually before. When prompt a Print task, I couldn’t tell wether the (only avaiable) Printer was switched by the PlugIn OR by the macOS Printing Preferences.
This was before another process forced me to do a 65GB Backup recovering for the entire Catalina partition.
Seems that this Parallels/Catalina combo of mine doesn’t work reliably yet. Automatic Printer detection (Bonjour) didn’t work, neither did printing at all.
@koenvanhulle How do you Disable Gatekeeper?

This Terminal script affects only downloaded files afaik:

Allow apps downloaded from: „Anywhere“
sudo spctl --master-disable

I would highly recommend to not disable GateKeeper!

I suggest Koen requests at Claris Inc. to include the entitlements they need or find a way around it using different APIs.

I spend a lot of time emailing and talking to FileMaker engineers and product management to convince them to include the entitlements I need in the product.


As Christian stated it is not recommended to disable gatekeeper

This article explains how to test if it is disabled.

@MonkeybreadSoftware I discussed the issue with Clay, but since "allow-unsigned-executable-memory" is marked as insecure by Apple, it is very unlikely that it will be enabled soon.

You may just ask people to remove signature for the FM Pro app.

codesign --remove-signature /Applications/FileMaker\ Pro\ 18\ Advanced/FileMaker\ Pro\ 18\ Advanced.app

1 Like

Better not.

Back for good. Catalina recovered.
MyFMButtler PrinterSwitch works.

What I did:

  • Created my first FM18 Runtime
  • built an Installer with Apple PackageMaker (no CodeSigning, no Notarization)
  • uploaded on my web server in order to test download/Gatekeeper/Install process
  • downloaded installer on my Catalina test platform
  • started Installer via the rightmouse-Click work around
    => Gatekeeper enabled. System Preferences ‘Security’ is “Allow downloads from”
    • App Store & verified Developers
    Printerswitch successfully tested with Layout INVOICE = HP-LaserJet AND APPOINTEMENTS = Brother QL Label Printer

on a side note: Apple PackageMaker contains 32-bit resources and won’t run on Catalina, a Installer you create with it is 64-bit and works with Catalina


I agree with you Christian, but we support clients still trapped on older versions of FileMaker and need old extensions running to do so. Currently, the only way we can support these older system is to disable GateKeeper (or use a Windows PC).