2011-12-12 171 views
4

我使用Inno Setup 5.4.2(a)創建引導程序。現在我終於明白了,所以基於選擇的組件,引導程序會爲組件下載所需的文件,然後安裝它們。Inno Setup - 基於任務或組件的條件下載

但是,因爲需要下載組件文件,所以需要顯示0.1 MB的磁盤空間,我希望它在選擇組件屏幕中顯示要下載的每個單獨文件大小。

我使用InnoTools下載從http://www.sherlocksoftware.org和我設置了功能獲得文件大小:

[Code] 
var 
    setup: Double; 
    drivers: Double; 

function ITD_GetFileSize(const url: string; var size:cardinal): boolean; 
procedure InitializeWizard(); 
begin 
itd_init; 
ITD_GetFileSize('http://www.domain.com/file1.exe',setup); 
ITD_GetFileSize('http://www.domain.com/drivers.exe',drivers); 
end; 

這些文件的組件後選擇(當然)下載。翻譯文件,我發現

ComponentSize1=%1 KB 
ComponentSize2=%1 MB 

我一直對我怎樣才能讓這個文件的大小設置正確,但似乎無法找到它尋找一個方法。使用自定義消息,我可能可以設置一次,但它不會對兩個文件都有效。我找不到任何使用自定義消息來傳遞變量的例子。任何機構能幫助我解決這個問題嗎?

感謝

回答

0

使用ExtraDiskSpaceRequired參數的[Components]項指定由外部組件所需的任何空間。

+0

謝謝,這確實是'a'解決方案,但它不會設置單個組件的大小,也不會在組件樣式中顯示它。所以不是真正的解決方案,我正在尋找..我有文件大小都在一個變量..必須有一些方法來使用這些自定義消息或類似的東西 – stevesrs

+0

你是什麼意思,它不會設置個別組件的大小?我指出的參數特定於單個的組件。您可以通過創建自己的標籤或替換現有標籤來使用自定義消息。 – Deanna

+0

根據inno安裝程序幫助: 描述: 通常,嚮導上顯示的磁盤空間要求是通過在[文件]部分中添加所有文件的大小來計算的。如果您想出於任何原因增加磁盤空間顯示,請將ExtraDiskSpaceRequired設置爲您希望添加到此數字的字節數。 (1048576字節= 1兆字節) 這並沒有提到關於設置每個組件或如何設置的任何內容。 我想要完成的是,在'選擇組件'屏幕中,它顯示了2個組件(在右側)在實際下載之前的大小。 – stevesrs