Software Protection是一個古老而廣泛的話題。目前的技術狀況是,保護軟件不可能100%可靠。遲早,有人會破解它,給予足夠的曝光和/或興趣。
儘管如此,很多人和公司保護自己的軟件產品,並有許多的方式來這(不是100%可靠不過)。
從您的問題中不清楚您的要求是什麼。根據你所描述的,最簡單的選擇是使用密碼壓縮安裝程序。如果用戶不知道正確的密碼,他們將無法解壓zip文件並安裝程序。
這通常不太實際,因爲每個人都提供相同的密碼。你想要做你自己的序列密鑰驗證,並且你正在考慮在安裝的時候這樣做。如果這是你想要的路線,你需要提供一些腳本來驗證你的安裝系統。您指出,您正在使用Windows安裝程序。您可以使用Windows Installer XML (WiX) toolset來編寫安裝。如果有足夠的耐心,可以將密鑰驗證構建到Windows安裝程序包中。最可行的方法是從wix包中調用您在c#中編寫的驗證例程。您可以使用Conditional Syntax檢查安裝中的條件。這應包括您選擇2
至於選項1,那麼只要在系統中存儲您的信息塊,用戶隨時可以到那裏,並改變它(這畢竟是自己的電腦)。有些人將其存儲在註冊表中,有些存儲在密鑰文件中。刪除這些文件通常不是問題,因爲如果用戶刪除它們,程序就會知道它不應該運行。然而,用戶將能夠將它們複製其他機器上,等
Isolated Storage尚未儲存您使用.NET信息另一個地方。無論如何,最終它都是文件系統中深埋的文件。
軟件保護再次是一個複雜的話題,由您來決定,您的要求是什麼,您可以承受的妥協以及您選擇實施的內容。
祝你好運!