I found a bug recently in the prelicgen.asp page that has been causing pain for developers. They report that they get an error on the client when calling “GetLicenseFromURL” and using the predel1.asp and prelicgen.asp samples from the WMRM 10 SDK.  I’ve also gotten reports that this problem can manifest by causing error 0xC0042907 (DRM_E_CORRUPT_CHALLENGE) when getting the “Header” information from the “WMRMChallenge” object.

The bug exists in the sample’s use of the “WMRMHeader” object. Since we are doing predelivery we won’t have any header information available. The header information is only returned in a challenge object that originates from playing back an ASF file, using the Format SDK, that contains an “extended content encryption object”. If we are doing predelivery we won’t have this information. Because of this calling WMRMChallenge.Header will always return 0xC0042907 when we are doing predelivery. This is the expected behavior (but not a descriptive error code).  So the challenge really isn’t corrupt it just doesn’t have the extended content encryption information from the ASF file header.

To work around this problem simply remove all references to the WMRMHeader object in the script. You can simply hard code the individualization version if your script requires individualization. At a minimum you should be using 2.2.