Page 1 of 1

Problem with miabuild.exe run under CruiseControl.NET

Posted: Mon Jan 09, 2006 5:33 am
by n4solutions
We have a NAnt build script that is used manually and via CruiseControl.NET to automate builds. This runs miabuild.exe and works perfectly when run manually by a user - it doesn't work however when controlled by CruiseControl.NET, a failure is reported at almost the very end of the process:

Code: Select all

[exec] Copied assembly <...>
[exec] Created Windows Installer database
[exec] Built installation executable
[exec] Injected default setup language
[exec] Error during build: Unable to build runtime files: Archive handler not installed



Anyone have any idea what "Archive handler not installed" means?

Thanks, Andy.

Posted: Mon Jan 09, 2006 9:27 am
by MichaelNesmith
Hi Andy

That's an interesting report. I understand the archive handler is the part of InstallAware that utilizes supreme compression. It is extracted dynamically on-the-fly and registered with the system if it is not already found to exist. This process involves creating some registry keys and copying a couple of files. All of this is already done for you by the time you first launch the IDE, and the only exception would be if NAnt/CruiseControl.NET are running under a different user account. I believe this would be the cause of the problem here. Just log on under that user account, run the build process manually from the command line, that should create the registry keys and copy the archive handler files. From then on it should work well with NAnt/CruiseControl.NET. We have users who are successfully using NAnt (in fact one recommended it on these forums to other users), so you can try pinging them as well - I imagine they might have run into this issue before.

Re: Problem with miabuild.exe run under CC.NET [Fix]

Posted: Mon Jan 09, 2006 11:16 am
by n4solutions
Yes that seemed to be the problem, amending the CruiseControl.NET service to run as a user who had previously run the IDE instead of the local system fixed the problem.

Would be useful if this was mentioned in the readme somewhere. We think perhaps we might use regmon and filemon to work out what the changes are so that we can avoid this configuration step in future.

Thanks for the info, Andy.

Posted: Mon Jan 09, 2006 4:24 pm
by MichaelNesmith
Hi Andy

You could also run PackageAware, InstallAware's native tool for monitoring changes made to the system...it will also capture the information you need.