代码之家  ›  专栏  ›  技术社区  ›  Run CMD

用于演示的“只读”、“不可移动”应用程序安装日期的存储位置

  •  2
  • Run CMD  · 技术社区  · 14 年前

    我必须在客户端PC上的某处存储一个演示安装日期。应用程序演示周期按安装日期计算。显然,用户不可能编辑或删除这个值。

    • 由于Citrix,我们无法使用HKLM注册表
    • 由于Vista,无法使用/程序文件
    • 由于Citrix,无法使用/文档和设置
    • 呃。。。还有什么东西。。。除了要求用户“选择要存储安装日期的位置”。:-)

    3 回复  |  直到 14 年前
        1
  •  2
  •   Andreas Dolk    14 年前

    您可以创建一个带有日期的简单文件,以及一些特定于机器的信息,并对其进行签名。

    规则是:如果文件存在 环境是正确的 日期还在将来,只有到那时演示才会开始。

    这样可以防止更改文件或使用来自其他计算机的文件。它不包括问题,可能会改变系统日期。。。


    关于卸载-用户可以保留它-它将一文不值的第二天后,演示期结束。

        2
  •  2
  •   Jacco    14 年前

    所以,有了这个要求,您唯一的选择就是将它存储在远程机器上,并通过某种网络连接访问它。

        3
  •  1
  •   Andreas Rejbrand    14 年前

    我可能会从两种可能性中选择一种:

    1. Andreas\u D建议的一个变体:安装后,创建一个 二元的 包含大量膨胀和安装日期的文件。这真的很容易实现。普通用户永远无法使用十六进制编辑器更新这样一个文件中的日期(不少于记事本,它会破坏文件,将其视为ANSI或UTF-8或。。。纯文本文件)。用户当然可以删除该文件,但是如果没有该文件,并且日期在正确的范围内,您的应用程序将无法启动。

    当然,这些方法中没有一种是安全的,不受系统范围内日期修改的影响,但是很少有用户希望用不正确的日期运行主计算机(此外,许多应用程序的日期不正确。)