我有用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. 软件公司如何管理不同版本的程序?
- 4. 如何使用大量库管理CVS中的软件版本
- 5. Maven插件版本管理
- 6. 软件版本
- 7. 软件版本
- 8. 如何使用MSI在visual studio中创建我的软件的演示版本?
- 9. Eclipse软件管理
- 10. 配置管理中的版本管理
- 11. 管理InstallScript版本
- 12. PHP版本管理
- 13. Emacs的软件包管理
- 14. 软件包更新仅在软件包管理器中显示
- 15. 演示版本的应用程序
- 16. TFS 2017版本管理工件文件从版本控制
- 17. 用于Flash演示的文本语音软件
- 18. Alfresco内容管理演示内容
- 19. 工具来演示软件进度
- 20. 发布管理软件
- 21. 项目管理软件
- 22. TFS:管理组件版本号?
- 23. Javascript演示托管
- 24. 本地异常因子(LOF)软件/演示?
- 25. 好的文件管理软件
- 26. Visual studio Lightswitch - 版本管理
- 27. 文档版本管理
- 28. 使用SVN管理版本
- 29. subversion版本库管理
- 30. Haskell软件包版本
如果用户能够安装软件,则安装程序正在写入安装位置,安装程序也可以将许可证文件写入安装位置。你为什么会认为安装程序无法写入与可执行文件相同的位置? – 2013-02-18 12:00:27
对不起,我从用户的角度思考,即由应用程序创建。你没有指定安装程序。 – Deanna 2013-02-18 12:43:29