>My first thought is to pass in a parameter with the CREATEOBJECT( ) call that invokes the COM EXE. If it doesn't get a parameter (or the right value of the parameter), it closes itself - maybe after popping up an explanatory message.
We have some of that for our robot. If it doesn't receive a parameter, it closes by itself. But, this was to allow various robot definitions to be allocated to specific servers. However, it would then be an additional level of protection as it forces the user to create a desktop icon and pass a parameter that he would need to know.