2016-09-22 37 views
1

在我的腳本的頂部,我正在爲程序定義一個依賴項的版本號。Inno Setup:指令或參數「檢查」表達式錯誤:無效符號'。'找到

#define ProductTestsVer "4.13.0.128" 

我然後在Check函數使用Files區段內該標識符。

Source: src\ff\ProductTests.exe; DestDir: {app}; Check: RegCheck('Software\FFNVNTest\ProductTests', {#ProductTestsVer}); 

然後我嘗試使用Run部分中的相同Check功能,導致後續的錯誤:

Directive or parameter "Check" expression error: Invalid symbol '.' found.

我認爲我要麼做一個愚蠢的錯誤,或者你根本不能在Run部分使用標識符,但我高度懷疑它是前者。

謝謝。

回答

1

我不認爲你是對的。即使在[Files]部分中,該語法也不能(也不會)工作。使用最新的Inno Setup 5.5.9(Ansi和Unicode)進行測試。

如果選中預處理器的輸出,你會看到你的語法解析爲:

RegCheck('Software\FFNVNTest\ProductTests', 4.13.0.128); 

無效Pascal腳本代碼。你可能想:

RegCheck('Software\FFNVNTest\ProductTests', '4.13.0.128'); 

所以你需要使用:

RegCheck('Software\FFNVNTest\ProductTests', '{#ProductTestsVer}'); 
+0

謝謝馬丁,我知道我不能遠矣。我猜錯誤中的無效「。」是'4'和'13'之間的'.'。謝謝。 –

相關問題