0

我想将我的程序移动到 USB 记忆棒。它只能在记忆棒上运行,不会被复制(用 C# 编写,有近 3GB 的数据库)。我在哪里可以找到一个好的来源和/或我该怎么做?

4

2 回答 2

1

你所描述的不能合理地完成。如果用户可以运行程序,他们就可以运行它。他们是否从您的 USB 记忆棒加载它并不重要。您可以编写它,假设它是从 USB 记忆棒运行的(根据@Kos 的评论,使用相对路径),但这绝不会阻止人们将它复制到他们的硬盘驱动器并运行它。由于您不知道 U 盘会提前安装在哪里,因此您甚至不能使用绝对路径。

于 2010-11-21T16:29:32.253 回答
1

请允许我不同意 nmichaels,如果您从可移动存储或硬盘驱动器运行,可以检查 C#。
检查此线程:如何检测任何特定驱动器是否为硬盘驱动器?
但是,将其反转并允许它在硬盘驱动器上运行太容易了。
作为额外的保护,您可以读取 USB 驱动器串行,如果不匹配,则终止程序。
或者......如果你想成为铁杆,使用特定的USB驱动器型号,并读取VID / PID,或芯片本身(检查量产工具)。
最后,如果该程序值得,仍然有人会反转它并破坏保护方案:)

于 2014-03-16T13:00:19.103 回答