I had my 1.1 update of Link Sync Up fail certification due to the Advanced Anti Piracy Code that I implemented not functioning correctly. The Marketplaces Advanced Anti Piracy Layer implementation is way to bake in a license check into your app that will get some assurance it was installed from the marketplace. An encryption key is placed into your registry for every user that downloads the application through the marketplace. You then used some supplied code to test against that encryption key to determine if the application should run or go into a limited capability mode.
I decided to implement this code in my app. Not that I have a huge concern of piracy, I did for the sake of the learning experience of some piracy control. I had this code implemented in my first release but had it disabled as I couldn’t test the code unless it came from the marketplace. There are three values that are used in this check, namely a Certificate Modulus, a Certificate Exponent, and an App SKU. Once I downloaded my app from the marketplace I was able to enable the check with a hidden registry check I implemented. The check worked, so I submitted an update with the code enabled.
Where I screwed up, the App SKU value changes with every version you submit. I had to look at what the code should be within the submission form and change my application appropriately. So I resubmitted it, which cost me another submission credit (down to 3 now) as updating an app after it failed certification costs $99 or a submission credit. Live and learn.