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
InstallAware and ContinuaCI
-
- Site Admin
- Posts: 5361
- Joined: Sun Aug 22, 2010 4:28 am
Re: InstallAware and ContinuaCI
Dear Michael,
it doesn't exist an option to set paths as 'relative' by default. The relative path has to be specified with the "install Files" command.
The only possible option, it's to use a CUSTOM COMPILER variable and then to use the same with your file paths.
E.g. #MYPATH#\Bin\SomeFile.exe
In this way MYPATH can be assigned from IA IDE (SHIFT+CTRL+F11 - then Compiler Variables) or passed as command line parameter to the MiaBuild tool.
However, you need to re-edit all the file paths defined with your project.
Hope this helps you.
Regards
it doesn't exist an option to set paths as 'relative' by default. The relative path has to be specified with the "install Files" command.
The only possible option, it's to use a CUSTOM COMPILER variable and then to use the same with your file paths.
E.g. #MYPATH#\Bin\SomeFile.exe
In this way MYPATH can be assigned from IA IDE (SHIFT+CTRL+F11 - then Compiler Variables) or passed as command line parameter to the MiaBuild tool.
However, you need to re-edit all the file paths defined with your project.
Hope this helps you.
Regards
Francesco Toscano
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
-
- Posts: 41
- Joined: Mon Apr 13, 2009 8:58 am
Re: InstallAware and ContinuaCI
Hi Francesco,
thank you for your answer.
Please read my last sentence from my initial post: using the compiler variable does not work, even if the file exists ("Error during build: Unable to copy file...").
Any idea? How can I help you to reproduce the error?
Best regards
Michael
thank you for your answer.
Please read my last sentence from my initial post: using the compiler variable does not work, even if the file exists ("Error during build: Unable to copy file...").
Any idea? How can I help you to reproduce the error?
Best regards
Michael
-
- Site Admin
- Posts: 5361
- Joined: Sun Aug 22, 2010 4:28 am
Re: InstallAware and ContinuaCI
Dear Micheal,
I used the approach described with my previous reply (#MYPATH#\Bin\SomeFile.exe) and worked fine.
You could try to send me a very "VERY" small project that replicates the issue.
Regards
I used the approach described with my previous reply (#MYPATH#\Bin\SomeFile.exe) and worked fine.
You could try to send me a very "VERY" small project that replicates the issue.
Regards
Francesco Toscano
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
-
- Posts: 41
- Joined: Mon Apr 13, 2009 8:58 am
Re: InstallAware and ContinuaCI
Hi Francesco,
Thank you for your answer. You're right. #ROOT# works well. Probably I inadvertently used %ROOT% or $ROOT$ as known from other products...
I was on my way to circumvent the manual re-edit of all paths by means of a FinalBuilder Project - until I recognized that IA provides via Project, File Paths the Refactor Paths feature which exactly provides what I need: replace paths by variables...
Best regards
Michael
Thank you for your answer. You're right. #ROOT# works well. Probably I inadvertently used %ROOT% or $ROOT$ as known from other products...
I was on my way to circumvent the manual re-edit of all paths by means of a FinalBuilder Project - until I recognized that IA provides via Project, File Paths the Refactor Paths feature which exactly provides what I need: replace paths by variables...

Best regards
Michael
-
- Site Admin
- Posts: 5361
- Joined: Sun Aug 22, 2010 4:28 am
Re: InstallAware and ContinuaCI

Francesco Toscano
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
-
- Posts: 41
- Joined: Mon Apr 13, 2009 8:58 am
Re: InstallAware and ContinuaCI
I'd like to share my now working solution to (with?) anyone who is interested and using FinalBuilder/ContinuaCI: I decided not to change the setup via 'Refactor Paths'. In case the project is changed via the IDE it is very likely that refactor paths is forgotten... In that case the build will fail. Therefore I leave the files as they are made by IDE.
- In ContinuaCI the files are checked out from repository to the workspace folder
- ContinuaCI starts a FinalBuilder project to create the setup (the root equivalent from the workspace is shipped as parameter)
- in the FinalBuilder Project a fileset is defined ("*.mia" and "*.mia.txt")
- for any file in the fileset the "Text Find / Replace" action ('Search in File' / 'write back to source file') changes any "C:\ProgramFiles\Company\Project\" to "#ROOT#\"
- the FinalBuilder InstallAware Action is invoked with the modified files and a Compiler Variable ROOT set to the provided root equivalent from the Agent Workspace
That way I do not take care about the #ROOT# replacement in the IDE and the build grabs the files from the ContinuaCI Agent Workspace instead of from C:\ProgramFiles\Company\Project.
Hope this info is helpful for someone...
Best regards
Michael
- In ContinuaCI the files are checked out from repository to the workspace folder
- ContinuaCI starts a FinalBuilder project to create the setup (the root equivalent from the workspace is shipped as parameter)
- in the FinalBuilder Project a fileset is defined ("*.mia" and "*.mia.txt")
- for any file in the fileset the "Text Find / Replace" action ('Search in File' / 'write back to source file') changes any "C:\ProgramFiles\Company\Project\" to "#ROOT#\"
- the FinalBuilder InstallAware Action is invoked with the modified files and a Compiler Variable ROOT set to the provided root equivalent from the Agent Workspace
That way I do not take care about the #ROOT# replacement in the IDE and the build grabs the files from the ContinuaCI Agent Workspace instead of from C:\ProgramFiles\Company\Project.
Hope this info is helpful for someone...
Best regards
Michael
Who is online
Users browsing this forum: Bing [Bot] and 134 guests