2015-12-14 46 views
-1

所以可以說我有一個Inno Setup的文件(讓我們稱之爲master.iss)用這樣的文件部分:我想在包含文件中嵌套包含文件。爲什麼不能在Inno安裝程序中這樣做?

[Files] 
#include PathToIncludeFile\IncludeFile.iss 

該工程美觀大方。 IncludeFile.iss的內容被有效插入存在#includemaster.iss文件中。

所以,現在我想要#include文件的內容嵌套在更多的包括。所以IncludeFile.iss看起來是這樣的:

#include C:\PathToFile\FileWithRealFilesDataForProject1.iss 
#include C:\PathToFile\FileWithRealFilesDataForProject2.iss 
#include C:\PathToFile\FileWithRealFilesDataForProject3.iss 
#include C:\PathToFile\FileWithRealFilesDataForProject4.iss 
#include C:\PathToFile\FileWithRealFilesDataForProject5.iss 
#include C:\PathToFile\FileWithRealFilesDataForProject6.iss 

的Inno Setup的編譯Master.iss編譯器會說

(文件:PathToIncludeFile \ IncludeFile.iss \ n 1號線:\ N型柱11 :)
[ISSP] Undeclaired標識符C」

我想我可以做到什麼,我想用一個批處理文件或東西,但它會是一個很多直線前進,如果我能做到這一點與網元特德#include s。

BTW:我現在的Inno Setup的編譯器是5.5.6(U)

回答

1

您可以嵌套包含文件。


你的問題是,在Inno Setup的預處理器字符串文字必須用雙引號(或單引號)括起來,如:

#include "C:\PathToFile\FileWithRealFilesDataForProject1.iss" 

當你省略了引號,預處理器試圖將#include參數解釋爲表達式。因此它將C(主要字母數字序列)作爲標識符。

見Inno Setup的預處理documetation以下主題:


出於同樣的原因,您的主要包括,你有它在您的文章的方式,也不會編譯。你必須把它放在雙引號中。

對於此:

#include PathToIncludeFile\IncludeFile.iss 

我得到

[ISPP]未說明的標識符 「PathToIncludeFile」。

(預期)

+0

完全正確的,謝謝。 – amalgamate

相關問題