PDA

View Full Version : Innosetup #include not working from build script


wellilein
05-31-2010, 04:04 AM
I have a Visual Build script which builds my Innosetup installer (Setup.iss). Recently I added a backup/restore functionality which is realized as an inclusion of two additional ISS files using the preprocessor:

[Files]
#include <BackupFiles.iss>
...
[Code]
procedure ...
#include <RestoreFiles.iss>
end;

I can build the Setup.iss manually by opening the file and compiling. However, I can not build the file with Visual Build. The error message is:

Inno Setup 5 Command-Line Compiler
Copyright (C) 1997-2009 Jordan Russell. All rights reserved.
Portions by Martijn Laan
Inno Setup Preprocessor
Copyright (C) 2001-2002 Alex Yackimoff. All rights reserved.
Compiler engine version: Inno Setup 5.3.9 (u) - ISPP 5.3.9 (u)
[ISPP] Preprocessing.
Error on line 61 in P:\...\Setup.iss: [ISPP] File not found: "BackupFiles.iss".
Compile aborted.
Process completed with exit code 2

I am using InnoSetup 5.3.9 (u), preprocessor 5.3.9 (u) and Visual Build 6.7a. It might be a working directory issue, because the build script runs from a different location compared to manually compiling the Setup. But how can I set the working directory for the InnoSetup action?

wellilein
05-31-2010, 04:20 AM
If I move the build script to the same folder as the ISS script, it compiles.

kinook
06-01-2010, 12:02 PM
According to the IS docs, a relative path for #include is relative to the script file with the #include statement, but you can use a Set Current Dir action before the step if necessary.
http://www.kinook.com/VisBuildPro/Manual/setcurdiraction.htm

wellilein
06-02-2010, 01:57 AM
I reported this as a bug for the InnoSetup preprocessor at http://sourceforge.net/tracker/?func=detail&aid=3009405&group_id=65072&atid=509665.
It is quite easy to reproduce and I submitted files, so I hope it will be fixed.

Setting the current directory is also fine. I was fixed to the term "working directory", so I didn't find the step on my own. Thank you.