I agree, that looks strange.
Idea 0: Each time you tested this, did you remove the previous package before loading the new one? No card can contain the same package (AID) twice. This is obvious, but still worth mentionning.
Idea 1: Try to call register() in the install() method, after returning from the constructor. No, that's not the same. install is a class method, while the constructor is an instance method.
CAP files are zip/jar files.
Each one will contain a manifest, and a set of ".cap" files (header.cap, directory.cap) in a subdirectory.
Can you list the cap components in each case? and what about the manifest?
show your command it's return 6A80 here. maybe project environment is set different. for example package AID is same as some packages loaded / installed inside before. this error is nothing to do with this code.