How to Batch Publish Handlers
The following command line will help perform a batch publish of handlers:
idu.exe /LogPublishEvents /ForcePublishClose /HandlerOpenAutoXMLPath=. /IntermediatePublish:intermediatepublish.lst (or /Publish:handlers.lst)
Here the functions of each of the command options:
LogPublishEvents - Writes information about each handler to the Application Event log.
ForcePublishClose - Forces Interaction Designed to close once the operation is complete.
HandlerOpenAutoXMLPath - Generate an XML file (same content you would get from export.
IntermediatePublish - Publish all files in the list file named "intermediatepublish.lst" (a list of .i3pub files, one name per line)
Publish - Publish all the handlers in the list file, with each line in the list in the format {filename} [| Primary OR Monitor]
If you need to designate the category for new subroutine handlers on publish, you will have to use Designer COM instead (documentation is ins the System APIs section of help.inin.com)
From an old email:
The idea is you’d have Interaction Designer open the desired .ihd which returns an II3IDHandler interface pointer. On that II3IDHandler interface you can call the Publish method which lets the caller set whether or not the handler is active, primary and for subroutines the caller can specify a category. This is the IDL for the Publish method:
[id(0x6003001d), helpcontext(HID_II3IDHANDLER_METH_PUBLISH), helpstring("Publishes the handler to the default IC server.")]
HRESULT Publish([in, optional, defaultvalue(0)] VARIANT_BOOL Activate, [in, optional, defaultvalue(0)] VARIANT_BOOL Primary, [in, optional] BSTR Category);