2008-10-13 46 views
21

我正在開發共享軟件桌面應用程序。我到了需要實施試用/激活代碼的地步。你如何處理這樣的事情?我有我自己的想法,但我想看看什麼是stackoverflow社區認爲。需要關於實施時間限制試用的建議

我正在用C++/Qt進行開發。預期的平臺是Windows/Mac/Linux。

感謝您的諮詢!

+0

不相關,但請記住,如果您使用QT開發商業應用程序,您必須*擁有QT開發者許可證。 QT許可證禁止使用開源版商業軟件,其中包括共享軟件。有關詳細信息,請參閱http://trolltech.com/products/appdev/licensing/licensing。 – 2008-10-13 16:10:05

+3

感謝您的建議。我們有商業許可證。不希望擾亂巨魔...... – JimDaniel 2008-10-13 16:52:44

+0

很高興聽到:)奇趣已經給了社區很多東西,我覺得有必要爲他們辯護,即使它可能不需要......很高興看到你在支持他們。 – 2008-10-13 19:58:54

回答

23

防止什麼,什麼不能防範:

請記住,人們總是會找到一個方法來解決你的試用期。所以,你想讓這個人不得不在試用期過後感到煩惱,但是如果在試用期內無法完成,這並不重要。

大多數人會認爲這是太多的工作,試圖讓周圍的試用期,如果有,甚至一個簡單的機制。例如,人們總是可以使用filemon/regmon來查看在安裝軟件時哪些文件和註冊表項發生了變化。

話雖這麼說,一個簡單的機制是最好的,因爲它浪費更少的時間。

這裏有一些想法:

  • 你可以做一個剔某處註冊表計數正在運行的每一天獨特。如果滴答數> 30,則向他們顯示過期的消息。
  • 您可以將安裝日期,而是採取頭,以檢查是否有可用的他們更比天試用版應該是,然後你告訴他們,他們都過期了。這將防止人們在將來的一天安裝之前更改日期。
  • 我會建議讓你的卸載,刪除你的「天運行」數。這是因爲人們可能會在幾個月後重新評估您的產品並最終購買。但如果他們無法評估,他們不會購買。沒有嚴重的用戶有時間去卸載/重新安裝,以獲得額外的產品使用。

擴展試驗:

對於我們來說,當客戶請求審判延期,我們向他們發送包含程序「TrialExtend.exe」和審判擴展碼自動發送的電子郵件。該程序使用試用擴展代碼聯繫我們的服務器進行驗證。如果代碼被驗證,他們的試用期將被重置。

3

無論你做什麼,都要密切關注系統日期。本書中最古老的技巧是在未來的某個時間點安裝應用程序,然後在應用程序首次運行時存儲愚蠢日期後返回實際日期。也許同步密鑰與在線存儲庫?

+0

爲了防止出現這種情況,可以使用System.currentTimeMillis()的絕對值 - expirationDate.getTimeMillis(); 對不起,我是一個java的傢伙。 Regards, Steff – Snicolas 2011-05-30 16:35:00

0

如果你是[比較]可能有網絡連接,您可以與您的網站安裝程序寄存器,然後對證每次啓動時。

如果這不可行,將值寫入文件系統上的(一個註冊表項,條目和/ etc文件CONF等)世界改變的點可能是可行的。

2

布賴恩的答案是偉大的,但我想補充一下。

Linux用戶通常不習慣爲軟件付費,他們往往對開源問題更加熟悉技術,甚至可能是「宗教」的。

因此,我真的建議保持簡單 - 購買軟件至少與竊取軟件一樣簡單。

我建議它在試用期後嘮叨或禁用某些功能(例如保存)而不是完全死機。只是一個觀察,但基於特徵的限制在Linux世界中似乎更常見。另外,使Linux版本成爲「頭等」版本 - 體面的安裝程序等將有所幫助。

如果你比較小,或者你的程序比較小,那麼任何人都會打擾它破解它的機會很小 - 所以只要專注於製造一個好的產品,一旦發生了一個簡單的小問題。

0

也許真正的問題是時間有限的試驗。我工作的公司做了很多活動目錄工作,我們通常將我們的軟件限制在少量用戶的試用版本中。我覺得以某種方式限制功能有時候會更好,更容易實現,並且在用戶只需更改計算機上的日期時不會失敗。
有平衡的行爲,你不能限制功能太嚴格,否則用戶沒有得到任何審判。同時,太寬鬆的限制不會激勵購買。