怎么生成序列号我不知道,但如果有了序列号之后,要在安装过程中校验可这么做:
直接用InstallShield的显示用户信息对话框,当用户在此对话框中选择了下一步时,取得他输入的序列号,与你设定的序列号进行比较;或者你自己做一个对话框,来替换IS所提供的,这样更灵活。
自己做对话框一般是把它写到一个动态库中,然后在Installshield的脚本中调用动态库中输出的函数。这并不难

解决方案 »

  1.   

    需要修改setup.url。是install shield的脚本文件。如果
    做一个固定的序列号,我是这么修改的,就可以了:
    function DialogShowSdRegisterUserEx()
        NUMBER nResult;
        STRING szTitle, szMsg;
    begin
        svName    = "";
        svCompany = "";
        szTitle = "";
        szMsg   = "";
        svSerial="";
        nResult = SdRegisterUserEx( szTitle, szMsg, svName, svCompany, svSerial );
        if (svSerial!="2000") then
    if (nResult!=12) then
    nResult= 2;
    endif;
        endif;
        return nResult;
    end;ShowDialogs():    Dlg_SdRegisterUserEx:
        nResult = DialogShowSdRegisterUserEx();
        if (nResult = BACK) goto Dlg_SdShowInfoList;
        if (nResult=2) goto Dlg_SdRegisterUserEx;
      

  2.   

    可以按照某种算法(如用一个常数与采用随机数产生的数采取BITXOR,BITAND,bitor等)可以许多个系列号分发给用户,而在INSTALL SHIELD做的安装程序中根据不同的序列号进行解密与最初的常数进行比较