Good morning everybody!
Recently I switched to Process Simulate V13.0. So I compiled my custom commands against V13.0 and copied the dll to c:\Program Files\Tecnomatix_13.0\eMPower\DotNetCommands\ and the xml to c:\Program Files\Tecnomatix_13.0\eMPower\DotNetExternalApplications\.
My commands work fine in V13.0!
But I got another package (DLL and XML) from a partner company and I cannot add the commands to the ribbon bar because they simply do not appear in the commands list.
Trying to register the commands again with CommandReg.exe shows me the following error "The selected dll does not contain classes implementing ITxCommand". But all commands are imlementing TxButtonCommand.
The same package works on another PC.
What can I check or do?
I work with the version switcher!
It is possible that the dll is corrupted, depending how it was transfered. We had such cases when the dll was send over e-mail for example.
yes, the dll was sent in a zip file by email.
Meanwhile it works. But I do not know why
I have done nothing different to yesterday.
I deleted the dll and xml in the folders and copied them again from the same source.
The only difference to yesterday is that the computer restarted.
Yesterday Robcad was running!
If a DLL file is sent via internet, Windows automatically blocks this dll.
It a security mechanism to prevent from execution.
To unlock the dll file. Right mouse click on it and on the general tab click on "Unblock".
Afterwards, command registration should work without problems.
Check the XML File that the command has with it. Make sure it has the correct definitions for the command to be in its own category. Look at other XML files for custom commands to see what I am talking about. Sometimes if you do not define it with a category then it will not show up in the list under the customize window with the other buttons. I define all mine with a Cliff Knasinski Tools, and it shows up in the left hand pane as a category that my buttons fall under. Also check to be sure the XML file is placed in the right folder. DotNexExternalApplications I think. (Sorry at a machine that has no custom tools installed, so I cannot give the exact syntax above).
Second thing to try is to register the command utilizing the comregister.exe. This will certainly re-create the needed XML in the right place. You can then alter that with a category name.
Is the .dll actually a command or is it a viewer? I do know that if it works on another machine that usually means the XML is wrong somehow on the machine in question. It reads those XML files in order to populate custom commands to the list in the Customize window.