我必须分发使用innoSetup制作的setup.exe,每个用户和每台PC必须获得许可。
我想给他们一个许可证密钥/产品密钥,比如Windows 8.1,他们必须在InnoSetup中输入。并将其与嵌入式常量或互联网相匹配。验证完成后,setup.exe将完成,否则它将不会安装。
对于innosetup是否有任何样本,我该怎么办呢?
答案 0 :(得分:8)
要创建输入序列号的页面,您可以启用UserInfoPage
指令并为CheckSerial
事件编写处理程序:
#define SerialNumber "123456"
[Setup]
AppName=My Program
AppVersion=1.5
UserInfoPage=yes
DefaultDirName={pf}\My Program
[Code]
function CheckSerial(Serial: String): Boolean;
begin
Result := Serial = '{#SerialNumber}';
end;
我使用了预处理器定义的常量,因为它允许您简化构建过程。然后,您可以使用extended command line compiler
在脚本外部定义此类常量,例如一个批处理脚本,它将使用定义的序列号构建设置。
您只需从上述脚本中删除第一行(硬编码)行并运行如下命令行(序列号654321
):
iscc "/dSerialNumber=654321" "C:\Script.iss"
当然,实际上您需要注意输出设置文件及其序列号的管理,但您选择的系统就在您身上。 Command line compiler
允许您指定输出路径和一个足以构建此类系统的文件名。