inno中的组件选择默认就可以实现组件选择效果
不至这么复杂还要利用Code来选择文件
偶提供一个自定义名称的组件选择,脚本如下:
QUOTE
[Setup]
AppName=SoftPerfect Bandwidth Manager Lite
AppVerName=SoftPerfect Bandwidth Manager Lite 2.9.10
DefaultDirName={pf}\SoftPerfect Bandwidth Manager
DefaultGroupName=SoftPerfect Bandwidth Manager
OutputBaseFilename=SBML_setup
OutputDir=E:\Hanzify\Han-封包
Compression=lzma
ArchitecturesAllowed=x86 x64
ArchitecturesInstallIn64BitMode=x64
LicenseFile=E:\Hanzify\Han-封包\Network\Bandwidth Manager\{app}\汉化说明.txt
SetupIconFile=E:\Hanzify\Han-封包\Resources\Ico\FlashPlayer Plus.ico
WizardImageFile=embedded\WizardImage.bmp
WizardSmallImageFile=embedded\WizardSmallImage.bmp
[Files]
Source: "{app}\bwm.exe"; DestDir: "{app}"; Components: gui; MinVersion: 0.0,5.0; Flags: ignoreversion
Source: "{app}\汉化说明.txt"; DestDir: "{app}";Components: gui; MinVersion: 0.0,5.0; Flags: ignoreversion
Source: "{app}\bwm.chm"; DestDir: "{app}"; Components: gui; MinVersion: 0.0,5.0; Flags: ignoreversion
Source: "{app}\bwmsvc.exe"; DestDir: "{app}"; Components: svc; MinVersion: 0.0,5.0; Flags: restartreplace ignoreversion
Source: "{app}\ndisapi.dll"; DestDir: "{app}"; Components: svc; MinVersion: 0.0,5.0; Flags: restartreplace ignoreversion
Source: "{sys}\Drivers\spfdrv.sys"; DestDir: "{sys}\Drivers"; Components: svc; Check: "not Is64BitInstallMode"; MinVersion: 0.0,5.0; OnlyBelowVersion: 0.0,5.01; Flags: ignoreversion
Source: "{app}\spfdrv,1.sys"; DestDir: "{app}"; DestName: "spfdrv.sys"; Components: svc; Check: "not Is64BitInstallMode"; MinVersion: 0.0,5.01; Flags: restartreplace ignoreversion
Source: "{app}\snetcfg,1.exe"; DestDir: "{app}"; DestName: "snetcfg.exe"; Components: svc; Check: "not Is64BitInstallMode"; MinVersion: 0.0,5.01; Flags: ignoreversion
Source: "{app}\spfdrv,1.inf"; DestDir: "{app}"; DestName: "spfdrv.inf"; Components: svc; Check: "not Is64BitInstallMode"; MinVersion: 0.0,5.01;
Source: "{app}\spfdrv_m,1.inf"; DestDir: "{app}"; DestName: "spfdrv_m.inf"; Components: svc; Check: "not Is64BitInstallMode"; MinVersion: 0.0,5.01;
Source: "{app}\spfdrv,2.sys"; DestDir: "{app}"; DestName: "spfdrv.sys"; Components: svc; Check: "Is64BitInstallMode"; MinVersion: 0.0,5.01; Flags: restartreplace ignoreversion
Source: "{app}\snetcfg,2.exe"; DestDir: "{app}"; DestName: "snetcfg.exe"; Components: svc; Check: "Is64BitInstallMode"; MinVersion: 0.0,5.01; Flags: ignoreversion
Source: "{app}\spfdrv,2.inf"; DestDir: "{app}"; DestName: "spfdrv.inf"; Components: svc; Check: "Is64BitInstallMode"; MinVersion: 0.0,5.01;
Source: "{app}\spfdrv_m,2.inf"; DestDir: "{app}"; DestName: "spfdrv_m.inf"; Components: svc; Check: "Is64BitInstallMode"; MinVersion: 0.0,5.01;
Source: "{app}\drvsign,1.exe"; DestDir: "{app}"; DestName: "drvsign.exe"; Components: svc; Check: "Is64BitInstallMode"; MinVersion: 0.0,5.01; OnlyBelowVersion: 0.0,6.0; Flags: deleteafterinstall ignoreversion
Source: "{app}\drvsign,2.exe"; DestDir: "{app}"; DestName: "drvsign.exe"; Components: svc; Check: "not Is64BitInstallMode"; MinVersion: 0.0,5.01; OnlyBelowVersion: 0.0,6.0; Flags: deleteafterinstall ignoreversion
[Types]
Name: "custom"; Description: "安装组件"; MinVersion: 0.0,5.0; Flags: iscustom
[Components]
Name: "svc"; Description: "系统服务"; Types: "custom"; MinVersion: 0.0,5.0;
Name: "gui"; Description: "控制工具 (GUI 前端)"; Types: "custom"; MinVersion: 0.0,5.0;
[Registry]
Root: HKLM; Subkey: "System\CurrentControlSet\Services\SPFDRV"; ValueName: "Type"; ValueType: Dword; ValueData: "$1"; Components: svc; MinVersion: 0.0,5.0; OnlyBelowVersion: 0.0,5.01; Flags: uninsdeletekey
Root: HKLM; Subkey: "System\CurrentControlSet\Services\SPFDRV"; ValueName: "Group"; ValueType: String; ValueData: "Streams Drivers"; Components: svc; MinVersion: 0.0,5.0; OnlyBelowVersion: 0.0,5.01; Flags: uninsdeletevalue
Root: HKLM; Subkey: "System\CurrentControlSet\Services\SPFDRV"; ValueName: "Start"; ValueType: Dword; ValueData: "$1"; Components: svc; MinVersion: 0.0,5.0; OnlyBelowVersion: 0.0,5.01; Flags: uninsdeletevalue
Root: HKLM; Subkey: "System\CurrentControlSet\Services\SPFDRV"; ValueName: "ErrorControl"; ValueType: Dword; ValueData: "$1"; Components: svc; MinVersion: 0.0,5.0; OnlyBelowVersion: 0.0,5.01; Flags: uninsdeletevalue
[Run]
Filename: "{app}\bwmsvc.exe"; Parameters: "/sinstall"; WorkingDir: "{app}"; StatusMsg: "正在安装服务..."; Components: svc; MinVersion: 0.0,5.0;
Filename: "{app}\drvsign.exe"; Parameters: "/off"; StatusMsg: "正在禁用未指派的驱动警告..."; Components: svc; MinVersion: 0.0,5.01; OnlyBelowVersion: 0.0,6.0;
Filename: "{app}\snetcfg.exe"; Parameters: "-v -l spfdrv.inf -m spfdrv_m.inf -c s -i nt_spfdrv"; StatusMsg: "正在安装 x86 NDIS IM 网络驱动..."; Components: svc; Check: "not Is64BitInstallMode"; MinVersion: 0.0,5.01;
Filename: "{app}\snetcfg.exe"; Parameters: "-v -l spfdrv.inf -m spfdrv_m.inf -c s -i nt_spfdrv"; StatusMsg: "正在安装 x64 NDIS IM 网络驱动..."; Components: svc; Check: "Is64BitInstallMode"; MinVersion: 0.0,5.01;
Filename: "{app}\drvsign.exe"; Parameters: "/on"; StatusMsg: "正在启用未指派的驱动警告..."; Components: svc; MinVersion: 0.0,5.01; OnlyBelowVersion: 0.0,6.0;
Filename: "{app}\bwm.exe"; Description:"运行程序(&R)"; Flags: nowait postinstall shellexec
Filename: "{app}\汉化说明.txt"; Description:"汉化说明(&R)"; Flags: nowait postinstall shellexec
[UninstallRun]
Filename: "{app}\bwmsvc.exe"; Parameters: "/suninstall"; WorkingDir: "{app}"; StatusMsg: "正在卸载服务..."; Components: svc; MinVersion: 0.0,5.0;
Filename: "{app}\snetcfg.exe"; Parameters: "-v -u nt_spfdrv"; StatusMsg: "正在卸载 x86 NDIS IM 网络驱动..."; Components: svc; Check: "not Is64BitInstallMode"; MinVersion: 0.0,5.01;
Filename: "{app}\snetcfg.exe"; Parameters: "-v -u nt_spfdrv"; StatusMsg: "正在卸载 x64 NDIS IM 网络驱动..."; Components: svc; Check: "Is64BitInstallMode"; MinVersion: 0.0,5.01;
[Icons]
Name: "{group}\运行程序"; Filename: "{app}\bwm.exe"; Components: gui; MinVersion: 0.0,5.0;
Name: "{group}\汉化说明"; Filename: "{app}\汉化说明.txt"; Components: gui; MinVersion: 0.0,5.0;
Name: "{group}\卸载程序"; Filename: "{uninstallexe}"; Components: gui; MinVersion: 0.0,5.0;
Name: "{group}\用户手册"; Filename: "{app}\bwm.chm"; Components: gui; MinVersion: 0.0,5.0;
Name: "{userdesktop}\SoftPerfect BWM"; Filename: "{app}\bwm.exe"; Components: gui; MinVersion: 0.0,5.0;
[UninstallDelete]
Name: {app}; Type: filesandordirs
预览效果图:
[attachmentid=26883]