如何在安装程序中显示多个许可证
发布时间:2020-12-15 04:27:53 所属栏目:大数据 来源:网络整理
导读:我使用Inno Setup为我的程序创建安装程序.在我的程序中,我使用第三方库,因此我必须显示每个库的许可证信息. 我还希望安装程序将某些许可文件显示为所选语言. 如果我有1个许可证表单,我知道如何在许可证文件之间切换. 我已经整整一天看了谷歌,但没有找到任何
我使用Inno Setup为我的程序创建安装程序.在我的程序中,我使用第三方库,因此我必须显示每个库的许可证信息.
我还希望安装程序将某些许可文件显示为所选语言. 如果我有1个许可证表单,我知道如何在许可证文件之间切换. 我已经整整一天看了谷歌,但没有找到任何东西 如何显示多个许可证? 解决方法
您可以使用CreateOutputMsgMemoPage创建一个包含备忘录框的页面.然后,您可以调整大小调整并添加同意/不同意框.
; Shows a new license page for the LGPL with the usual accept/don't acccept options [Code] var LGPLPage: TOutputMsgMemoWizardPage; LGPLAccept: TNewRadioButton; LGPLRefuse: TNewRadioButton; procedure LGPLPageActivate(Sender: TWizardPage); forward; procedure LGPLAcceptClick(Sender: TObject); forward; procedure LGPL_InitializeWizard(); var LGPLText: AnsiString; begin // Create the page LGPLPage := CreateOutputMsgMemoPage(wpLicense,SetupMessage(msgWizardLicense),SetupMessage(msgLicenseLabel),CustomMessage('LGPLHeader'),''); // Adjust the memo and add the confirm/refuse options LGPLPage.RichEditViewer.Height := ScaleY(148); LGPLAccept := TNewRadioButton.Create(LGPLPage); LGPLAccept.Left := LGPLPage.RichEditViewer.Left; LGPLAccept.Top := LGPLPage.Surface.ClientHeight - ScaleY(41); LGPLAccept.Width := LGPLPage.RichEditViewer.Width; LGPLAccept.Parent := LGPLPage.Surface; LGPLAccept.Caption := SetupMessage(msgLicenseAccepted); LGPLRefuse := TNewRadioButton.Create(LGPLPage); LGPLRefuse.Left := LGPLPage.RichEditViewer.Left; LGPLRefuse.Top := LGPLPage.Surface.ClientHeight - ScaleY(21); LGPLRefuse.Width := LGPLPage.RichEditViewer.Width; LGPLRefuse.Parent := LGPLPage.Surface; LGPLRefuse.Caption := SetupMessage(msgLicenseNotAccepted); // Set the states and event handlers LGPLPage.OnActivate := @LGPLPageActivate; LGPLAccept.OnClick := @LGPLAcceptClick; LGPLRefuse.OnClick := @LGPLAcceptClick; LGPLRefuse.Checked := true; // Load the LGPL text into the new page ExtractTemporaryFile('lgpl-3.0.txt'); LoadStringFromFile(ExpandConstant('{tmp}/lgpl-3.0.txt'),LGPLText); LGPLPage.RichEditViewer.RTFText := LGPLText; end; procedure LGPLPageActivate(Sender: TWizardPage); begin WizardForm.NextButton.Enabled := LGPLAccept.Checked; end; procedure LGPLAcceptClick(Sender: TObject); begin WizardForm.NextButton.Enabled := LGPLAccept.Checked; end; [Files] Source: {#Common}Setupslgpl-3.0.txt; DestDir: {app}; Flags: ignoreversion [CustomMessages] LGPLHeader=Please read the following License Agreement. Some components are licensed under the GNU Lesser General Public License. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |