我正在尝试在 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 - 每个用户的序列号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45032604/