1
Automation Interface, Add-Ins and Tools / Re: Generating HTML reports from a service
« on: March 06, 2012, 01:49:54 am »
Just in case anyone else runs into the same problem, I wanted to follow up with what I did to solve it. It is not an ideal solution (in fact it is kind of gross), but it works for us. Our use case was to have the documentation be automatically generated and published as part of our continuous integration build (using TeamCity).
The problem appears to be that EA (or at least some methods in the Interop.EA dll) will not function unless being called by a user with an interactive session.
What I did to solve it was to disable the TeamCity build agent service, create a script that started the agent whenever the build agent user logs in, and have the build agent user automatically log in when the system starts. It's silly and stupid, but it works.
Between diagnosing the problem and devising a solution that worked with our local group policies, I wound up wasting a lot of time. I'm not sure if this is a bug, but it would have been really nice if there was documentation somewhere that says that the Repository.OpenFile method doesn't work at all unless it is called from a process running in an interactive session. Hopefully anyone else having the same issue finds this post and winds up not having to spend the time I did.
The problem appears to be that EA (or at least some methods in the Interop.EA dll) will not function unless being called by a user with an interactive session.
What I did to solve it was to disable the TeamCity build agent service, create a script that started the agent whenever the build agent user logs in, and have the build agent user automatically log in when the system starts. It's silly and stupid, but it works.
Between diagnosing the problem and devising a solution that worked with our local group policies, I wound up wasting a lot of time. I'm not sure if this is a bug, but it would have been really nice if there was documentation somewhere that says that the Repository.OpenFile method doesn't work at all unless it is called from a process running in an interactive session. Hopefully anyone else having the same issue finds this post and winds up not having to spend the time I did.