According to this link: http://forums.silverlight.net/t/20489.aspx encrypting a XAP file is not possible. However, obfuscating is, but according to them obfuscation is just a minor abstraction to getting data in a XAP file.
Can anyone, thoroughly, explain why? Is this because a Machine Key is required to encrypt the data efficiently and that Machine Key is Freely available? Or another reason.
Because the XAP has to be decrypted to run.
Let’s say you encrypted your XAP. For a user to be able to run it you will have to provide them the decryption key so they decrypt it. Now they have access to your un-encrypted XAP file.
So encrypting a XAP would accomplish nothing.