Inno Setup 多版本选择安装页面 - 根据版本筛选文件
以下是一个使用 Inno Setup 编写的多版本选择的安装页面,并根据选择的版本名称将文件筛选出并复制到指定位置的示例代码:\n\npascal\n[Setup]\nAppName=MyApp\nAppVersion=1.0\nDefaultDirName={pf}\MyApp\nOutputDir=userdocs:Inno Setup Examples Output\n\n[Files]\nSource: "File1.exe"; DestDir: "{app}"; Components: Version1\nSource: "File2.exe"; DestDir: "{app}"; Components: Version2\nSource: "File3.exe"; DestDir: "{app}"; Components: Version3\n\n[Components]\nName: Version1; Description: "Version 1"\nName: Version2; Description: "Version 2"\nName: Version3; Description: "Version 3"\n\n[Code]\nvar\n VersionPage: TInputOptionWizardPage;\n SelectedVersion: string;\n\nprocedure InitializeWizard;\nbegin\n VersionPage := CreateInputOptionPage(wpSelectComponents, 'Select Version', 'Please select the version you want to install.', 'Select the version to install:', False, False);\n VersionPage.Add('Version 1');\n VersionPage.Add('Version 2');\n VersionPage.Add('Version 3');\nend;\n\nprocedure CurPageChanged(CurPageID: Integer);\nbegin\n if CurPageID = VersionPage.ID then\n begin\n if VersionPage.Values[0] then\n SelectedVersion := 'Version1'\n else if VersionPage.Values[1] then\n SelectedVersion := 'Version2'\n else if VersionPage.Values[2] then\n SelectedVersion := 'Version3';\n end;\nend;\n\nprocedure CurStepChanged(CurStep: TSetupStep);\nbegin\n if CurStep = ssInstall then\n begin\n if CompareText(SelectedVersion, 'Version1') = 0 then\n begin\n FileCopy(ExpandConstant('{src}\File1.exe'), ExpandConstant('{app}\File1.exe'), False);\n end\n else if CompareText(SelectedVersion, 'Version2') = 0 then\n begin\n FileCopy(ExpandConstant('{src}\File2.exe'), ExpandConstant('{app}\File2.exe'), False);\n end\n else if CompareText(SelectedVersion, 'Version3') = 0 then\n begin\n FileCopy(ExpandConstant('{src}\File3.exe'), ExpandConstant('{app}\File3.exe'), False);\n end;\n end;\nend;\n\n\n在上面的示例代码中,我们创建了一个名为VersionPage的TInputOptionWizardPage页面,用于选择安装的版本。根据用户选择的版本,我们将选定的文件复制到目标目录。请将示例代码中的文件名和目标目录更改为您实际使用的文件和目录。\n\n注意:此示例假定您有名为File1.exe、File2.exe和File3.exe的文件,并将它们与Version1、Version2和Version3组件相关联。请根据您的实际情况进行适当修改。
原文地址: https://www.cveoy.top/t/topic/pFQR 著作权归作者所有。请勿转载和采集!