cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Brad_Peterson
Level 7

Agent object's IsConnected() is broken!

Our application uses a code only approach to determining if updates are available. When I wrote it, I used documentation examples. Part of the code was essentially copied and pasted the bottom example from the documentation, and thoroughly tested it before releasing it. The code in question is this:
Dim WithEvents pAgent As DWUpdateServiceLib.Agent

Set pAgent = New DWUpdateServiceLib.Agent
' AutoUpdate hangs if called with no Internet connection.
If (pAgent.IsConnected()) Then
If (pAgent.AutoUpdate("{C4091E43-4FC0-11D5-8C6C-00104B9747FA}", False)) Then
' Update is downloading and installing. When the update
' is finished, it raises the UpdateComplete event.
Else
MsgBox "No automatic update is available."
End If
End If

Private Sub pAgent_OnDownloadComplete(ByVal nResultCode As Long)
MsgBox "The automatic update is complete."
End Sub
It worked great when I released our products. But I just noticed a major problem. The IsConnected() method no longer works! All of our products use this method. I've tested it on several products on my computer, and on another computer as well. IsConnected() returns false even though it's clearly online. Also, the other function, IsConnectedEx() works fine and returns true, so the problem lies in whatever IsConnected() is doing.

I also noticed something else interesting. When I use a packet sniffer to see what my computer sends out when IsConnected() is called, I notice that it sends out a request to updates.installshield.com/file.bin, along with some cookie information. What I get back response from the Update Service servers, but it's a 404 error, with the page saying:

Notification Server Error

Error Code: (404):

Error Message:/file.bin

ocurred while accessing: /file.bin
(servlet: default)
What is interesting is that I've seen this before. rsknowles mentioned a problem about InstallShield not realizing a product has been registered with Update Service. I have that same problem. Now when I turned on my packet sniffer and hit the refesh button in InstallShield to see if it is registered, my packet sniffer showed the exact same thing as above. So, it appears these two problems are related. And since this problem has been happening for a while (I noticed it yesterday), I'd assume IsConnected() has been broken at least that long.

I'm very upset. :mad: We rely on Update Service to allow us to send critical updates to customers if needed. Had there been a major problem with an application on Tuesday, we could have been in some major trouble with customers not being able to get the update.

What makes it worse, is I kept things very simple. Our code only relies on 5 methods from the Agent object. But despite my attempts to keep things simple and use documented code, I've already run into 3 major problems. 1) Update Manager's several problems 2) Updates objects sporadically realize updates are available (I mentioned it in rsknowles problem) and now 3) IsConnected() is broken. I can definitely understand if I ran into one or two anomolies, but this is the third one! I'd like to be optimistic and hope this is the last problem I'll run into, but the track record over the last 2 months hasn't been promising.

I'm am absolutely sure that if our Update Service renewal contract was coming up, I'd dump Update Service immediately and write our own. However, we still have 10 months to go, so I'll stick it out a while longer and hope things improve. Also, I have submitted a mySupport request on the matter. I hope this gets resolved soon.
0 Kudos
(3) Replies
jtnprogram
Level 3

This is unbelievable. I'm just about to release update service to 10000+ machines. I'm going into final testing today and am seeing the same not connected error. What is going on? Also, what shall I tell management about Update Service? It works sometimes? :mad:
0 Kudos
Sunny_s
Level 6

Problem has been fixed, Thanks for your support.
0 Kudos
Brad_Peterson
Level 7

Sunny's wrote:
Problem has been fixed, Thanks for your support.
Sunny, thank you for the quick response and fix. Outside of buisiness hours no less. You are a great help to us.
0 Kudos