Click Once Application install process
We have a click once application, that I have recently converted to be a TestedApp. We are hitting issues when we are installing a newer version.
I am calling TestedApps.App.Run(), and I can see the application start, but when there is a newer version, we will timeout waiting for the process to start. We have code to progress through the installation dialogs, but when the exe has not started in the timeout period, we will get an error message stating that the process did not start.
Is there anyway to suppress the error message that comes out.
Solved! Go to Solution.
You can either make your time out longer or you can make a little loop that looks for the process and if it doesn't find it, waits a bit and goes again, maybe with a message to the log. That gives you more control over the wait and what's logged, but you still don't want it to wait forever.
There's also WaitChild or WaitProperty or something similar.
sorry was away for a bit
The problem with having it in a loop, once the timeout expires, there is an error log message stating cannot find process x.
I am running it like so (process name has been omitted)
The timeout is set to 60 seconds.
Once the Run method is invoked, and there is a new version of our software on the server, I am getting the standard "Do you want to install this application" dialog.
We have code to handle that dialog, and it is called directly after the TestedApps.APPLICATION.Run() call, but I do not want to have the "Unable to run "APPLICATION.exe" error message.
If you don't want to show us details of your code and logs, then I suggest you contact Support directly. This is the link.
Otherwise, we can only guess at what's really happening from the few details you are providing that makes it difficult. How you are describing it and what is actually happening may be two different things and we can't help if we can't see.
TestedApps.Run has built into it that timeout to wait for the process.
Instead of using TestedApps.Run to run the application, you could use the Exec or Run method of WShell to execute the command line to launch the application and tell it to not wait for the command line to return. That way you could launch the application, put your own code in to check for the popup and process from there.
[Hall of Fame]
Please consider giving a Kudo if I write good stuff
Why automate? I do automated testing because there's only so much a human being can do and remain healthy. Sleep is a requirement. So, while people sleep, automation that I create does what I've described above in order to make sure that nothing gets past the final defense of the testing group.
I love good food, good books, good friends, and good fun.
Mysterious Gremlin Master
Vegas Thrill Rider
That is what we were doing, but recently we added CEF components to the WPF application, and from what support is telling/told me, i need to launch the application as a TestedApp to beable to view CEF components (and there is another bug where Click Once applications launched via TestedApps is still not able to see CEF, i have been told that is being fixed soon)
so it seems that I am in an interesting situation, where I need to launch the app via testedapps, but on the initial install of a new version, i will have to deal with an error message?
As a possible option, consider OnLogError() event handler to suppress this given error.
/Alex [Community Champion]
[Community Champions] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Champions]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Champion] signature is assigned on quarterly basis and is used with permission by SmartBear Software.