Öncelikle paylaşım için teşekkürler hocam. Lakin yöntem çok güvenli sayılmaz, C# programların zaten kaynak kodları birebir okunabiliyor. O koyduğunuz if şartını yerine getirmeden de indirme adresi rahatlıkla alınabilir. Belki sağlam bir obfuscator ile desteklenirse daha güvenlikli olur. Veyahut da key kontrolünü de sunucu tarafında yaptırıp, key doğru ise dosyanın download adresini döndürebilirsiniz.
Kaynak kodunuzu RedGate ile şifreleyin. Şiddetle öneririm.