Inno Setupใช้ ภาษา Pascal การทำให้มี Custom page ทำโดย สร้าง Code ให้ Return ค่าจาก Page
โดยที่ ตัวแปรของ Page จะตามลำดับ Input 0..n
ในส่วนของ Registry ก็ให้ getค่ามาจาก page นี้ ValueData: "{code:GetInstallName}"
[Code]
var
UserInputsPage: TInputQueryWizardPage;
function GetUserName(Param: string): string;
begin
Result := UserInputsPage.Values[0];
end;
function GetUserCompany(Param: string): string;
begin
Result := UserInputsPage.Values[1];
end;
function GetUserEmail(Param: string): string;
begin
Result := UserInputsPage.Values[2];
end;
function GetUserSerialNo(Param: string): string;
begin
Result := UserInputsPage.Values[3];
end;
procedure InitializeWizard;
begin
{ Create the page }
UserInputsPage :=
CreateInputQueryPage(wpWelcome,
'User information', 'User Information',
'Please specify the following information, then click Next.');
UserInputsPage.Add('Name:', False);
UserInputsPage.Add('Company,Organization:', False);
UserInputsPage.Add('Email Name:', False);
UserInputsPage.Add('Serial Number:', False);
end;
[Registry]
Root: HKCU; Subkey: "Software\Power Partners\abc"; \
ValueType: string; ValueName: "Name"; ValueData: "{code:GetInstallName}"
Root: HKCU; Subkey: "Software\Power Partners\abc"; \
ValueType: string; ValueName: "UserCompany"; ValueData: "{code:GetUserCompany}"
Root: HKCU; Subkey: "Software\Power Partners\abc"; \
ValueType: string; ValueName: "UserEmail"; ValueData: "{code:GetUserEmail}"
Root: HKCU; Subkey: "Software\Power Partners\abc"; \
ValueType: string; ValueName: "sn"; ValueData: "{code:GetUserSerialNo}"
ไม่มีความคิดเห็น:
แสดงความคิดเห็น