我有用VB6編寫的軟件產品。它是一個付費軟件產品,它有一個月的演示版本。演示版本沒有單獨的設置文件。進入產品密鑰的軟件變成演示版本的完整版本。我曾經在註冊表中編寫信息以跟蹤演示版本的1個月之後,軟件將無法工作。另外,如果Windows用戶不是管理員,則註冊表不能寫入HKLM。如果我向HKCU寫入註冊表,用戶可以創建新用戶並通過安裝它來重新使用該軟件。那麼如何管理演示版本到1個月,並且用戶在1個月後不能使用它而無需購買密鑰?管理軟件的演示版本
回答
我本來以爲你會需要創建一個許可證密鑰文件並將其與.exe文件一起存儲。它應該以某種方式進行加密,並保存它的創建時間和機器等的詳細信息。您可能會規避它,但它肯定會足夠滿足您的要求。
最好的辦法是讓你的軟件連接到服務器,並有註冊它的安裝日期,並讓它連接到你的服務器會在每次啓動
時間,這需要你的軟件有您的服務器的訪問雖然,所以它應該可能有網絡連接可能並不總是正確
這種方法的另一個好處是,你的軟件可以檢查服務器上的可用更新
我不能用這種方法,因爲用戶可能無法將他的電腦連接到互聯網,所以它不會爲我工作。還有其他想法嗎? – Navaneet 2013-02-18 11:20:23
如果您擔心用戶創建新用戶帳戶以重新開始演示,那麼您需要寫入全球位置。 如果您在設置過程中設置了適當的位置,您可以作爲標準寫入HKLM。
請注意,如果用戶能夠/願意每隔30天創建一個新的用戶帳戶,則沒有註冊表項會阻止他們。
沒有中央激活服務的最佳選擇是將演示版本以某種有意義的方式進行排列以防止它們長時間使用。
我們的軟件演示版本在30分鐘後關閉,但他們可以註冊一個允許完全訪問的(註明日期的)試用版,在試用期過後回到演示版。
對於過期的(試用版/演示版)鍵+1。當然,用戶可以更改Windows日期,但通常他們不會:) – Arvo 2013-02-18 14:29:41
@Deanna但是在Windows 8中,我們無法在沒有管理員權限的情況下寫入HKLM。因此,我如何管理它? – Navaneet 2013-02-19 05:53:36
@Navaneet自Windows NT以來,您一直無法成爲非管理員用戶。正如我在帖子中所說的,您可以在HKLM中設置一個特定的密鑰,並擁有正確的權限以允許非管理員程序寫入。你如何做到這一點取決於你的安裝程序。 – Deanna 2013-02-19 08:56:08
另一個想法,雖然我從來沒有嘗試過:
,你可以讓你的應用程序檢查應用程序的EXE文件proporties和比較,爲當前日期/時間
當然用戶可以隨時在將來設置他的日期/時間,然後安裝您的應用程序,或在當前日期/時間安裝它,並在運行之前將其日期/時間更改爲過去
我不知道您的應用程序是否可以訪問它自己的屬性,但運行時會給出一些數據,當我運行該exe文件並單擊文本框時:
'1 form with
' 1 textbox : name=Text1 multiline=true
Option Explicit
Private Sub Form_Resize()
Text1.Move 0, 0, ScaleWidth, ScaleHeight
End Sub
Private Sub Text1_Click()
Dim intFile As Integer
Dim strFile As String
Dim lngSize As Long
Dim dateMod As Date
Dim fs As New Scripting.FileSystemObject
Dim f As File
Text1.Text = ""
' length of file
strFile = App.Path & "\FileProp.exe"
intFile = FreeFile
Open strFile For Input As #intFile
lngSize = LOF(intFile)
Close intFile
Text1.SelText = "LOF : " & CStr(lngSize) & vbCrLf
' last modified
dateMod = FileDateTime(strFile)
Text1.SelText = "FileDateTime : " & CStr(dateMod) & vbCrLf
' filesystemobject
Set f = fs.GetFile(strFile)
Text1.SelText = "fs.DateCreated : " & f.DateCreated & vbCrLf
Text1.SelText = "fs.DateLastAccessed : " & f.DateLastAccessed & vbCrLf
Text1.SelText = "fs.DateLastModified : " & f.DateLastModified & vbCrLf
End Sub
- 1. 管理軟件版本
- 2. 微軟演示數據庫版權,開源演示數據庫?
- 3. 在bitbucket中管理不同版本的軟件
- 4. 源代碼管理:支持多個版本的軟件
- 5. 如何使用大量庫管理CVS中的軟件版本
- 6. 軟件公司如何管理不同版本的程序?
- 7. Maven插件版本管理
- 8. 軟件版本
- 9. 軟件版本
- 10. 按客戶端請求管理網絡軟件版本
- 11. 構建演示版本.exe
- 12. 如何使用MSI在visual studio中創建我的軟件的演示版本?
- 13. Eclipse軟件管理
- 14. 配置管理中的版本管理
- 15. Emacs的軟件包管理
- 16. PHP版本管理
- 17. 管理InstallScript版本
- 18. 軟件包更新僅在軟件包管理器中顯示
- 19. 軟件項目管理軟件
- 20. 演示版本的應用程序
- 21. TFS 2017版本管理工件文件從版本控制
- 22. 用於Flash演示的文本語音軟件
- 23. 工具來演示軟件進度
- 24. Alfresco內容管理演示內容
- 25. 項目管理軟件
- 26. 發佈管理軟件
- 27. 如何在企業環境中管理Git中的軟件版本?
- 28. git如何管理其文件版本?
- 29. TFS:管理組件版本號?
- 30. 管理二進制文件版本
如果用戶能夠安裝軟件,則安裝程序正在寫入安裝位置,安裝程序也可以將許可證文件寫入安裝位置。你爲什麼會認爲安裝程序無法寫入與可執行文件相同的位置? – 2013-02-18 12:00:27
對不起,我從用戶的角度思考,即由應用程序創建。你沒有指定安裝程序。 – Deanna 2013-02-18 12:43:29