2011-02-23 37 views
4

我正在開發需要安裝在客戶機(Windows XP/Windows 7)上的C#Win Forms應用程序。如何限制安裝程序包上的安裝數

我的問題是,我需要限制安裝數量每個安裝包到2(或某些數字)。

有沒有什麼辦法通過Install Shield或其他方式來實現這一點?

在文件名中嵌入密鑰是一種很好的做法嗎?

等待答案。

由於事先

維傑

+0

您可以使用數字許可證管理軟件選項。我的建議是使用經過驗證的東西,花錢,而不是使用有問題或無效的東西。我曾經使用基於訂閱的.NET應用程序,問題在於,許可證軟件不支持Vista(當時)以及後來的(Windows 7)不用說這一次,只有付費才能免費的軟件不再存在。你應該研究你的選擇和我最好的建議不要試圖處理你自己的解決方案(除非你有這些軟件包的經驗和理解)爲什麼他們的工作。 –

回答

4

這一定是不可能的,因爲用戶在運行之前可能總是複製一份安裝包。一個軟件包(比如一個* .msi文件)只是一個字節序列,可以被複制...

假設你在某處留下了一些信息(比如在註冊表中)。

另一種方法是將許可證密鑰(或嵌入安裝包中的密鑰)用於通過Internet上的中央服務器激活軟件。這可能是你唯一的選擇。

2

您將需要建立一箇中央服務器來管理設備,並分配密鑰的用戶,在中央服務器跟蹤密鑰使用。就我所知,二進制安裝本身不能跟蹤它已安裝了多少次。

2

另一個簡單的解決方案是訪問註冊表並添加一個新的密鑰。安裝發生時,您會檢查註冊表項,然後檢查號碼。如果密鑰不存在,則創建它。

儘管有缺陷,但任何知識淵博的用戶都可以打開註冊表(如果他們在計算機上擁有正確的權限),然後更改註冊鍵的值。