There is one other way, you'd put the code in a .js file which MUST be in Acrobat's JavaScript folder. The button could call a method defined in the .js file. Then if you want to switch what it does you would need to replace the .js file on the client's machine (which may not help you either). Also, when doing this, Acrobat will evaluate these scripts on startup, so if you change the file the new functionality will not take place until Acrobat is restarted.
Chris
Adobe Enterprise Developer Support