Documentation for creating Setup project

Documentation for creating Setup project


I have created a new Barcode DefaultHandler dll.

Now I need to create a install process/msi.

Is there any documentaion on the preferred way to acomplish the following:
1) Install DLL's to correct location ?
(Besides changing "Application Folder".DefaultLocation propery to "[%MCA_INSTALL_DIR]bin")

2) Changing the config file to use the new DLLas current Default handler.

Also, I could not find any documentaion on how to add parameters for"DefaultHandler", is that somewhere and I just missed it ??

I appriciate any info/assistance.

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi JR,

Unfortunately, we dont have any documentation for an ISV to add a default handler to a pre-installed MCA device. Most software developers work with the MCA tablet manufacturers to implement specific changes like this. However you are correct in what we would consider the best way to do it and you should be able to accomplish this.

You should use the environment variable [MCA_INSTALL_DIR] and copy into the bin directory. You should NOT replace any existing default handlers there. You should name your default handler something new/different and just copy it in.

For the configuration file, this is going to be a little more difficult. You cant just replace a configuration file, because it is based on underlying XML files. In the [MCA_INSTALL_DIR]\Bin\XML directory are the base XML files. You are going to need to modify every language version of the system XML files with your changes (IMCASystem-XX.xml where XX is the language prefix). The good news is there are really only two places (in each language version of the file) that need to be updated. The first spot is towards the top of the file:

Barcode Configuration Template

This parameter specifies the possible key/value pairs the MCA application will use to handle the Default action for Barcode button type.



Add a line similar to the bold line one above. This defines the name of the template which holds all the custom configuration key/value pairs as well as the display name for the template that the user will see in the configuration file editor.

The second place to make an edit is a little farther down in the templates section. Here you will want to create a new template to contain the key value/pairs which will be sent to your default handler during initialization. I would highly recommend copying the original BarcodeDefaultHandler template, directly below itself. DO NOT CHANGE THE ORIGINAL ONE, just create a new template below it, and name it the same as the template name you used in step one:


// New Barcode Default handler configuration.
// These settings affect DEFAULT ACTION for the Barcode button

Barcode Friendly Name

This parameter specifies the friendly name of the barcode device to use when scanning barcodes in response to a barcode button press.

Barcode Device

Then add all of the new configurable items you want to add, for example:

New barcode setting a

This parameter configures my new barcode default handler in some specific way.



New barcode setting b

This parameter configures my new barcode default handler in a different yet still specific way.



Compare the XML file to what you see in the configuration editor to see the different types of value selection schemes you can use.

Finally finish the template:

This is probably going to take some work, and I would highly recommend making small changes each time to make sure that nothing is broken between edits. (Make lots of backups!) To test your work, perhaps the easiest thing to do is just to delete the configuration file (After making a backup), and running the configuration editor in advanced mode (to be sure you see all your changes). To run in advanced mode, launch it from a command prompt and provide the flag a. This will create a new configuration file with your changes in it, and the configuration file editor will show them. If you make a mistake, you will likely get an error when trying to open configuration file editor. Even if you dont get an error, please be sure that everything else looks unchanged after your edits, and that all devices continue to work.

In order to take advantage of the new configuration settings you just created in your new template, you will override the [NewBarcodeDefaultHandler]::SetParameters method in your default handler implementation file. See the WindowlessRfidDefaultHandler example for the best example on how to do this. Look at the .h file for parameter structures used. There is also help in the [MCA_INSTALL_DIR] \DHDK\Help directory under classes tab->Intel_Healthcare_DHDK::DHDK_DefaultHandlerInterface->SetParameters.


Thanks for the reply... It was helpful

I used the documented approach to get Registry variable(SOFTWARE\Intel\HelthcareSDK\bindir),
and use that for the install path

Next problem is how to "inject" our handler into the config ?
I can't just replace the config file and call it done(I found)...
I need a way to set our handler as the default from the install.....

Leave a Comment

Please sign in to add a comment. Not a member? Join today