InstallAware and ContinuaCI
Posted: Mon Sep 14, 2015 12:48 am
Hi Support Team,
We use ContinuaCI to build our software.
During the build process with ContinuaCI the sources are checked out from the repository in a folder like C:\ContinuaCI\Agent\Ws\2222\MyProject. The entire build process is based on that folder. For example: the sources are checked out to C:\ContinuaCI\Agent\Ws\2222\MyProject\Source, the Binaries are build in C:\ContinuaCI\Agent\Ws\2222\MyProject\Bin. The number changes on any build.
My original files are located in C:\Program Files\MyProject. The Sources are in C:\Program Files\MyProject\Source, the Binaries are in C:\Program Files\MyProject\Bin.
My InstallAware Project is configured in the IDE (Setup Architecture / Files) to copy a file C:\Program Files\MyProject\Bin\SomeFile.exe to $TARGETDIR$.
When I build a Setup with the IDE, the Setup is correct.
When I build a Setup with ContinuaCI, the Setup is incorrect, because it uses (as defined) C:\Program Files\MyProject\Bin\SomeFile.exe, but it should use the shortly before new built Bin\SomeFile.exe from the folder C:\ContinuaCI\Agent\Ws\2222\MyProject.
I can solve this issue by defining relative paths in Setup Architecture / Files ("..\Bin\SomeFile.exe"). But this is very time-consuming and error-prone.
Is there a way to make the file specifications 'relative' by default?
Or can I change all file specifications by a specific mapping (e.g. change all "C:\Program Files\MyProject" to "C:\ContinuaCI\Agent\Ws\2222\MyProject")? Probably by command line?
I tried to use a Compiler Variable #ROOT# and set it to "C:\Program Files\MyProject". So I can set it via command line to "C:\ContinuaCI\Agent\Ws\2222\MyProject". But the file specification #ROOT#\bin is not recognized by InstallAware ("Error during build: Unable to copy file...").
Best regards
Michael
We use ContinuaCI to build our software.
During the build process with ContinuaCI the sources are checked out from the repository in a folder like C:\ContinuaCI\Agent\Ws\2222\MyProject. The entire build process is based on that folder. For example: the sources are checked out to C:\ContinuaCI\Agent\Ws\2222\MyProject\Source, the Binaries are build in C:\ContinuaCI\Agent\Ws\2222\MyProject\Bin. The number changes on any build.
My original files are located in C:\Program Files\MyProject. The Sources are in C:\Program Files\MyProject\Source, the Binaries are in C:\Program Files\MyProject\Bin.
My InstallAware Project is configured in the IDE (Setup Architecture / Files) to copy a file C:\Program Files\MyProject\Bin\SomeFile.exe to $TARGETDIR$.
When I build a Setup with the IDE, the Setup is correct.
When I build a Setup with ContinuaCI, the Setup is incorrect, because it uses (as defined) C:\Program Files\MyProject\Bin\SomeFile.exe, but it should use the shortly before new built Bin\SomeFile.exe from the folder C:\ContinuaCI\Agent\Ws\2222\MyProject.
I can solve this issue by defining relative paths in Setup Architecture / Files ("..\Bin\SomeFile.exe"). But this is very time-consuming and error-prone.
Is there a way to make the file specifications 'relative' by default?
Or can I change all file specifications by a specific mapping (e.g. change all "C:\Program Files\MyProject" to "C:\ContinuaCI\Agent\Ws\2222\MyProject")? Probably by command line?
I tried to use a Compiler Variable #ROOT# and set it to "C:\Program Files\MyProject". So I can set it via command line to "C:\ContinuaCI\Agent\Ws\2222\MyProject". But the file specification #ROOT#\bin is not recognized by InstallAware ("Error during build: Unable to copy file...").
Best regards
Michael