2016-09-22 75 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'之间的'.'。谢谢。 –

相关问题