我正在尝试在 Setup Factory 中制作一个仅使用一次的序列号。

想法如下:

当用户输入序列号时,我的安装程序将检查并前进到下一页(如果序列号正确)..当它“插入序列号后”将用户传递到下一页时,该页面必须有一个名为“安装”的按钮现在'

当按下按钮 Install Now 时,它​​会执行一个查询,首先从这个列表中删除它然后安装应用程序的方法。


OnNext Action 中的代码:

-- These actions are performed when the Next button is clicked.

-- get the serial number that the user entered
local strSerial = SessionVar.Expand("%SerialNumber%");


-- Trim leading and trailing spaces from the serial number.
strSerial = String.TrimLeft(strSerial);
strSerial = String.TrimRight(strSerial);
SessionVar.Set("%SerialNumber%", strSerial);


-- the name of the serial number list you want to use, e.g. "Serial List 1"
-- (use nil to search through all of the serial number lists)
local strListName = nil;

-- from _SUF70_Global_Functions.lua:
-- search through the specified serial number list for a match
local bSerialIsValid = g_IsSerialNumberInList(strSerial, strListName);

-- if the user entered a valid serial number, proceed to the next screen,
-- otherwise display an error message and check whether they have any retries left
if(bSerialIsValid) then

    -- advance to the next screen
    Screen.Next();

else

    -- user entered an invalid serial number

    SerialNumberScreen.AttemptCount = SerialNumberScreen.AttemptCount + 1;

    -- display an 'Invalid serial number' message
    Dialog.Message(SetupData.GetLocalizedString("MSG_ERROR"), SetupData.GetLocalizedString("ERR_INVALID_SERIAL"));

    -- if the user is out of retries, exit the application
    if(SerialNumberScreen.AttemptCount >= SerialNumberScreen.MaxAttempts) then
        Application.Exit(0);
    end

end
  • 在这里可以生成序列号

  • lua - 每个用户的序列号-LMLPHP

    我想从这个列表中删除序列号。
  • 这里是序列号屏幕的 onNext 操作和代码:

  • lua - 每个用户的序列号-LMLPHP

    最佳答案

    您无法编辑已发布设置的项目设置。序列号被加密并嵌入安装程序中,然后可以对设置进行数字签名。无法在运行时编辑该文件。

    关于lua - 每个用户的序列号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45032604/

    10-13 05:06