问题描述
我有这个定义:
#define HelpDocSetupFileSize FileSize("..\HelpNDoc\CHM\Output\MSAHelpDocumentationSetup.exe")
它通过查看计算机上的数据文件而不是远程处理来获得文件大小。我在Inno Setup Download插件中使用了该值,以指定要下载的文件的大小。
我正在为新的Inno Setup下载功能重写代码。我用于管理所有内容的代码(简化后)是:
function NextButtonClick(CurPageID: integer): boolean;
begin
Result := True;
if (CurPageID = wpReady) then
begin
DownloadPage.Clear;
if (WizardisTaskSelected('downloadhelp')) then
DownloadPage.Add('{#HelpDocSetupURL}','HelpDocSetup.exe','');
DownloadPage.Show;
try
try
DownloadPage.Download;
Result := True;
except
SuppressibleMsgBox(AddPeriod(GetExceptionMessage),mbCriticalError,MB_OK,IDOK);
Result := False;
end;
finally
DownloadPage.Hide;
end;
end;
end;
我在Add
的beta版中找不到任何文档,并且从样本中看,第三个和第四个参数不能提供文件大小。是第五吗?
对Add
参数的一些官方澄清表示赞赏。
解决方法
TDownloadWizardPage.Add
仅具有三个参数。
您不需要(也不能)预先指定文件大小。 Inno Setup会自行从Content-Length
HTTP标头中找出大小。