【问题标题】:How to restrict my exe to get installed only on specific computer?如何限制我的 exe 仅安装在特定计算机上?
【发布时间】:2019-04-20 21:02:13
【问题描述】:

我想限制我使用 launch4j 进行的设置,使其仅安装在特定计算机上。具体来说,我想获取计算机的 MAC 地址并检查它是否是特定计算机,然后允许它安装设置(或运行 exe)。

我在网上搜索过,但没找到解决办法

语言:java
IDE:NetBeans
可执行文件使用:Launch4j
安装程序由 Inno Setup Compiler 制作

【问题讨论】:

标签: java netbeans


【解决方案1】:

计算机可能没有网卡或有很多网卡,因此容易出现基于 MAC 地址的识别错误。

检索计算机上网络接口的 MAC 地址

Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();

while (networkInterfaces.hasMoreElements()) {
    NetworkInterface networkInterface = networkInterfaces.nextElement();

    System.out.println(networkInterface.getName() + " " +
        networkInterface.getDisplayName());
}

可以通过散列 MAC 的串联字符串来缓解许多 MAC 地址的问题。但是仍然存在没有现有 MAC 地址的问题。


另一种唯一识别计算机的可能性是散列它的一些内部规范,例如处理器序列号、处理器标识符、操作系统等。例如通过使用跨平台OSHI库。此解决方案不依赖于机器上现有的网络适配器。

【讨论】:

    猜你喜欢
    • 2014-05-18
    • 2016-07-13
    • 1970-01-01
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    相关资源
    最近更新 更多